Mesa (master): i965: Fix a weirdness in NOT handling.
Eric Anholt
anholt at kemper.freedesktop.org
Mon Oct 18 19:58:20 UTC 2010
Module: Mesa
Branch: master
Commit: 746e68c50b4ae1566b342fbc965557b6dbcfaa2e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=746e68c50b4ae1566b342fbc965557b6dbcfaa2e
Author: Eric Anholt <eric at anholt.net>
Date: Mon Oct 18 11:13:26 2010 -0700
i965: Fix a weirdness in NOT handling.
XOR makes much more sense. Note that the previous code would have
failed for not(not(x)), but that gets optimized out.
---
src/mesa/drivers/dri/i965/brw_fs.cpp | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index c9e1098..2224dc7 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -720,7 +720,7 @@ fs_visitor::visit(ir_expression *ir)
/* Note that BRW_OPCODE_NOT is not appropriate here, since it is
* ones complement of the whole register, not just bit 0.
*/
- emit(fs_inst(BRW_OPCODE_ADD, this->result, op[0], fs_reg(-1)));
+ emit(fs_inst(BRW_OPCODE_XOR, this->result, op[0], fs_reg(1)));
break;
case ir_unop_neg:
op[0].negate = !op[0].negate;
More information about the mesa-commit
mailing list