diff --git a/.pick_status.json b/.pick_status.json index 1683df72ad8..567c562f990 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1201,7 +1201,7 @@ "description": "vc4: Fix running process_mux_deps on irrelevant type of instructions", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/vc4/vc4_qpu_schedule.c b/src/gallium/drivers/vc4/vc4_qpu_schedule.c index 44aa78eb3f4..2ca7eee4e0d 100644 --- a/src/gallium/drivers/vc4/vc4_qpu_schedule.c +++ b/src/gallium/drivers/vc4/vc4_qpu_schedule.c @@ -344,13 +344,15 @@ calculate_deps(struct schedule_state *state, struct schedule_node *n) 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); - } - if (mul_op != QPU_M_NOP) { - process_mux_deps(state, n, mul_a); - process_mux_deps(state, n, mul_b); + if (sig != QPU_SIG_LOAD_IMM && sig != QPU_SIG_BRANCH) { + if (add_op != QPU_A_NOP) { + process_mux_deps(state, n, add_a); + process_mux_deps(state, n, add_b); + } + if (mul_op != QPU_M_NOP) { + process_mux_deps(state, n, mul_a); + process_mux_deps(state, n, mul_b); + } } process_waddr_deps(state, n, waddr_add, true);