[Mesa-dev] [PATCH 05/14] glsl: Disable ordering checks on most qualifiers for 420pack.

Kenneth Graunke kenneth at whitecape.org
Mon Jul 15 19:32:07 PDT 2013


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 <kenneth at whitecape.org>
---
 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 72bf560..c31f5e2 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");
       }
-- 
1.8.3.2



More information about the mesa-dev mailing list