diff options
author | Iago Toral Quiroga <itoral@igalia.com> | 2021-03-09 09:19:45 +0100 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-03-10 07:52:22 +0000 |
commit | d37241bdc4fb23139793b135a00036de496cf9f2 (patch) | |
tree | 146342ee68dd9dedc06f1b6e9ecd2cc33b6766a2 | |
parent | 8bcda472a05c047a507b9d1b4a59d4f16a89c5d2 (diff) |
broadcom/compiler: move code block around
These checks depend on prev_inst being set, so move them down below
with all the other checks with the same requirement.
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9471>
-rw-r--r-- | src/broadcom/compiler/qpu_schedule.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/broadcom/compiler/qpu_schedule.c b/src/broadcom/compiler/qpu_schedule.c index 9283b936ccc..7f6ac5af0b4 100644 --- a/src/broadcom/compiler/qpu_schedule.c +++ b/src/broadcom/compiler/qpu_schedule.c @@ -903,21 +903,6 @@ choose_instruction_to_schedule(struct v3d_compile *c, const struct v3d_qpu_instr *inst = &n->inst->qpu; - /* Simulator complains if we have two uniforms loaded in the - * the same instruction, which could happen if we have a ldunif - * or sideband uniform and we pair that with ldunifa. - */ - if (prev_inst) { - if (vir_has_uniform(prev_inst->inst) && - (inst->sig.ldunifa || inst->sig.ldunifarf)) { - continue; - } - if ((prev_inst->inst->qpu.sig.ldunifa || - prev_inst->inst->qpu.sig.ldunifarf) && - vir_has_uniform(n->inst)) { - continue; - } - } /* Don't choose the branch instruction until it's the last one * left. We'll move it up to fit its delay slots after we @@ -977,6 +962,22 @@ choose_instruction_to_schedule(struct v3d_compile *c, n->inst->uniform != -1) continue; + /* Simulator complains if we have two uniforms loaded in + * the the same instruction, which could happen if we + * have a ldunif or sideband uniform and we pair that + * with ldunifa. + */ + if (vir_has_uniform(prev_inst->inst) && + (inst->sig.ldunifa || inst->sig.ldunifarf)) { + continue; + } + + if ((prev_inst->inst->qpu.sig.ldunifa || + prev_inst->inst->qpu.sig.ldunifarf) && + vir_has_uniform(n->inst)) { + continue; + } + /* Don't merge in something that will lock the TLB. * Hopwefully what we have in inst will release some * other instructions, allowing us to delay the |