如果 (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) | 否 |