diff options
author | Timothy Arceri <[email protected]> | 2015-06-06 09:10:55 +1000 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2015-10-15 21:42:24 +1100 |
commit | 8da9e154b7a2463369b32a10742af3a5695eb2ab (patch) | |
tree | e30950943935cd93f84b89b6136f022842b9f1c7 /src/glsl/glsl_parser.yy | |
parent | f22b7933e2e9c31b3730f5b1d9c060d2e1377d20 (diff) |
glsl: Allow arrays of arrays in GLSL ES 3.10 and GLSL 4.30
V3: use a check_*_allowed style function for requirements checking
rather than has_* which doesn't encapsulate the error message
V2: add missing 's' to the extension name in error messages
and add decimal place in version string
Reviewed-by: Marta Lofstedt <[email protected]>
Diffstat (limited to 'src/glsl/glsl_parser.yy')
-rw-r--r-- | src/glsl/glsl_parser.yy | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy index 16c91710bbb..cd00f6e085b 100644 --- a/src/glsl/glsl_parser.yy +++ b/src/glsl/glsl_parser.yy @@ -1978,25 +1978,18 @@ array_specifier: void *ctx = state; $$ = $1; - if (!state->ARB_arrays_of_arrays_enable) { - _mesa_glsl_error(& @1, state, - "GL_ARB_arrays_of_arrays " - "required for defining arrays of arrays"); + if (state->check_arrays_of_arrays_allowed(& @1)) { + $$->add_dimension(new(ctx) ast_expression(ast_unsized_array_dim, NULL, + NULL, NULL)); } - $$->add_dimension(new(ctx) ast_expression(ast_unsized_array_dim, NULL, - NULL, NULL)); } | array_specifier '[' constant_expression ']' { $$ = $1; - if (!state->ARB_arrays_of_arrays_enable) { - _mesa_glsl_error(& @1, state, - "GL_ARB_arrays_of_arrays " - "required for defining arrays of arrays"); + if (state->check_arrays_of_arrays_allowed(& @1)) { + $$->add_dimension($3); } - - $$->add_dimension($3); } ; |