broadcom/compiler: handle moving last ubo load in the block correctly
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Before we move a UBO load to a previous location in the block we take a
reference to the instruction after it so we can continue the loop from
there, however, if the load we just moved was already the last instruction
in the block we just want to break the loop right there.

Fixes crashes with shaders from http://flightradar24.com

Fixes: 8998666de7 ("broadcom/compiler: sort constant UBO loads by index and offset")
Reviewed-by: Jose Maria Casanova Crespo <jmcasanova@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35333>
This commit is contained in:
Iago Toral Quiroga 2025-06-04 09:02:52 +02:00 committed by Marge Bot
parent e579b982b0
commit c059c721fb

View file

@ -1506,6 +1506,10 @@ v3d_nir_sort_constant_ubo_load(nir_block *block, nir_intrinsic_instr *ref)
exec_node_insert_after(&pos->node, &inst->node);
progress = true;
/* If this was the last instruction in the block we are done */
if (!next_inst)
break;
}
return progress;