Mesa (7.10): i965/vs: When MOVing to produce ABS, strip negate of the operand.

Eric Anholt anholt at kemper.freedesktop.org
Tue Jan 18 20:14:40 UTC 2011


Module: Mesa
Branch: 7.10
Commit: b90223f4cf472fd8d3bc914739e6cbd9c90a673d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b90223f4cf472fd8d3bc914739e6cbd9c90a673d

Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jan 12 09:40:05 2011 -0800

i965/vs: When MOVing to produce ABS, strip negate of the operand.

We were returning the negative absolute value, instead of the absolute
value.  Fixes glsl-vs-abs-neg.
(cherry picked from commit 9351ef7a4418f5c1bb95a8f2016af0a15fa97679)

---

 src/mesa/drivers/dri/i965/brw_vs_emit.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vs_emit.c b/src/mesa/drivers/dri/i965/brw_vs_emit.c
index a64188a..50100d9 100644
--- a/src/mesa/drivers/dri/i965/brw_vs_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_vs_emit.c
@@ -1943,6 +1943,7 @@ void brw_vs_emit(struct brw_vs_compile *c )
 
       switch (inst->Opcode) {
       case OPCODE_ABS:
+	 args[0].negate = false;
 	 brw_MOV(p, dst, brw_abs(args[0]));
 	 break;
       case OPCODE_ADD:




More information about the mesa-commit mailing list