glsl: handle ast_aggregate in has_sequence_subexpression. (v2)
authorDave Airlie <airlied@redhat.com>
Tue, 3 May 2016 07:16:27 +0000 (17:16 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 6 Jun 2016 02:54:19 +0000 (12:54 +1000)
GL43-CTS.compute_shader.work-group-size does
uniform uint g_uniform[gl_WorkGroupSize.z + 20] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 };

The initializer triggers the GLSL 4.30/GLES3 tests
for constant sequence subexpressions, so it doesn't
happen unless you are using those, so just return
false as this path is now reachable.

v2: update commit msg with diagnosis
Acked-by: Timothy Arceri <timothy.arceri@collabora.com>
Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/compiler/glsl/ast_to_hir.cpp

index 400d3c4e90857dfb285e792f2322e80d43392463..b7192b29f2db7862534a170593e44c60b5bd1d2f 100644 (file)
@@ -2100,7 +2100,7 @@ ast_expression::has_sequence_subexpression() const
       return false;
 
    case ast_aggregate:
-      unreachable("ast_aggregate: Should never get here.");
+      return false;
 
    case ast_function_call:
       unreachable("should be handled by ast_function_expression::hir");