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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev