diff options
author | Chris Forbes <chrisf@ijw.co.nz> | 2014-04-27 16:03:56 +1200 |
---|---|---|
committer | Chris Forbes <chrisf@ijw.co.nz> | 2014-06-04 18:56:09 +1200 |
commit | 345034869eb8be30f0508f58e7ec0f4de2423de3 (patch) | |
tree | d9c127ba6d73ac22fb59c1b60549acb8f2a48abd /src/glsl/glsl_parser.yy | |
parent | d0495c6db8406131888cc263aa53ecd3e8b3ea6d (diff) |
glsl: Allow `precise` as a parameter qualifier
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Diffstat (limited to 'src/glsl/glsl_parser.yy')
-rw-r--r-- | src/glsl/glsl_parser.yy | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy index ba6bfa1e1f..eddab0518e 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); |