]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/parser.cpp
Add support for storage images in shaders
[libs/gl.git] / source / glsl / parser.cpp
index 8c10c443002e130fa01f42b32ceb18cbe5f4d772..d210cee9fe7d97c97dc48e90ec2f3b43ec6a6209 100644 (file)
@@ -707,6 +707,8 @@ RefPtr<ImageTypeDeclaration> Parser::parse_image_type_declaration()
                        type->sampled = true;
                else if(token=="shadow")
                        type->shadow = true;
+               else if(token=="multisample")
+                       type->multisample = true;
                else
                        throw parse_error(tokenizer.get_location(), token, "image type attribute");
 
@@ -851,7 +853,11 @@ RefPtr<StructDeclaration> Parser::parse_interface_block()
                if(check("["))
                {
                        var->array = true;
-                       tokenizer.expect("]");
+                       if(!check("]"))
+                       {
+                               var->array_size = parse_expression();
+                               tokenizer.expect("]");
+                       }
                }
                tokenizer.expect(";");
        }