Mesa (master): glsl: Allow `precise` as a parameter qualifier

Chris Forbes chrisf at kemper.freedesktop.org
Wed Jun 4 07:09:32 UTC 2014


Module: Mesa
Branch: master
Commit: 345034869eb8be30f0508f58e7ec0f4de2423de3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=345034869eb8be30f0508f58e7ec0f4de2423de3

Author: Chris Forbes <chrisf at ijw.co.nz>
Date:   Sun Apr 27 16:03:56 2014 +1200

glsl: Allow `precise` as a parameter qualifier

Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>

---

 src/glsl/glsl_parser.yy |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy
index ba6bfa1..eddab05 100644
--- a/src/glsl/glsl_parser.yy
+++ b/src/glsl/glsl_parser.yy
@@ -931,14 +931,22 @@ parameter_qualifier:
       $$ = $2;
       $$.flags.q.constant = 1;
    }
+   | PRECISE parameter_qualifier
+   {
+      if ($2.flags.q.precise)
+         _mesa_glsl_error(&@1, state, "duplicate precise qualifier");
+
+      $$ = $2;
+      $$.flags.q.precise = 1;
+   }
    | parameter_direction_qualifier parameter_qualifier
    {
       if (($1.flags.q.in || $1.flags.q.out) && ($2.flags.q.in || $2.flags.q.out))
          _mesa_glsl_error(&@1, state, "duplicate in/out/inout qualifier");
 
       if (!state->ARB_shading_language_420pack_enable && $2.flags.q.constant)
-         _mesa_glsl_error(&@1, state, "const must be specified before "
-                          "in/out/inout");
+         _mesa_glsl_error(&@1, state, "in/out/inout must come after const "
+                                      "or precise");
 
       $$ = $1;
       $$.merge_qualifier(&@1, state, $2);




More information about the mesa-commit mailing list