diff --git a/.pick_status.json b/.pick_status.json index 98774dd0e3f..177bfc263d6 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -5614,7 +5614,7 @@ "description": "zink: use implicit offsets for function temp variables in ntv", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "0b7611824a1ab95a37577bed8d11b1e110b036b7", "notes": null 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 d7ed9041646..064bce83549 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