Mesa (staging/21.3): broadcom/compiler: don't allow RF writes from signals after thrend

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 24 08:54:03 UTC 2021


Module: Mesa
Branch: staging/21.3
Commit: fcc32aac767f6e398fbfe91f3d1363f6867420cd
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fcc32aac767f6e398fbfe91f3d1363f6867420cd

Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Mon Nov 22 12:23:13 2021 +0100

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 at igalia.com>
(cherry picked from commit bd7584c16bc56fdcb3a7a720c9a857e158f699d2)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13923>

---

 src/broadcom/compiler/qpu_schedule.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/broadcom/compiler/qpu_schedule.c b/src/broadcom/compiler/qpu_schedule.c
index c559814b9ea..afab1641600 100644
--- a/src/broadcom/compiler/qpu_schedule.c
+++ b/src/broadcom/compiler/qpu_schedule.c
@@ -1490,6 +1490,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;
 



More information about the mesa-commit mailing list