The flow control instructions control the flow of execution.
| call | Call subroutine | Calls a subroutine specified by a label. |
|---|---|---|
| callb | Boolean call | Calls a subroutine specified by a label if the Boolean register is the specified value. |
| callc | Condition call | Calls a subroutine specified by a label if the status register satisfies the specified condition. |
| jpb | Boolean jump | Jumps to the position of a specified label if the Boolean register is the specified value. |
| jpc | Condition jump | Jumps to the position of a specified label if the status register satisfies the specified condition. |
| ret | Return from subroutine | Returns to where the subroutine was invoked. |
| ifb | Start if block by boolean | Starts a control statement based on the contents of a Boolean register. |
| ifc | Start if block by condition | Starts a control statement based on the contents of a status register. |
| else | Start else block | Starts a control statement if the condition is not satisfied by ifb or ifc. |
| endif | End if block | Ends a control statement started by ifb or ifc. |
| loop | Start loop statement | Starts a loop control statement. |
| endloop | End loop statement | Ends a loop control statement. |
| breakc | Break from loop statement by condition | Forcibly ends loop control statement if the status register satisfies the specified condition. |
| cmp | Compare | Compares the contents of two registers and stores the result in a status register. |
| end | End process | Ends vertex shader processing. |
CONFIDENTIAL