From f2c8cb264977e4fa58cbf019ce92a4ba497a62d4 Mon Sep 17 00:00:00 2001 From: Lang Yu Date: Sun, 27 Aug 2023 19:56:49 +0800 Subject: [PATCH] radeonsi: use wave size to determine index stride MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lang Yu Reviewed-by: Marek Olšák Part-of: --- src/gallium/drivers/radeonsi/si_compute.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_compute.c b/src/gallium/drivers/radeonsi/si_compute.c index 619b8f95c31..d4d71a246b5 100644 --- a/src/gallium/drivers/radeonsi/si_compute.c +++ b/src/gallium/drivers/radeonsi/si_compute.c @@ -577,7 +577,8 @@ static void setup_scratch_rsrc_user_sgprs(struct si_context *sctx, /* Disable address clamping */ uint32_t scratch_dword2 = 0xffffffff; - uint32_t scratch_dword3 = S_008F0C_INDEX_STRIDE(3) | S_008F0C_ADD_TID_ENABLE(1); + uint32_t index_stride = sctx->cs_shader_state.program->shader.wave_size == 32 ? 2 : 3; + uint32_t scratch_dword3 = S_008F0C_INDEX_STRIDE(index_stride) | S_008F0C_ADD_TID_ENABLE(1); if (sctx->gfx_level >= GFX9) { assert(max_private_element_size == 1); /* only 4 bytes on GFX9 */