freedreno/ir3: update prefetch input_offset when packing inlocs

If the input location changes then prefetch input_offset needs to change.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Reviewed-by: Eric Anholt <eric@anholt.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3141>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3141>
This commit is contained in:
Jonathan Marek
2019-12-17 16:03:07 -05:00
parent 62998f6e2d
commit 072e95e07a

View File

@@ -2878,6 +2878,10 @@ pack_inlocs(struct ir3_context *ctx)
unsigned j = inloc % 4; unsigned j = inloc % 4;
instr->regs[1]->iim_val = so->inputs[i].inloc + j; instr->regs[1]->iim_val = so->inputs[i].inloc + j;
} else if (instr->opc == OPC_META_TEX_PREFETCH) {
unsigned i = instr->prefetch.input_offset / 4;
unsigned j = instr->prefetch.input_offset % 4;
instr->prefetch.input_offset = so->inputs[i].inloc + j;
} }
} }
} }