ir_constant_expression: Add support for ir_unop_log2.

This uses a C99 function.
This commit is contained in:
Kenneth Graunke
2010-07-08 23:18:09 -07:00
parent aca01edc83
commit cb63929df4

View File

@@ -337,6 +337,13 @@ ir_constant_visitor::visit(ir_expression *ir)
}
break;
case ir_unop_log2:
assert(op[0]->type->base_type == GLSL_TYPE_FLOAT);
for (unsigned c = 0; c < ir->operands[0]->type->components(); c++) {
data.f[c] = log2f(op[0]->value.f[c]);
}
break;
case ir_unop_dFdx:
case ir_unop_dFdy:
assert(op[0]->type->base_type == GLSL_TYPE_FLOAT);