From 1c0de360bcb61c4c33e6eaf9b5144013c4708a13 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 7 Apr 2025 11:12:21 -0400 Subject: [PATCH] zink: don't set shared block stride without KHR_workgroup_memory_explicit_layout this is illegal cc: mesa-stable Part-of: --- src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 22ef22fbda3..a82a64724f6 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 @@ -687,7 +687,8 @@ create_shared_block(struct ntv_context *ctx, unsigned bit_size) } ctx->shared_block_arr_type[idx] = array; - spirv_builder_emit_array_stride(&ctx->builder, array, bit_size / 8); + if (ctx->sinfo->have_workgroup_memory_explicit_layout) + spirv_builder_emit_array_stride(&ctx->builder, array, bit_size / 8); /* Create wrapper struct for Block, Offset and Aliased decorations. */ SpvId block = spirv_builder_type_struct(&ctx->builder, &array, 1);