From 8f2fb68026d11feedb5d94cf17e719affe7b9423 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 12 Jan 2015 09:16:26 +1300 Subject: vc4: Don't swap the raddr on instructions doing unpacks. It would mean different unpacking behavior, since only the A file does unpack (with PM==0). --- src/gallium/drivers/vc4/vc4_qpu.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/gallium') diff --git a/src/gallium/drivers/vc4/vc4_qpu.c b/src/gallium/drivers/vc4/vc4_qpu.c index 434e664fa83..f67e3f8b768 100644 --- a/src/gallium/drivers/vc4/vc4_qpu.c +++ b/src/gallium/drivers/vc4/vc4_qpu.c @@ -337,6 +337,11 @@ try_swap_ra_file(uint64_t *merge, uint64_t *a, uint64_t *b) return false; } + if (!(*merge & QPU_PM) && + QPU_GET_FIELD(*merge, QPU_UNPACK) != QPU_UNPACK_NOP) { + return false; + } + if (raddr_b_b != QPU_R_NOP && raddr_b_b != raddr_a_a) return false; -- cgit v1.2.3