glsl: Parse 'layout' as a token with advanced blending or bindless
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 19 Feb 2018 17:35:46 +0000 (09:35 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 22 Feb 2018 01:50:57 +0000 (17:50 -0800)
Both KHR_blend_equation_advanced and ARB_bindless_texture provide
layout qualifiers, and are exposed in compatibility contexts.  We
need to parse the layout qualifier as a token in order for those
to work, but forgot to extend this check.

ARB_shader_image_load_store would need a similar treatment, but we
don't expose that in legacy OpenGL contexts.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105161
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
src/compiler/glsl/glsl_lexer.ll

index 4b36574b73a8f8a7a40bbaec5c3a80df909524c5..ed7a80a2bb1a33ce2e294dd504e9d9896a156a3b 100644 (file)
@@ -491,6 +491,8 @@ void                return VOID_TOK;
 
 layout         {
                  if ((yyextra->is_version(140, 300))
+                     || yyextra->ARB_bindless_texture_enable
+                     || yyextra->KHR_blend_equation_advanced_enable
                      || yyextra->AMD_conservative_depth_enable
                      || yyextra->ARB_conservative_depth_enable
                      || yyextra->ARB_explicit_attrib_location_enable