From ee32f3873c544bffdc63c733e9be966258e9b4a5 Mon Sep 17 00:00:00 2001 From: Qiu Wenbo Date: Mon, 9 Jan 2023 17:19:00 +0800 Subject: [PATCH] vc4: Fix running process_mux_deps on irrelevant type of instructions Only ALU and ALU Small Imm instructions have input mux. Signed-off-by: Qiu Wenbo Reviewed-by: Iago Toral Quiroga cc: mesa-stable Part-of: --- src/gallium/drivers/vc4/vc4_qpu_schedule.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) 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);