rsq - vs

Computes the reciprocal square root (positive only) of the source scalar.

Syntax

rsq dst, src

where

Remarks

Vertex shader versions 1_1 2_0 2_x 2_sw 3_0 3_sw
rsq x x x x x x

The following code fragment shows the operations performed.

float f = abs(src0);
if (f == 0)
    f = FLT_MAX
else
{
    if (f != 1.0)
        f = 1.0/(float)sqrt(f);
}

dest.z = dest.y = dest.z = dest.w = f;

The absolute value is taken before processing.

Precision should be at least 1.0/(222) absolute error over the range (1.0, 4.0) because common implementations will separate mantissa and exponent.

If source has no subscripts, the x-component is used. The output must be exactly 1.0 if the input is exactly 1.0. A source of 0.0 yields infinity.