freedreno/ir3: Update physical_predecessors for streamout block
authorRob Clark <robdclark@chromium.org>
Tue, 7 Sep 2021 22:23:56 +0000 (15:23 -0700)
committerMarge Bot <eric+marge@anholt.net>
Wed, 8 Sep 2021 08:53:39 +0000 (08:53 +0000)
Caught by newly added ir3_validate checks.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12742>

src/freedreno/ir3/ir3_compiler_nir.c

index 7e7273c..cf2b087 100644 (file)
@@ -3191,8 +3191,13 @@ emit_stream_out(struct ir3_context *ctx)
    orig_end_block->successors[0] = stream_out_block;
    orig_end_block->successors[1] = new_end_block;
 
+   orig_end_block->physical_successors[0] = stream_out_block;
+   orig_end_block->physical_successors[1] = new_end_block;
+
    stream_out_block->successors[0] = new_end_block;
 
+   stream_out_block->physical_successors[0] = new_end_block;
+
    /* setup 'if (vtxcnt < maxvtxcnt)' condition: */
    cond = ir3_CMPS_S(ctx->block, vtxcnt, 0, maxvtxcnt, 0);
    cond->dsts[0]->num = regid(REG_P0, 0);