summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2016-02-15 14:43:38 -0800
committerEric Anholt <[email protected]>2016-02-15 17:13:52 -0800
commit655fa0f46531a15b6fb0e31486e305e518100c66 (patch)
tree1246073e7c41582a9448fc42effe005620f009f0
parent00a1bd13b5c6b565b5d15409a6f814b0df2fbe29 (diff)
vc4: Don't treat conditional MOVs as raw MOV.
The two consumers want to know that the destination will be exactly the source, which is not true if we might not set the destination. Signed-off-by: Eric Anholt <[email protected]>
-rw-r--r--src/gallium/drivers/vc4/vc4_qir.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qir.c b/src/gallium/drivers/vc4/vc4_qir.c
index efbb69b71a7..f9eb0e151c5 100644
--- a/src/gallium/drivers/vc4/vc4_qir.c
+++ b/src/gallium/drivers/vc4/vc4_qir.c
@@ -193,6 +193,7 @@ qir_is_raw_mov(struct qinst *inst)
return ((inst->op == QOP_MOV ||
inst->op == QOP_FMOV ||
inst->op == QOP_MMOV) &&
+ inst->cond == QPU_COND_ALWAYS &&
!inst->dst.pack &&
!inst->src[0].pack);
}