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.pitoi...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev