summaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl/glsl_parser.yy
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/glsl/glsl_parser.yy')
-rw-r--r--src/compiler/glsl/glsl_parser.yy13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/compiler/glsl/glsl_parser.yy b/src/compiler/glsl/glsl_parser.yy
index f0f212c1722..a96989bee9b 100644
--- a/src/compiler/glsl/glsl_parser.yy
+++ b/src/compiler/glsl/glsl_parser.yy
@@ -2942,8 +2942,10 @@ layout_out_defaults:
_mesa_glsl_error(&@1, state, "duplicate layout(...) qualifiers");
YYERROR;
} else {
- if (!state->out_qualifier->
- merge_out_qualifier(& @1, state, $1, $$, false)) {
+ if (!$1.validate_out_qualifier(& @1, state)) {
+ YYERROR;
+ }
+ if (!$1.merge_into_out_qualifier(& @1, state, $$, false)) {
YYERROR;
}
$$ = $2;
@@ -2952,9 +2954,12 @@ layout_out_defaults:
| layout_qualifier OUT_TOK ';'
{
$$ = NULL;
- if (!state->out_qualifier->
- merge_out_qualifier(& @1, state, $1, $$, true))
+ if (!$1.validate_out_qualifier(& @1, state)) {
YYERROR;
+ }
+ if (!$1.merge_into_out_qualifier(& @1, state, $$, true)) {
+ YYERROR;
+ }
}
;