Start of an if pred - vs...else - vs...endif - vs block, with the condition taken from the content of the predicate register.
| if [!]pred.replicateSwizzle |
|---|
Where:
| Vertex shader versions | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
|---|---|---|---|---|---|---|
| if pred | x | x | x | x |
This instruction is used to skip a block of code, based on a channel of the predicate register. Each if_pred block must end with an else or endif instruction.
Restrictions include:
if_pred blocks can be nested. This counts to the total dynamic nesting depth along with if_comp blocks.
An if_pred block cannot straddle a loop block, it should be either completely inside it or surround it.