From: Timothy Arceri Date: Fri, 15 Jan 2016 00:01:25 +0000 (+1100) Subject: glsl: allow duplicate layout-qualifier-names X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c8b8c578d145f90794611602eb66fc7d3f1df033;p=mesa.git glsl: allow duplicate layout-qualifier-names This is added by ARB_enhanced_layouts although it doesn't fit into any of the six main changes so we enable this independently. From the ARB_enhanced_layouts spec: "More than one layout qualifier may appear in a single declaration. Additionally, the same layout-qualifier-name can occur multiple times within a layout qualifier or across multiple layout qualifiers in the same declaration" Reviewed-by: Matt Turner Reviewed-by: Chris Forbes --- diff --git a/src/glsl/ast_type.cpp b/src/glsl/ast_type.cpp index 1f675b28ae8..4e750161b48 100644 --- a/src/glsl/ast_type.cpp +++ b/src/glsl/ast_type.cpp @@ -157,7 +157,8 @@ ast_type_qualifier::merge_qualifier(YYLTYPE *loc, allowed_duplicates_mask.flags.i |= stream_layout_mask.flags.i; - if ((this->flags.i & q.flags.i & ~allowed_duplicates_mask.flags.i) != 0) { + if (!state->has_enhanced_layouts() && + (this->flags.i & q.flags.i & ~allowed_duplicates_mask.flags.i) != 0) { _mesa_glsl_error(loc, state, "duplicate layout qualifiers used"); return false;