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