From: Eric Anholt Date: Sat, 3 Jul 2010 00:02:42 +0000 (-0700) Subject: ir_to_mesa: Fix up implementation of ir_unop_exp. X-Git-Tag: 062012170305~10660^2~509 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b0ac07e3de8d9609fb0b1b7ec85b4149c4ee2c70;p=profile%2Fivi%2Fmesa.git ir_to_mesa: Fix up implementation of ir_unop_exp. OPCODE_EXP is not to ir_unop_exp what OPCODE_EX2 is to ir_unop_exp2. It's the weird VP approximation helper opcode. Just implement it with OPCODE_POW instead. Fixes glsl-fs-exp. --- diff --git a/src/mesa/shader/ir_to_mesa.cpp b/src/mesa/shader/ir_to_mesa.cpp index f8858af..87d6f84 100644 --- a/src/mesa/shader/ir_to_mesa.cpp +++ b/src/mesa/shader/ir_to_mesa.cpp @@ -625,7 +625,8 @@ ir_to_mesa_visitor::visit(ir_expression *ir) break; case ir_unop_exp: - ir_to_mesa_emit_scalar_op1(ir, OPCODE_EXP, result_dst, op[0]); + ir_to_mesa_emit_scalar_op2(ir, OPCODE_POW, result_dst, + src_reg_for_float(M_E), op[0]); break; case ir_unop_exp2: ir_to_mesa_emit_scalar_op1(ir, OPCODE_EX2, result_dst, op[0]);