From bbff12a19167db4309d3aaf11b311b53f11daf55 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Thu, 12 May 2022 13:28:15 +0200 Subject: [PATCH] r600/sb: Fall back to un-optimized shader if scheduling fails Sometimes the optimizer created codes that can't be scheduled, instead of failing completely, simply bail out and use the un-optimized code. Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/r600/sb/sb_sched.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/gallium/drivers/r600/sb/sb_sched.cpp b/src/gallium/drivers/r600/sb/sb_sched.cpp index 2d5fbfdb2c9..3238dfac123 100644 --- a/src/gallium/drivers/r600/sb/sb_sched.cpp +++ b/src/gallium/drivers/r600/sb/sb_sched.cpp @@ -1205,15 +1205,13 @@ bool post_scheduler::schedule_alu(container_node *c) { if (!ready.empty()) { sblog << "##post_scheduler: unscheduled ready instructions :"; dump::dump_op_list(&ready); - assert(!"unscheduled ready instructions"); } if (!pending.empty()) { sblog << "##post_scheduler: unscheduled pending instructions :"; dump::dump_op_list(&pending); - assert(!"unscheduled pending instructions"); } - return improving; + return pending.empty() && ready.empty() && improving != 0; } void post_scheduler::add_interferences(value *v, sb_bitset &rb, val_set &vs) {