From: Dave Airlie Date: Mon, 23 May 2016 05:55:06 +0000 (+1000) Subject: glsl/parser: handle multiple layout sections with AST nodes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3466db396938751d8db28dd68d2fed80f526a0f4;p=mesa.git 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 Signed-off-by: Dave Airlie --- 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 ';'