summaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl/glsl_parser.yy
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2016-05-23 15:55:06 +1000
committerDave Airlie <[email protected]>2016-05-23 16:20:01 +1000
commit3466db396938751d8db28dd68d2fed80f526a0f4 (patch)
tree220cc4de9dc0b8d6f2879a2933535b0103f8795f /src/compiler/glsl/glsl_parser.yy
parentaaa69c79cd584db4d9c6ea7794e93d29f3d54572 (diff)
glsl/parser: handle multiple layout sections with AST nodes.
For geometry/compute inputs and tess control outputs, we create an AST node to keep track of some things. However if we have multiple layout sections, we don't ever link the node into the AST. This is because we create the node on the rightmost layout declaration and don't pass it back in so it gets linked at the end of the parsing of the rightmost. Reviewed-by: Timothy Arceri <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/compiler/glsl/glsl_parser.yy')
-rw-r--r--src/compiler/glsl/glsl_parser.yy2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/glsl/glsl_parser.yy b/src/compiler/glsl/glsl_parser.yy
index 09e346da164..3885688d9b8 100644
--- a/src/compiler/glsl/glsl_parser.yy
+++ b/src/compiler/glsl/glsl_parser.yy
@@ -2859,6 +2859,7 @@ layout_in_defaults:
merge_in_qualifier(& @1, state, $1, $$, false)) {
YYERROR;
}
+ $$ = $2;
}
}
| layout_qualifier IN_TOK ';'
@@ -2883,6 +2884,7 @@ layout_out_defaults:
merge_out_qualifier(& @1, state, $1, $$, false)) {
YYERROR;
}
+ $$ = $2;
}
}
| layout_qualifier OUT_TOK ';'