if (sm4 - asm)
Branche basée sur le résultat OU logique.
if{_z|_nz} src0.select_component |
---|
Élément | Description |
---|---|
src0 |
[in] Contient le composant sur lequel tester la condition. |
Notes
Le format de jeton contient le décalage de l’instruction endif correspondante dans le nuanceur par commodité.
L’exemple suivant montre comment utiliser cette instruction.
if_z r0.x // if all bits in r0.x are zero
...
else // (optional)
...
endif
if_nz r1.x // if any bit in r0.x is nonzero
...
else // (optional)
...
endif
Restrictions
- Les opérandes sources (si 4 vecteurs de composant) doivent utiliser un seul sélecteur de composant.
- Le registre 32 bits fourni par src0 est testé au niveau du bit. Si un bit est différent de zéro, if_z aura la valeur true. Si tous les bits sont zéro, if_nz aura la valeur true.
- 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.
Cette instruction s’applique aux étapes suivantes du nuanceur :
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 |
Modèle de nuanceur 3 (DirectX HLSL) | non |
Shader Model 2 (DirectX HLSL) | non |
Modèle de nuanceur 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