diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_qpu_emit.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qpu_emit.c b/src/gallium/drivers/vc4/vc4_qpu_emit.c index 81b3b8bd784..985f2c4bdab 100644 --- a/src/gallium/drivers/vc4/vc4_qpu_emit.c +++ b/src/gallium/drivers/vc4/vc4_qpu_emit.c @@ -79,12 +79,14 @@ static void fixup_raddr_conflict(struct vc4_compile *c, struct qpu_reg src0, struct qpu_reg *src1) { - if ((src0.mux == QPU_MUX_A || src0.mux == QPU_MUX_B) && - (src1->mux == QPU_MUX_A || src1->mux == QPU_MUX_B) && - src0.addr != src1->addr) { - queue(c, qpu_a_MOV(qpu_r3(), *src1)); - *src1 = qpu_r3(); + if ((src0.mux != QPU_MUX_A && src0.mux != QPU_MUX_B) || + src0.mux != src1->mux || + src0.addr == src1->addr) { + return; } + + queue(c, qpu_a_MOV(qpu_r3(), *src1)); + *src1 = qpu_r3(); } static void |