From: Eric Anholt Date: Wed, 12 Dec 2018 00:14:03 +0000 (-0800) Subject: v3d: Make sure that a thrsw doesn't split a multop from its umul24. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3f9bcf9136af794d44fa4b0802c0d4df6b170175;p=mesa.git 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.") --- diff --git a/src/broadcom/compiler/qpu_schedule.c b/src/broadcom/compiler/qpu_schedule.c index 944059c9778..365aebdbd6d 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.