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 af69ffd..c8e695a 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -6225,15 +6225,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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev