Mesa (master): gallivm: Fix lp_build_sgn for normalized/ fixed-point integers.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Tue May 15 21:37:12 UTC 2012


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

Author: José Fonseca <jose.r.fonseca at gmail.com>
Date:   Tue May 15 22:36:09 2012 +0100

gallivm: Fix lp_build_sgn for normalized/fixed-point integers.

These types got broken with the recent commit that fixed lp_build_sgn
for negative integers.

---

 src/gallium/auxiliary/gallivm/lp_bld_arit.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
index 3a74790..d112f1a 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
@@ -926,7 +926,8 @@ lp_build_sgn(struct lp_build_context *bld,
    }
    else
    {
-      LLVMValueRef minus_one = lp_build_const_int_vec(bld->gallivm, type, -1.0);
+      /* signed int/norm/fixed point */
+      LLVMValueRef minus_one = lp_build_const_vec(bld->gallivm, type, -1.0);
       cond = lp_build_cmp(bld, PIPE_FUNC_GREATER, a, bld->zero);
       res = lp_build_select(bld, cond, bld->one, minus_one);
    }




More information about the mesa-commit mailing list