From 89f75e7e7b3ba96f715fb5c2878e3f88036a6533 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 15 Jul 2013 16:11:00 -0700 Subject: [PATCH] glsl: Disable ordering checks on most qualifiers for 420pack. This makes the compiler accept invariant, storage, layout, and interpolation qualifiers in any order when ARB_shading_language_420pack is enabled. Signed-off-by: Kenneth Graunke Reviewed-by: Matt Turner --- src/glsl/glsl_parser.yy | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy index 72bf560f07e..c31f5e26481 100644 --- a/src/glsl/glsl_parser.yy +++ b/src/glsl/glsl_parser.yy @@ -1369,7 +1369,7 @@ type_qualifier: "with layout(...).\n"); } - if ($2.flags.q.invariant) { + if (!state->ARB_shading_language_420pack_enable && $2.flags.q.invariant) { _mesa_glsl_error(&@1, state, "Interpolation qualifiers must come " "after \"invariant\".\n"); } @@ -1409,7 +1409,8 @@ type_qualifier: if ($2.has_storage()) _mesa_glsl_error(&@1, state, "Duplicate storage qualifier.\n"); - if ($2.flags.q.invariant || $2.has_interpolation() || $2.has_layout()) { + if (!state->ARB_shading_language_420pack_enable && + ($2.flags.q.invariant || $2.has_interpolation() || $2.has_layout())) { _mesa_glsl_error(&@1, state, "Storage qualifiers must come after " "invariant, interpolation, and layout qualifiers.\n"); } -- 2.30.2