mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-11 09:10:32 +01:00
broadcom/vc5: Use MSF to ignore discards/non-dispatched channels in loops.
Prevents potential infinite loops when a non-dispatched or discarded channel never triggers the loop break condition.
This commit is contained in:
parent
762dd52951
commit
5bc0b63799
1 changed files with 5 additions and 1 deletions
|
|
@ -1780,7 +1780,11 @@ ntq_emit_loop(struct v3d_compile *c, nir_loop *loop)
|
|||
|
||||
vir_PF(c, c->execute, V3D_QPU_PF_PUSHZ);
|
||||
|
||||
vir_BRANCH(c, V3D_QPU_BRANCH_COND_ANYA);
|
||||
struct qinst *branch = vir_BRANCH(c, V3D_QPU_BRANCH_COND_ANYA);
|
||||
/* Pixels that were not dispatched or have been discarded should not
|
||||
* contribute to looping again.
|
||||
*/
|
||||
branch->qpu.branch.msfign = V3D_QPU_MSFIGN_P;
|
||||
vir_link_blocks(c->cur_block, c->loop_cont_block);
|
||||
vir_link_blocks(c->cur_block, c->loop_break_block);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue