ciclo (sm4 - asm)
Specifica un ciclo che esegue l'iterazione fino a quando non viene rilevata un'istruzione di interruzione.
loop |
---|
Commenti
il ciclo può eseguire un'iterazione indefinita, anche se l'esecuzione complessiva di Shader potrebbe essere costretta a terminare dopo l'esecuzione di un certo numero di istruzioni.
I blocchi di controllo flusso possono annidare fino a 64 profondità per subroutine e main. Il compilatore HLSL non genererà subroutine che superano questo limite. Il comportamento delle istruzioni del flusso di controllo oltre i 64 livelli profondi per subroutine non è definito.
Il formato del token contiene l'offset dell'istruzione endloop corrispondente in Shader come praticità.
Nell'esempio seguente viene illustrato come usare l'istruzione ciclo.
loop
// example of termination condition
if_nz r0.x
break
endif
...
endloop
Questa istruzione si applica alle fasi dello shader seguenti:
Vertex shader | Geometry shader | Pixel shader |
---|---|---|
x | x | x |
Modello di shader minimo
Questa funzione è supportata nei modelli shader seguenti.
Modello di shader | Supportato |
---|---|
Modello shader 5 | sì |
Modello shader 4.1 | sì |
Modello shader 4 | sì |
Modello shader 3 (DirectX HLSL) | no |
Modello shader 2 (DirectX HLSL) | no |
Modello shader 1 (DirectX HLSL) | no |
Argomenti correlati