mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 09:18:04 +02:00
vc4: Fix overzealous raddr conflict resolution.
We only need to do the fixup when both args are in the same file, not just when both are in physical registers.
This commit is contained in:
parent
2e48b286bf
commit
3e5325e8c9
1 changed files with 7 additions and 5 deletions
|
|
@ -79,12 +79,14 @@ static void
|
|||
fixup_raddr_conflict(struct vc4_compile *c,
|
||||
struct qpu_reg src0, struct qpu_reg *src1)
|
||||
{
|
||||
if ((src0.mux == QPU_MUX_A || src0.mux == QPU_MUX_B) &&
|
||||
(src1->mux == QPU_MUX_A || src1->mux == QPU_MUX_B) &&
|
||||
src0.addr != src1->addr) {
|
||||
queue(c, qpu_a_MOV(qpu_r3(), *src1));
|
||||
*src1 = qpu_r3();
|
||||
if ((src0.mux != QPU_MUX_A && src0.mux != QPU_MUX_B) ||
|
||||
src0.mux != src1->mux ||
|
||||
src0.addr == src1->addr) {
|
||||
return;
|
||||
}
|
||||
|
||||
queue(c, qpu_a_MOV(qpu_r3(), *src1));
|
||||
*src1 = qpu_r3();
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue