glsl: reject format qualifiers with non-image types everywhere
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 1 May 2017 10:34:42 +0000 (12:34 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 4 May 2017 12:01:56 +0000 (14:01 +0200)
Including structures, interfaces and uniform blocks.

Fixes the following ARB_shader_image_load_store test:

format-layout-with-non-image-type.frag

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/compiler/glsl/ast_to_hir.cpp

index 558cafb7084594d6b005661360d9b1744a9f4f21..e5604a10acd21ee85f1b134baccc8826f86d0489 100644 (file)
@@ -6894,6 +6894,8 @@ ast_process_struct_or_iface_block_members(exec_list *instructions,
                           "to struct or interface block members");
       }
 
+      validate_image_format_qualifier_for_type(state, &loc, qual, decl_type);
+
       /* From Section 4.4.2.3 (Geometry Outputs) of the GLSL 4.50 spec:
        *
        *   "A block member may be declared with a stream identifier, but