diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-08-30 11:01:15 -0700 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-08-30 15:50:26 -0700 |
commit | 76529836ecf53c977762283cf944a5c123c2b6db (patch) | |
tree | b9deb5cb207b8a899694d982e2bdb7b95f2d83b1 /src | |
parent | cc2ba8efe96f2b44a6dc3d1e0b06c3a1ee9b8f50 (diff) |
pan/midgard: Cleanup fragment writeout branch
I'm not sure if this is strictly necessary but it makes debugging easier
and minimizes the diff with the experimental scheduler.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/panfrost/midgard/midgard_compile.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c index 2223f92f1bd..8a0ac08803a 100644 --- a/src/panfrost/midgard/midgard_compile.c +++ b/src/panfrost/midgard/midgard_compile.c @@ -1416,13 +1416,14 @@ emit_fragment_store(compiler_context *ctx, unsigned src, unsigned rt) /* Next, generate the branch. For R render targets in the writeout, the * i'th render target jumps to pseudo-offset [2(R-1) + i] */ - unsigned offset = (2 * (ctx->nir->num_outputs - 1)) + rt; + unsigned outputs = ctx->is_blend ? 1 : ctx->nir->num_outputs; + unsigned offset = (2 * (outputs - 1)) + rt; struct midgard_instruction ins = v_alu_br_compact_cond(midgard_jmp_writeout_op_writeout, TAG_ALU_4, offset, midgard_condition_always); /* Add dependencies */ - ins.src[0] = move.dest; + ins.src[0] = src; ins.src[1] = rt_move.dest; /* Emit the branch */ |