diff options
author | Eric Anholt <[email protected]> | 2014-08-24 17:43:02 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-08-24 22:13:25 -0700 |
commit | 1a7035f386c4402b07e7a2073daf914f95bd0a02 (patch) | |
tree | bc99a2846adbe1a10db0a7799307abb8a136e644 | |
parent | 3212bafc28ca3991a89e0554d1867eaa5fde6a0b (diff) |
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.
-rw-r--r-- | src/gallium/drivers/vc4/vc4_qpu.c | 3 |
1 files changed, 2 insertions, 1 deletions
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). |