diff --git a/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp b/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp index 74804aac3ef..88c146e7849 100644 --- a/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_scheduler.cpp @@ -1269,7 +1269,8 @@ BlockScheduler::collect_ready_alu_vec(std::list& ready, ++i; } - if (predicate && *predicate && available.empty() && ready.size() < 16 && + if (predicate && *predicate && available.empty() && + ready.size() < (m_chip_class >= ISA_CC_EVERGREEN ? 16 : 3) && (*predicate)->ready()) { assert((*predicate)->alu_slots() == 1); ready.push_back(*predicate);