diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c index fd9838ccdfc..0e27f109ec4 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c +++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c @@ -630,7 +630,7 @@ get_glsl_type(struct ntv_context *ctx, const struct glsl_type *type, bool implic glsl_get_length(type)); for (unsigned i = 0; i < glsl_get_length(type); i++) { int32_t offset = glsl_get_struct_field_offset(type, i); - if (offset >= 0) + if (offset >= 0 && !implicit_stride) spirv_builder_emit_member_offset(&ctx->builder, ret, i, offset); } } else