In the same way that just a struct is not a interface block, and array
of structs is not an array of interface blocks.

At least at the NIR level.
---
 src/compiler/spirv/vtn_variables.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/compiler/spirv/vtn_variables.c 
b/src/compiler/spirv/vtn_variables.c
index 6d7d5dfc691..a8f2fdfa534 100644
--- a/src/compiler/spirv/vtn_variables.c
+++ b/src/compiler/spirv/vtn_variables.c
@@ -1860,7 +1860,7 @@ vtn_create_variable(struct vtn_builder *b, struct 
vtn_value *val,
        */
 
       struct vtn_type *interface_type = var->type;
-      if (!var->patch && glsl_type_is_array(var->type->type)) {
+      if (!var->patch && glsl_type_is_array(var->type->type) && 
var->type->array_element->block) {
          /* On Vulkan, Geometry shaders and some Tessellation, some inputs
           * come in per-vertex arrays, so we need to check for arrays. On
           * OpenGL we have the same, plus the possibility of user-defined
-- 
2.19.1

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

Reply via email to