Module: Mesa
Branch: master
Commit: de8f0c9ab99ac6140f6560e776a42a22eeff6721
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=de8f0c9ab99ac6140f6560e776a42a22eeff6721

Author: Timothy Arceri <[email protected]>
Date:   Sat Nov 14 12:22:49 2015 +1100

glsl: add process_qualifier_constant() helper

For now this just validates that a qualifier is inside its
minimum boundary, in a later patch we will expand it to
evaluate compile time constants.

Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>

---

 src/glsl/ast_to_hir.cpp |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index a9b1c0e..334561d 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -2505,6 +2505,23 @@ validate_matrix_layout_for_type(struct 
_mesa_glsl_parse_state *state,
 }
 
 static bool
+process_qualifier_constant(struct _mesa_glsl_parse_state *state,
+                           YYLTYPE *loc,
+                           const char *qual_indentifier,
+                           int qual_value,
+                           unsigned *value)
+{
+   if (qual_value < 0) {
+      _mesa_glsl_error(loc, state, "%s layout qualifier is invalid (%d < 0)",
+                       qual_indentifier, qual_value);
+      return false;
+   }
+
+   *value = (unsigned) qual_value;
+   return true;
+}
+
+static bool
 validate_binding_qualifier(struct _mesa_glsl_parse_state *state,
                            YYLTYPE *loc,
                            const glsl_type *type,

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to