From 2c2aa353366c610382273bea10656e6d6960ce3b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sat, 18 Jan 2014 10:36:28 -0800 Subject: [PATCH] glsl: Optimize ~~x into x. v2: Fix pasteo of an extra abs being inserted (caught by many). Rewrite to drop the silly switch statement. Reviewed-by: Matt Turner (v1) --- src/glsl/opt_algebraic.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp index d1f6435f44f..681973dda0e 100644 --- a/src/glsl/opt_algebraic.cpp +++ b/src/glsl/opt_algebraic.cpp @@ -218,6 +218,11 @@ ir_algebraic_visitor::handle_expression(ir_expression *ir) this->mem_ctx = ralloc_parent(ir); switch (ir->operation) { + case ir_unop_bit_not: + if (op_expr[0] && op_expr[0]->operation == ir_unop_bit_not) + return op_expr[0]->operands[0]; + break; + case ir_unop_abs: if (op_expr[0] == NULL) break; -- 2.30.2