diff --git a/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp b/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp index 950201651b7..b34bd5cdf2d 100644 --- a/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp @@ -357,7 +357,8 @@ BlockScheduler::schedule_block(Block& in_block, sfn_log << SfnLog::schedule << " MEM_OPS:" << mem_ring_writes_ready.size() << "\n"; - if (!m_current_block->lds_group_active()) { + if (!m_current_block->lds_group_active() && + m_current_block->expected_ar_uses() == 0) { if (last_shed != sched_free && memops_ready.size() > 8) current_shed = sched_free; else if (mem_ring_writes_ready.size() > 15)