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_zretc_nz。 可以改用无条件 ret
  • src0 提供的 32 位寄存器在位级别进行测试。 如果任一位不为零, ret_nz 将返回。 如果所有位均为零, retc_z 将返回。

此指令适用于以下着色器阶段:

顶点着色器 几何着色器 像素着色器
x x x

最小着色器模型

以下着色器模型中支持此函数。

着色器模型 支持
着色器模型 5
着色器模型 4.1
着色器模型 4
着色器模型 3 (DirectX HLSL)
着色器模型 2 (DirectX HLSL)
着色器模型 1 (DirectX HLSL)

着色器模型 4 程序集 (DirectX HLSL)