放弃 (sm4 - asm)

有条件地标记像素着色器的结果,当到达程序结束时要丢弃。

discard{_z|_nz} src0.select_component
说明
src0
[in]确定是否放弃正在处理的当前像素的值。

备注

此指令将当前像素标记为已终止,同时继续执行,以便并行执行的其他像素可能在必要时获得导数。 即使执行继续,也会放弃 放弃 指令之前或之后的所有像素着色器输出写入。

对于 discard_z,如果 src0.select_component 中的所有位都为零,则放弃像素。

对于 discard_nz,如果 src0.select_component 中的任何位为非零位,则放弃像素。

此外, 放弃 指令可以存在于任何流控制构造中。

着色器中可能存在多个 放弃 指令,如果执行了任何放弃指令,则终止像素。

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

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

最小着色器模型

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

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

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