Mesa (master): v3d: Make sure that a thrsw doesn't split a multop from its umul24.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Dec 15 03:29:15 UTC 2018


Module: Mesa
Branch: master
Commit: 3f9bcf9136af794d44fa4b0802c0d4df6b170175
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f9bcf9136af794d44fa4b0802c0d4df6b170175

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Dec 11 16:14:03 2018 -0800

v3d: Make sure that a thrsw doesn't split a multop from its umul24.

The thrsw will invalidate rtop, just like accumulators and flags.  Caught
by simulator assertions in CS imulextended/umulextended tests.

Fixes: 90269ba35333 ("broadcom/vc5: Use THRSW to enable multi-threaded shaders.")

---

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

diff --git a/src/broadcom/compiler/qpu_schedule.c b/src/broadcom/compiler/qpu_schedule.c
index 944059c977..365aebdbd6 100644
--- a/src/broadcom/compiler/qpu_schedule.c
+++ b/src/broadcom/compiler/qpu_schedule.c
@@ -405,6 +405,7 @@ calculate_deps(struct schedule_state *state, struct schedule_node *n)
                 for (int i = 0; i < ARRAY_SIZE(state->last_r); i++)
                         add_write_dep(state, &state->last_r[i], n);
                 add_write_dep(state, &state->last_sf, n);
+                add_write_dep(state, &state->last_rtop, n);
 
                 /* Scoreboard-locking operations have to stay after the last
                  * thread switch.




More information about the mesa-commit mailing list