From a90feb581a1c0e63bf13aace5d11b6532e881313 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tapani=20P=C3=A4lli?= Date: Mon, 5 Oct 2015 12:50:10 +0300 Subject: [PATCH] glsl: set glsl error if binding qualifier used on global scope MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes following Piglit test: global-scope-binding-qualifier.frag Signed-off-by: Tapani Pälli Reviewed-by: Samuel Iglesias Gonsálvez --- src/glsl/glsl_parser.yy | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy index f0abeb03215..c1bcccc34f4 100644 --- a/src/glsl/glsl_parser.yy +++ b/src/glsl/glsl_parser.yy @@ -2786,6 +2786,17 @@ layout_defaults: if (!state->default_shader_storage_qualifier->merge_qualifier(& @1, state, $1)) { YYERROR; } + + /* From the GLSL 4.50 spec, section 4.4.5: + * + * "It is a compile-time error to specify the binding identifier for + * the global scope or for block member declarations." + */ + if (state->default_shader_storage_qualifier->flags.q.explicit_binding) { + _mesa_glsl_error(& @1, state, + "binding qualifier cannot be set for default layout"); + } + $$ = NULL; } -- 2.30.2