[Mesa-dev] [PATCH 2/6] glsl: disable interface block AoA

Timothy Arceri t_arceri at yahoo.com.au
Sat Aug 8 22:35:27 PDT 2015


Desktop GL supports interface block AoA however AMD and Nvidia
dont support it in their drivers curently so we can get away
with disabling it for now.
---
 src/glsl/ast_to_hir.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index 403aa02..9385922 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -6228,15 +6228,17 @@ ast_interface_block::hir(exec_list *instructions,
             }
          }
 
-          /* From section 4.3.9 (Interface Blocks) of the GLSL ES 3.10 spec:
+         /* From section 4.3.9 (Interface Blocks) of the GLSL ES 3.10 spec:
           *
           *     * Arrays of arrays of blocks are not allowed
           */
-         if (state->es_shader && block_array_type->is_array() &&
+         /* FIXME: Desktop GL allows interface AoA */
+         if (block_array_type->is_array() &&
              block_array_type->fields.array->is_array()) {
             _mesa_glsl_error(&loc, state,
-                             "arrays of arrays interface blocks are "
-                             "not allowed");
+                             "arrays of arrays interface blocks are %s",
+                             state->es_shader ? "not allowed" :
+                             "not currently supported");
          }
 
          if (this->layout.flags.q.explicit_binding)
-- 
2.4.3



More information about the mesa-dev mailing list