glsl: Optimize pow(1.0, X) --> 1.0.

Surprisingly, this helps one vertex shader in 3DMMES.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Kenneth Graunke
2014-01-05 22:19:42 -08:00
parent 05fbb021a6
commit d6c1d66d3a

View File

@@ -416,6 +416,12 @@ ir_algebraic_visitor::handle_expression(ir_expression *ir)
}
break;
case ir_binop_pow:
/* 1^x == 1 */
if (is_vec_one(op_const[0]))
return op_const[0];
break;
case ir_unop_rcp:
if (op_expr[0] && op_expr[0]->operation == ir_unop_rcp)
return op_expr[0]->operands[0];