broadcom/vc5: Don't pair VPMSETUP with other peripheral access.
authorEric Anholt <eric@anholt.net>
Thu, 12 Oct 2017 00:40:35 +0000 (17:40 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 12 Oct 2017 17:41:09 +0000 (10:41 -0700)
The specs don't say you can't, but pairing it with an SFU write on the
7268 breaks all our simple shader tests using gl_MVP * gl_Vertex.

src/broadcom/compiler/qpu_schedule.c

index b5a0aa9a34a28bad897cc196cd1abb2ae58b9b95..dd221e027ec203fea67219f22519f8c7fae165d5 100644 (file)
@@ -590,6 +590,9 @@ qpu_accesses_peripheral(const struct v3d_qpu_instr *inst)
                         return true;
                 }
 
+                if (inst->alu.add.op == V3D_QPU_A_VPMSETUP)
+                        return true;
+
                 if (inst->alu.mul.op != V3D_QPU_M_NOP &&
                     inst->alu.mul.magic_write &&
                     qpu_magic_waddr_is_periph(inst->alu.mul.waddr)) {