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 <timothy.arceri@collabora.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie 2016-05-23 15:55:06 +10:00
parent aaa69c79cd
commit 3466db3969

View file

@ -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 ';'