From 089c32eefd2f9afcbfc87349beacbdf9d005cfac Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 25 Apr 2018 16:16:27 -0700 Subject: [PATCH] broadcom/vc5: Add validation that we don't violate GFXH-1625 requirements. We don't use TMUWT yet, but we will once we do SSBOs. --- src/broadcom/compiler/qpu_validate.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/broadcom/compiler/qpu_validate.c b/src/broadcom/compiler/qpu_validate.c index 492f2e64d09..b459d81b446 100644 --- a/src/broadcom/compiler/qpu_validate.c +++ b/src/broadcom/compiler/qpu_validate.c @@ -247,6 +247,11 @@ qpu_validate_inst(struct v3d_qpu_validate_state *state, struct qinst *qinst) if (v3d_qpu_sig_writes_address(devinfo, &inst->sig)) fail_instr(state, "RF write after THREND"); + + /* GFXH-1625: No TMUWT in the last instruction */ + if (state->last_thrsw_ip - state->ip == 2 && + inst->alu.add.op == V3D_QPU_A_TMUWT) + fail_instr(state, "TMUWT in last instruction"); } if (inst->type == V3D_QPU_INSTR_TYPE_BRANCH) { -- 2.30.2