diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2012-11-19 22:36:28 -0800 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2012-11-26 21:02:45 -0800 |
commit | 9bc9895c4a608e475f241d2c16dc88e40ea702d7 (patch) | |
tree | a14826d6bd7859a0bef248dce052af265746b414 /src | |
parent | 9136723214136a95a3c915d580943c888cd99503 (diff) | |
download | external_mesa3d-9bc9895c4a608e475f241d2c16dc88e40ea702d7.zip external_mesa3d-9bc9895c4a608e475f241d2c16dc88e40ea702d7.tar.gz external_mesa3d-9bc9895c4a608e475f241d2c16dc88e40ea702d7.tar.bz2 |
glsl: Support unsigned integer constants in layout qualifiers.
Fixes es3conform's explicit_attrib_location_integer_constants.
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-and-tested-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/glsl/glsl_parser.yy | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy index a066506..407dbbe 100644 --- a/src/glsl/glsl_parser.yy +++ b/src/glsl/glsl_parser.yy @@ -238,6 +238,7 @@ static void yyerror(YYLTYPE *loc, _mesa_glsl_parse_state *st, const char *msg) %type <node> conditionopt %type <node> for_init_statement %type <for_rest_statement> for_rest_statement +%type <n> integer_constant %% translation_unit: @@ -1122,6 +1123,10 @@ layout_qualifier_id_list: } ; +integer_constant: + INTCONSTANT { $$ = $1; } + | UINTCONSTANT { $$ = $1; } + layout_qualifier_id: any_identifier { @@ -1191,7 +1196,7 @@ layout_qualifier_id: YYERROR; } } - | any_identifier '=' INTCONSTANT + | any_identifier '=' integer_constant { memset(& $$, 0, sizeof($$)); |