Fixes various piglit tests:
spec/glsl-1.50/compiler/incorrect-in-layout-qualifier-*.geom

Signed-off-by: Jordan Justen <jordan.l.jus...@intel.com>
---
 src/glsl/ast_type.cpp | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/glsl/ast_type.cpp b/src/glsl/ast_type.cpp
index 7f3737b..f1c59da 100644
--- a/src/glsl/ast_type.cpp
+++ b/src/glsl/ast_type.cpp
@@ -183,6 +183,17 @@ ast_type_qualifier::merge_in_qualifier(YYLTYPE *loc,
                                        _mesa_glsl_parse_state *state,
                                        ast_type_qualifier q)
 {
+   ast_type_qualifier valid_in_mask;
+   valid_in_mask.flags.i = 0;
+   valid_in_mask.flags.q.prim_type = 1;
+
+   /* Generate an error when invalid input layout qualifiers are used. */
+   if ((q.flags.i & ~valid_in_mask.flags.i) != 0) {
+      _mesa_glsl_error(loc, state,
+                      "invalid input layout qualifiers used");
+      return false;
+   }
+
    /* Input layout qualifiers can be specified multiple
     * times in separate declarations, as long as they match.
     */
-- 
1.8.5.3

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to