Mesa (master): i965: Fix swapped instructions in ir_unop_abs and ir_unop_neg.

Eric Anholt anholt at kemper.freedesktop.org
Fri Aug 27 20:20:53 UTC 2010


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

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Aug 27 13:19:28 2010 -0700

i965: Fix swapped instructions in ir_unop_abs and ir_unop_neg.

Fixes glsl-fs-neg and 5 other tests.

---

 src/mesa/drivers/dri/i965/brw_fs.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 336dbd6..d836986 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -641,12 +641,12 @@ fs_visitor::visit(ir_expression *ir)
       emit(fs_inst(BRW_OPCODE_ADD, this->result, op[0], fs_reg(-1)));
       break;
    case ir_unop_neg:
-      this->result = op[0];
       op[0].negate = ~op[0].negate;
+      this->result = op[0];
       break;
    case ir_unop_abs:
-      this->result = op[0];
       op[0].abs = true;
+      this->result = op[0];
       break;
    case ir_unop_sign:
       temp = fs_reg(this, ir->type);




More information about the mesa-commit mailing list