Mesa (master): glsl: move block validation outside function that validates members

Timothy Arceri tarceri at kemper.freedesktop.org
Tue Nov 17 20:31:03 UTC 2015


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

Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Fri Nov 13 09:45:36 2015 +1100

glsl: move block validation outside function that validates members

Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

---

 src/glsl/ast_to_hir.cpp |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index d96caf4..33b0f1b 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -6068,14 +6068,6 @@ ast_process_structure_or_interface_block(exec_list *instructions,
 {
    unsigned decl_count = 0;
 
-   /* For blocks that accept memory qualifiers (i.e. shader storage), verify
-    * that we don't have incompatible qualifiers
-    */
-   if (layout && layout->flags.q.read_only && layout->flags.q.write_only) {
-      _mesa_glsl_error(&loc, state,
-                       "Interface block sets both readonly and writeonly");
-   }
-
    /* Make an initial pass over the list of fields to determine how
     * many there are.  Each element in this list is an ast_declarator_list.
     * This means that we actually need to count the number of elements in the
@@ -6492,6 +6484,14 @@ ast_interface_block::hir(exec_list *instructions,
     */
    state->struct_specifier_depth++;
 
+   /* For blocks that accept memory qualifiers (i.e. shader storage), verify
+    * that we don't have incompatible qualifiers
+    */
+   if (this->layout.flags.q.read_only && this->layout.flags.q.write_only) {
+      _mesa_glsl_error(&loc, state,
+                       "Interface block sets both readonly and writeonly");
+   }
+
    unsigned int num_variables =
       ast_process_structure_or_interface_block(&declared_variables,
                                                state,




More information about the mesa-commit mailing list