freedreno/ir3: Fix physical successors for break out of loop
We can't just clobber the existing successor[0] which is based on logical successor[0] Suggested-by: Connor Abbott <cwabbott0@gmail.com> Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12742>
This commit is contained in:
@@ -3057,7 +3057,10 @@ emit_if(struct ir3_context *ctx, nir_if *nif)
|
||||
struct ir3_block *last_else = get_block(ctx, nir_if_last_else_block(nif));
|
||||
struct ir3_block *after_if =
|
||||
get_block(ctx, nir_cf_node_as_block(nir_cf_node_next(&nif->cf_node)));
|
||||
last_else->physical_successors[0] = after_if;
|
||||
assert(last_else->physical_successors[0] &&
|
||||
!last_else->physical_successors[1]);
|
||||
if (after_if != last_else->physical_successors[0])
|
||||
last_else->physical_successors[1] = after_if;
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user