Instruction for
Exécute itérativement une série d’instructions, en fonction de l’évaluation de l’expression conditionnelle.
[Attribut ] pour ( initialiseur ; Conditionnel Iterator ) { bloc d’instructions;}
Paramètres
-
Attribut
-
Paramètre facultatif qui contrôle la façon dont l’instruction est compilée. Quand aucun attribut n’est spécifié, le compilateur tente d’abord d’émettre une version restaurée de la boucle, et en cas d’échec, ou si certaines opérations sont plus faciles si la boucle a été déroulée, revient à une version non terminée de la boucle.
Attribut Description dérouler (x) Dérouler la boucle jusqu’à ce qu’elle cesse de s’exécuter. Peut éventuellement spécifier le nombre maximal de fois où la boucle doit s’exécuter. Non compatible avec l’attribut de [ boucle ] . loop Générez du code qui utilise le contrôle de Flow pour exécuter chaque itération de la boucle. Non compatible avec l’attribut [ Unroll ] . fastopt Réduit le temps de compilation, mais produit des optimisations moins agressives. Si vous utilisez cet attribut, le compilateur ne déroulera pas les boucles.
Cet attribut affecte uniquement les cibles de modèle Shader qui prennent en charge les instructions break . Cet attribut est disponible dans le modèle de nuanceur vs _ 2 _ x et le nuanceur modèle 3 et versions ultérieures. Elle est particulièrement utile dans le nuanceur modèle 4 et versions ultérieures lorsque le compilateur compile des boucles. Le compilateur simule par défaut des boucles pour déterminer s’il peut les dérouler. Si vous ne souhaitez pas que le compilateur dérouler les boucles, utilisez cet attribut pour réduire le temps de compilation.autoriser _ la _ condition UAV Permet à une condition d’arrêt de boucle Compute Shader de se baser sur une lecture UAV. La boucle ne doit pas contenir d’intrinsèques de synchronisation. -
Initialiseur
-
Valeur initiale du compteur de boucle.
-
Conditionnel
-
Expressionconditionnelle. Si l’expression conditionnelle prend la valeur true, le bloc d’instructions est exécuté. La boucle se termine lorsque l’expression prend la valeur false.
-
Répétiteur
-
Mettez à jour la valeur du compteur de boucle.
-
Bloc d’instructions
-
Une ou plusieurs instructions HLSL.
Notes
Les attributs de [ boucle ] et de [ déroulabilité ] s’excluent mutuellement et génèrent des erreurs de compilation lorsque les deux sont spécifiés.
Les attributs de [ _ _ condition ] [ ] fastopt et allow UAV sont ignorés si [ Unroll ] est spécifié.