From: Eric Anholt Date: Mon, 18 Oct 2010 18:13:26 +0000 (-0700) Subject: i965: Fix a weirdness in NOT handling. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=746e68c50b4ae1566b342fbc965557b6dbcfaa2e;p=mesa.git 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. --- 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;