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 <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38398>
This commit is contained in:
Gert Wollny 2025-11-12 13:45:00 +01:00 committed by Marge Bot
parent b9266a122b
commit 79e4323cf0

View file

@ -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;
}
}