Mesa (master): vc4: Fix LT/GE set-0-or-1 compares.

Eric Anholt anholt at kemper.freedesktop.org
Mon Aug 25 05:51:53 UTC 2014


Module: Mesa
Branch: master
Commit: 3212bafc28ca3991a89e0554d1867eaa5fde6a0b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3212bafc28ca3991a89e0554d1867eaa5fde6a0b

Author: Eric Anholt <eric at anholt.net>
Date:   Sun Aug 24 14:41:06 2014 -0700

vc4: Fix LT/GE set-0-or-1 compares.

We were using the integer sub, which worked for the common case of EQ and
NE.  Fixes fs-lessThan-ivec2-ivec2 and other tests.

---

 src/gallium/drivers/vc4/vc4_qpu_emit.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/vc4/vc4_qpu_emit.c b/src/gallium/drivers/vc4/vc4_qpu_emit.c
index 415d2b0..072b0b3 100644
--- a/src/gallium/drivers/vc4/vc4_qpu_emit.c
+++ b/src/gallium/drivers/vc4/vc4_qpu_emit.c
@@ -411,7 +411,7 @@ vc4_generate_code(struct qcompile *c)
                 case QOP_SGE:
                 case QOP_SLT:
                         fixup_raddr_conflict(c, src[0], &src[1]);
-                        queue(c, qpu_inst(qpu_a_SUB(qpu_ra(QPU_W_NOP),
+                        queue(c, qpu_inst(qpu_a_FSUB(qpu_ra(QPU_W_NOP),
                                                     src[0], src[1]),
                                           qpu_m_NOP()));
                         *last_inst(c) |= QPU_SF;




More information about the mesa-commit mailing list