[Mesa-dev] [PATCH 3/3] glsl: reject image qualifiers with non-image types inside uniform blocks

Samuel Pitoiset samuel.pitoiset at gmail.com
Wed Apr 26 16:50:16 UTC 2017


Interface blocks don't allow to declare opaque types and atomic
counters/images are forbidden inside structures.

Fixes format-layout-with-non-image-type.frag and
memory-qualifier-with-non-image-type.frag.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/compiler/glsl/ast_to_hir.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index a1463c38c8..6b6be818b3 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -6890,6 +6890,8 @@ ast_process_struct_or_iface_block_members(exec_list *instructions,
                           "to struct or interface block members");
       }
 
+      validate_image_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
-- 
2.12.2



More information about the mesa-dev mailing list