共用方式為


loop (sm4 - asm)

指定迴圈,在遇到中斷指令之前逐一查看。

loop

 

備註

迴圈 可以無限期地逐一查看,雖然執行某些指令之後,可能會強制終止著色器的整體執行。

每個副程式和主要流程式控制制區塊最多可以巢狀化 64 個深度。 HLSL 編譯器不會產生超過此限制的副程式。 未定義每個副程式深度超過 64 層的控制流程指令行為。

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

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

                loop
                    // example of termination condition
                    if_nz r0.x
                        break
                    endif
                    ...
                endloop

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

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

 

最小著色器模型

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

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

 

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