glsl: layout qualifier can appear more than once since OpenGL 4.20

Also if GL_ARB_shading_language_420pack extension is enabled.

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
This commit is contained in:
Samuel Iglesias Gonsalvez 2015-09-02 15:58:01 +02:00
parent 5bb5eeea00
commit 130031168d
1 changed files with 8 additions and 2 deletions

View File

@ -2595,9 +2595,15 @@ interface_block:
{
$$ = $1;
}
| layout_qualifier basic_interface_block
| layout_qualifier interface_block
{
ast_interface_block *block = $2;
ast_interface_block *block = (ast_interface_block *) $2;
if (!state->has_420pack() && block->layout.has_layout()) {
_mesa_glsl_error(&@1, state, "duplicate layout(...) qualifiers");
YYERROR;
}
if (!block->layout.merge_qualifier(& @1, state, $1)) {
YYERROR;
}