diff options
author | Iago Toral Quiroga <itoral@igalia.com> | 2021-11-22 12:23:13 +0100 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2021-11-22 12:53:43 +0000 |
commit | bd7584c16bc56fdcb3a7a720c9a857e158f699d2 (patch) | |
tree | 302d351354bddc35c93bf9271bbfe9ffa039875e | |
parent | ed16eedb2d97d4f9d100afe1b66835fc792cefea (diff) |
broadcom/compiler: don't allow RF writes from signals after thrend
Writes to physical registers are not allowed after thread end. We
were checking this for ALU writes, but we need to check it for
signal writes too.
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13910>
-rw-r--r-- | src/broadcom/compiler/qpu_schedule.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/broadcom/compiler/qpu_schedule.c b/src/broadcom/compiler/qpu_schedule.c index f987766a1b9..de71d1372d6 100644 --- a/src/broadcom/compiler/qpu_schedule.c +++ b/src/broadcom/compiler/qpu_schedule.c @@ -1517,6 +1517,11 @@ qpu_inst_valid_in_thrend_slot(struct v3d_compile *c, return false; } + if (v3d_qpu_sig_writes_address(c->devinfo, &inst->sig) && + !inst->sig_magic) { + return false; + } + if (c->devinfo->ver < 40 && inst->alu.add.op == V3D_QPU_A_SETMSF) return false; |