From 79e4323cf0c258cf48d7ace96a35c8812e01b39b Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Wed, 12 Nov 2025 13:45:00 +0100 Subject: [PATCH] r600/sfn: Don't start a new ALU-CF if LDS pipeline loads are pending Fixes: e57643cf (r600/sfn: Add handling for R600 indirect access alias handling) Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/r600/sfn/sfn_scheduler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp b/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp index 88c146e7849..7b97a1136bd 100644 --- a/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp @@ -581,7 +581,7 @@ BlockScheduler::schedule_alu(Shader::ShaderBlocks& out_blocks, ValueFactory& vf) } success = true; } else { - if (expected_ar_uses == 0) { + if (expected_ar_uses == 0 && !m_current_block->lds_group_active()) { start_new_block(out_blocks, Block::alu); if (!m_current_block->try_reserve_kcache(*group)) @@ -592,7 +592,7 @@ BlockScheduler::schedule_alu(Shader::ShaderBlocks& out_blocks, ValueFactory& vf) } else { sfn_log << SfnLog::schedule << "Don't add group because of " << m_current_block->expected_ar_uses() - << "pending AR loads\n"; + << "pending AR loads or an active LDS group\n"; group = nullptr; } }