From 1ba8ff9fe6d7a81a9a8dfa384d075541c587f81f Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Fri, 22 Mar 2024 21:10:05 +0100 Subject: [PATCH] r600/sfn: Take slot count into account when pinning registers Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/r600/sfn/sfn_shader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/sfn/sfn_shader.cpp b/src/gallium/drivers/r600/sfn/sfn_shader.cpp index c87b2138f3f..83a947d26ca 100644 --- a/src/gallium/drivers/r600/sfn/sfn_shader.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_shader.cpp @@ -1078,7 +1078,7 @@ RegisterAccessHandler::RegisterAccessHandler(Shader& shader, nir_intrinsic_instr void RegisterReadHandler::visit(LocalArray& array) { int slots = ir->def.bit_size / 32; - auto pin = ir->def.num_components > 1 ? pin_none : pin_free; + auto pin = ir->def.num_components * slots > 1 ? pin_none : pin_free; for (int i = 0; i < ir->def.num_components; ++i) { for (int s = 0; s < slots; ++s) { int chan = i * slots + s;