callnz pred - ps

Call with a predicate, if not zero. Performs a conditional call to the instruction marked by the label index. Predication uses a Boolean value to determine whether of not to perform the instruction.

Syntax

callnz l#, [!]p0.{x|y|z|w}

 

Where:

  • where l# is a label - ps marking the beginning of the subroutine to be called.
  • [!] is an optional negate modifier.
  • p0 is the predicate register. See Predicate Register.
  • {x|y|z|w} is the required replicate swizzle on p0.

Remarks

Pixel shader versions 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
callnz pred x x x x

 

This instruction does the following:

if (specified register component is not zero)
{
    Push address of the next instruction to the return address stack
    Continue execution from the instruction marked by the label
}

Pixel Shader Instructions