Full precision log2(x).
| log dst, src |
|---|
where
| Pixel shader versions | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
|---|---|---|---|---|---|---|---|---|---|
| log | x | x | x | x | x |
The following code snippet shows the operations performed.
float v = abs(src);
if (v != 0)
{
dest.x = dest.y = dest.z = dest.w =
(float)(log(v)/log(2));
}
else
{
dest.x = dest.y = dest.z = dest.w = -FLT_MAX;
}
This instruction accepts a scalar source whose sign bit is ignored. The result is replicated to all four channels.