v3d: Apply GFXH-1625 restriction on TMUWT in the end of the shader.
authorEric Anholt <eric@anholt.net>
Mon, 16 Jul 2018 19:35:11 +0000 (12:35 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 16 Jul 2018 21:39:59 +0000 (14:39 -0700)
This doesn't affect us yet since we're not doing TMUWTs, but I think we
will for GLES 3.1.

src/broadcom/compiler/qpu_schedule.c

index b404390a799879d8e4b359490eaf69de2d1be64c..a2260f8b2a7abaef437163ad1537db9564a7cf51 100644 (file)
@@ -1073,6 +1073,10 @@ qpu_instruction_valid_in_thrend_slot(struct v3d_compile *c,
                 return false;
 
         if (inst->type == V3D_QPU_INSTR_TYPE_ALU) {
+                /* GFXH-1625: TMUWT not allowed in the final instruction. */
+                if (slot == 2 && inst->alu.add.op == V3D_QPU_A_TMUWT)
+                        return false;
+
                 /* No writing physical registers at the end. */
                 if (!inst->alu.add.magic_write ||
                     !inst->alu.mul.magic_write) {