breakc (sm4 - asm)
有条件地将执行点移动到下一个 endloop 或 endwitch 后的指令。
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
此指令必须出现在 循环/endloop 或 switch/endwitch 中。
src0 提供的 32 位寄存器在位级别进行测试。 如果任一位为非零位, breakc_nz 将执行中断。 如果所有位均为零, breakc_z 将执行中断。
此指令适用于以下着色器阶段:
顶点着色器 | 几何着色器 | 像素着色器 |
---|---|---|
x | x | x |
最小着色器模型
以下着色器模型中支持此函数。
着色器模型 | 支持 |
---|---|
着色器模型 5 | 是 |
着色器模型 4.1 | 是 |
着色器模型 4 | 是 |
着色器模型 3 (DirectX HLSL) | 否 |
着色器模型 2 (DirectX HLSL) | 否 |
着色器模型 1 (DirectX HLSL) | 否 |