From 130031168de44e38e84000f279951ef70a99cb66 Mon Sep 17 00:00:00 2001 From: Samuel Iglesias Gonsalvez Date: Wed, 2 Sep 2015 15:58:01 +0200 Subject: [PATCH] glsl: layout qualifier can appear more than once since OpenGL 4.20 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Also if GL_ARB_shading_language_420pack extension is enabled. Signed-off-by: Samuel Iglesias Gonsalvez Reviewed-by: Kristian Høgsberg --- src/glsl/glsl_parser.yy | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy index 59e4527b238..4dd5384dac8 100644 --- a/src/glsl/glsl_parser.yy +++ b/src/glsl/glsl_parser.yy @@ -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; } -- 2.30.2