Start of an if block.
if bool |
---|
Where:
Pixel shader versions | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
if bool | x | x | x | x |
If the source Boolean register in the if statement is true, the code enclosed by the if statement and the matching endif - ps or else - ps is executed. Otherwise, the code enclosed by the else - ps...endif - ps statements is executed. This instruction consumes one instruction slot.
An if block can be nested.
An if block cannot straddle a loop block.
An if block can be followed by a statement block, and/or an else - ps instruction, and/or an endif - ps instruction.
This instruction provides conditional static flow control.
defb b3, true if b3 // Instructions to run if b3 is nonzero else // Instructions to run otherwise endif