glsl2: Add a pass to convert exp and log to exp2 and log2.
Fixes ir_to_mesa handling of unop_log, which used the weird ARB_vp LOG opcode that doesn't do what we want. This also lets the multiplication coefficients in there get constant-folded, possibly. Fixes: glsl-fs-log
This commit is contained in:
@@ -183,10 +183,14 @@ ir_validate::visit_leave(ir_expression *ir)
|
||||
case ir_unop_rcp:
|
||||
case ir_unop_rsq:
|
||||
case ir_unop_sqrt:
|
||||
assert(ir->type == ir->operands[0]->type);
|
||||
break;
|
||||
|
||||
case ir_unop_exp:
|
||||
case ir_unop_log:
|
||||
case ir_unop_exp2:
|
||||
case ir_unop_log2:
|
||||
assert(ir->operands[0]->type->base_type == GLSL_TYPE_FLOAT);
|
||||
assert(ir->type == ir->operands[0]->type);
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user