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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour