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: fc40002de7 ("r600/sfn: Simplify scheduling")

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37232>
This commit is contained in:
Gert Wollny 2025-09-08 15:30:32 +02:00 committed by Marge Bot
parent 8e2ff175c6
commit 10d3b95d54

View file

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