diff options
author | Eric Anholt <[email protected]> | 2014-12-09 14:23:39 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-12-09 18:32:36 -0800 |
commit | 45a89237711acff7ee31c854361f8f580ccdcc9f (patch) | |
tree | 17eb927cc54eddf502c28c54306b303c0746c82d /src/gallium/drivers | |
parent | f431b4f110946a0f6e3822f870fbcd3d23c8317a (diff) |
vc4: Skip raddr dependencies for 32-bit immediate loads.
These don't have raddr fields.
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/vc4/vc4_qpu_schedule.c | 7 |
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); |