Mesa (master): gallivm: Fix and enable the extra Newton/ Raphson step in lp_build_rcp().
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Wed Aug 11 17:46:40 UTC 2010
Module: Mesa
Branch: master
Commit: b481a1237e00e1e1fb68ffca0653df3a96f21788
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b481a1237e00e1e1fb68ffca0653df3a96f21788
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Aug 11 18:44:17 2010 +0100
gallivm: Fix and enable the extra Newton/Raphson step in lp_build_rcp().
Thanks to Michal for spotting this.
---
src/gallium/auxiliary/gallivm/lp_bld_arit.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_arit.c b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
index cf2feeb..816ee70 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_arit.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_arit.c
@@ -1274,7 +1274,7 @@ lp_build_rcp(struct lp_build_context *bld,
* when we have a better system in place to track minimum precision.
*/
-#if 0
+#if 1
/*
* Do one Newton-Raphson step to improve precision:
*
@@ -1291,7 +1291,7 @@ lp_build_rcp(struct lp_build_context *bld,
res = LLVMBuildFSub(bld->builder, two, res, "");
res = LLVMBuildFMul(bld->builder, res, rcp_a, "");
- return rcp_a;
+ return res;
#else
return lp_build_intrinsic_unary(bld->builder, "llvm.x86.sse.rcp.ps", lp_build_vec_type(type), a);
#endif
More information about the mesa-commit
mailing list