boucle (sm4 - asm)
Spécifie une boucle qui itère jusqu’à ce qu’une instruction d’arrêt soit rencontrée.
loop |
---|
Notes
la boucle peut itérer indéfiniment, même si l’exécution globale du nuanceur peut être forcée à se terminer après l’exécution d’un certain nombre d’instructions.
Les blocs de contrôle de flux peuvent imbriquer jusqu’à 64 profondeurs par sous-routine et main. Le compilateur HLSL ne génère pas de sous-routines qui dépassent cette limite. Le comportement des instructions de flux de contrôle au-delà de 64 niveaux de profondeur par sous-routine n’est pas défini.
Le format de jeton contient le décalage de l’instruction endloop correspondante dans le nuanceur à titre pratique.
L’exemple suivant montre comment utiliser l’instruction de boucle.
loop
// example of termination condition
if_nz r0.x
break
endif
...
endloop
Cette instruction s’applique aux étapes de nuanceur suivantes :
Nuanceur de sommets | Nuanceur de géométrie | Nuanceur de pixels |
---|---|---|
x | x | x |
Modèle de nuanceur minimal
Cette fonction est prise en charge dans les modèles de nuanceur suivants.
Modèle de nuanceur | Prise en charge |
---|---|
Modèle de nuanceur 5 | Oui |
Modèle de nuanceur 4.1 | Oui |
Modèle de nuanceur 4 | Oui |
Nuanceur modèle 3 (DirectX HLSL) | non |
Nuanceur modèle 2 (DirectX HLSL) | non |
Nuanceur Modèle 1 (DirectX HLSL) | non |
Rubriques connexes