From 10d3b95d54901c8f400acb5e8104788da71c08a7 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Mon, 8 Sep 2025 15:30:32 +0200 Subject: [PATCH] r600/sfn: start scheduling memory writes earlier It seems emmitting more than four MEM_RAT instructions in a row may lead to a GPU hang, so start scheduling free instructions earlier. The problem is triggered by KHR-GL45.compute_shader.shared-max Fixes: fc40002de74 ("r600/sfn: Simplify scheduling") Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/r600/sfn/sfn_scheduler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp b/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp index b9106346927..de612aecbfe 100644 --- a/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp @@ -353,7 +353,7 @@ BlockScheduler::schedule_block(Block& in_block, if (!m_current_block->lds_group_active() && m_current_block->expected_ar_uses() == 0) { - if (last_shed != sched_free && free_ready.size() > 8) + if (last_shed != sched_free && free_ready.size() >= 4) current_shed = sched_free; else if (tex_ready.size() > (m_chip_class >= ISA_CC_EVERGREEN ? 15 : 7)) current_shed = sched_tex;