From: Gert Wollny Date: Thu, 12 May 2022 11:28:15 +0000 (+0200) Subject: r600/sb: Fall back to un-optimized shader if scheduling fails X-Git-Tag: upstream/22.3.5~8729 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bbff12a19167db4309d3aaf11b311b53f11daf55;p=platform%2Fupstream%2Fmesa.git 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: --- diff --git a/src/gallium/drivers/r600/sb/sb_sched.cpp b/src/gallium/drivers/r600/sb/sb_sched.cpp index 2d5fbfd..3238dfa 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) {