r600/sfn: collaps no_schedule and scheduled

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Assisted-by: Copilot (auto mode)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41945>
This commit is contained in:
Gert Wollny 2026-04-23 13:39:15 +02:00 committed by Marge Bot
parent 4698c17b9d
commit 033dd489de

View file

@ -183,7 +183,6 @@ private:
enum class AluGroupFillResult {
scheduled,
retry,
no_schedule,
failed,
};
@ -590,8 +589,7 @@ BlockScheduler::schedule_alu(Shader::ShaderBlocks& out_blocks)
if (fill_result == AluGroupFillResult::failed && !scheduled)
return false;
if (fill_result == AluGroupFillResult::scheduled ||
fill_result == AluGroupFillResult::no_schedule)
if (fill_result == AluGroupFillResult::scheduled)
scheduled = true;
finalize_schedule_alu_group(out_blocks, *group, alu_ctx.expected_ar_uses);
@ -603,7 +601,7 @@ BlockScheduler::fill_alu_group(Shader::ShaderBlocks& out_blocks,
AluGroup& group,
const AluScheduleContext& alu_ctx)
{
auto result = AluGroupFillResult::no_schedule;
auto result = AluGroupFillResult::retry;
int free_slots = group.free_slot_mask();
while (free_slots && alu_ctx.has_alu_ready) {
@ -630,11 +628,11 @@ BlockScheduler::fill_alu_group(Shader::ShaderBlocks& out_blocks,
}
auto failure = handle_alu_group_fill_failure(out_blocks, group, alu_ctx);
if (failure == AluGroupFillResult::failed)
if (failure != AluGroupFillResult::failed)
return AluGroupFillResult::failed;
if (failure == AluGroupFillResult::no_schedule)
return AluGroupFillResult::no_schedule;
if (failure == AluGroupFillResult::scheduled)
return AluGroupFillResult::scheduled;
free_slots = group.free_slot_mask();
}
@ -691,7 +689,7 @@ BlockScheduler::handle_alu_group_fill_failure(Shader::ShaderBlocks& out_blocks,
// can resolve with an extra group that has a NOP instruction
if (!alu_trans_ready.empty() || !alu_vec_ready.empty()) {
group.add_vec_instructions(new AluInstr(op0_nop, 0));
return AluGroupFillResult::no_schedule;
return AluGroupFillResult::scheduled;
}
return AluGroupFillResult::failed;