共用方式為


如果 (sm4 - asm)

以邏輯 OR 結果為基礎的分支。

if{_z|_nz} src0.select_component
項目 描述
src0
[in]包含要測試條件的元件。

備註

權杖格式包含著色器中對應 endif 指令的位移,以方便起見。

下列範例示範如何使用此指令。

                if_z r0.x // if all bits in r0.x are zero
                   ...
                else // (optional)
                   ...
                endif
                if_nz r1.x // if any bit in r0.x is nonzero
                   ...
                else // (optional)
                   ...
                endif

Restrictions

  • 如果 4 個元件向量) 必須使用單一元件選取器,則來源運算元 (。
  • src0所提供的 32 位暫存器會在位層級進行測試。 如果有任何位為非零, 則if_z 為 true。 如果所有位都是零, 則if_nz 為 true。
  • 流程式控制制區塊每個副程式最多可以巢狀 64 個深度 (和主要) 。 HLSL 編譯器不會產生超過此限制的副程式。 未定義每個副程式) 超過 64 層深度 (的控制流程指令行為。

本指示適用于下列著色器階段:

頂點著色器 幾何著色器 像素著色器
x x x

最小著色器模型

下列著色器模型中支援此函式。

著色器模型 支援
著色器模型 5
著色器模型 4.1
著色器模型 4
著色器模型 3 (DirectX HLSL)
著色器模型 2 (DirectX HLSL)
著色器模型 1 (DirectX HLSL)

著色器模型 4 元件 (DirectX HLSL)