breakc (sm4 - asm)

有条件地将执行点移动到下一个 endloopendwitch 后的指令。

breakc{_z|_nz} src0.select_component
说明
src0
[in]要对其测试条件的组件。

备注

为了方便起见,标记格式包含着色器中相应 endloop 指令的偏移量。

以下示例演示breakc 指令。

                loop
                    // example of termination condition
                    breakc_z  r0.x // break if all bits in r0.x are 0
                    breakc_nz r1.x // break if any bit in r1.x is nonzero
                    ...
                endloop

此指令必须出现在 循环/endloopswitch/endwitch 中。

src0 提供的 32 位寄存器在位级别进行测试。 如果任一位为非零位, breakc_nz 将执行中断。 如果所有位均为零, breakc_z 将执行中断。

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

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

最小着色器模型

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

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

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