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