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 <qiuwenbo@kylinos.com.cn>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20581>
(cherry picked from commit ee32f3873c)
This commit is contained in:
Qiu Wenbo 2023-01-09 17:19:00 +08:00 committed by Eric Engestrom
parent 09676cf5e8
commit 888bb9c380
2 changed files with 10 additions and 8 deletions

View file

@ -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
},

View file

@ -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);