retc (sm4 - asm)
条件返回。
retc{_z|_nz} src0.select_component |
---|
项 | 说明 |
---|---|
src0 |
[in]要测试条件的寄存器。 |
备注
如果在子例程中,此指令在调用后有条件地返回到指令。 如果不在子例程中,则此指令将终止程序执行。
以下示例演示如何使用此命令。
...
call l3
...
ret
label l3
...
retc_nz r0.x // If any bit in r0.x is nonzero, then return
retc_z r1.x // If all bits in r0.x are zero, then return.
...
ret
限制
- retc 可以出现在程序中的任意位置,任意次数。
- main程序或子例程中的最后一个指令不能是retc_z或retc_nz。 可以改用无条件 ret 。
- src0 提供的 32 位寄存器在位级别进行测试。 如果任一位不为零, ret_nz 将返回。 如果所有位均为零, retc_z 将返回。
此指令适用于以下着色器阶段:
顶点着色器 | 几何着色器 | 像素着色器 |
---|---|---|
x | x | x |
最小着色器模型
以下着色器模型中支持此函数。
着色器模型 | 支持 |
---|---|
着色器模型 5 | 是 |
着色器模型 4.1 | 是 |
着色器模型 4 | 是 |
着色器模型 3 (DirectX HLSL) | 否 |
着色器模型 2 (DirectX HLSL) | 否 |
着色器模型 1 (DirectX HLSL) | 否 |