summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2014-12-09 14:23:39 -0800
committerEric Anholt <[email protected]>2014-12-09 18:32:36 -0800
commit45a89237711acff7ee31c854361f8f580ccdcc9f (patch)
tree17eb927cc54eddf502c28c54306b303c0746c82d
parentf431b4f110946a0f6e3822f870fbcd3d23c8317a (diff)
vc4: Skip raddr dependencies for 32-bit immediate loads.
These don't have raddr fields.
-rw-r--r--src/gallium/drivers/vc4/vc4_qpu_schedule.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qpu_schedule.c b/src/gallium/drivers/vc4/vc4_qpu_schedule.c
index 4bb9b3a5317..8df816fa211 100644
--- a/src/gallium/drivers/vc4/vc4_qpu_schedule.c
+++ b/src/gallium/drivers/vc4/vc4_qpu_schedule.c
@@ -334,8 +334,11 @@ calculate_deps(struct schedule_state *state, struct schedule_node *n)
uint32_t mul_b = QPU_GET_FIELD(inst, QPU_MUL_B);
uint32_t sig = QPU_GET_FIELD(inst, QPU_SIG);
- process_raddr_deps(state, n, raddr_a, true);
- process_raddr_deps(state, n, raddr_b, false);
+ if (sig != QPU_SIG_LOAD_IMM) {
+ process_raddr_deps(state, n, raddr_a, true);
+ process_raddr_deps(state, n, raddr_b, false);
+ }
+
if (add_op != QPU_A_NOP) {
process_mux_deps(state, n, add_a);
process_mux_deps(state, n, add_b);