summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-10-18 11:13:26 -0700
committerEric Anholt <eric@anholt.net>2010-10-18 12:56:44 -0700
commit746e68c50b4ae1566b342fbc965557b6dbcfaa2e (patch)
tree4eab8309f3b970557cca727e51e70bc1e4bf74fc
parentea213417f14a8b2734cb2a88d8aa1ac05a70b7d5 (diff)
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.
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp2
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 c9e109871ad..2224dc7a0e9 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;