From 1a7035f386c4402b07e7a2073daf914f95bd0a02 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sun, 24 Aug 2014 17:43:02 -0700 Subject: [PATCH] vc4: Ignore WADDRs from the other half of the instruction when merging. This allows setting the opposite-side WADDR to NOP (a non-zero value) in qpu_* helpers, so that we don't need to qpu_inst() merge them with NOPs all the time just to get the waddr set. --- src/gallium/drivers/vc4/vc4_qpu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/vc4/vc4_qpu.c b/src/gallium/drivers/vc4/vc4_qpu.c index d74dee5689e..35c65dc2eb3 100644 --- a/src/gallium/drivers/vc4/vc4_qpu.c +++ b/src/gallium/drivers/vc4/vc4_qpu.c @@ -192,7 +192,8 @@ qpu_m_alu2(enum qpu_op_mul op, uint64_t qpu_inst(uint64_t add, uint64_t mul) { - uint64_t merge = add | mul; + uint64_t merge = ((add & ~QPU_WADDR_MUL_MASK) | + (mul & ~QPU_WADDR_ADD_MASK)); /* If either one has no signal field, then use the other's signal field. * (since QPU_SIG_NONE != 0). -- 2.30.2