callc (sm4 - asm)
Appelle de manière conditionnelle une sous-routine marquée par où l’étiquette l# apparaît dans le programme.
callc{_z|_nz} src0.select_component, l # |
---|
Élément | Description |
---|---|
src0 |
[in] Composant sur lequel tester la condition. |
L # |
[in] Étiquette de la sous-routine. |
Notes
Lorsqu’un ret est rencontré, retournez l’exécution à l’instruction après cet appel.
Le format de jeton contient le décalage de l’étiquette correspondante dans le nuanceur à titre pratique.
L’exemple suivant montre l’instruction d’appel.
...
callc_z r1.y, l3 // if all bits in r0.x are 0, call l3
callc_nz r2.z, l3 // if any bit in r0.x is nonzero, call l3
...
ret
label l3
...
retc_nz r0.x
...
ret
Restrictions
- Les sous-routines peuvent imbriquer 32 profondeurs.
- La pile d’adresses de retour est gérée de manière transparente par l’implémentation.
- S’il existe déjà 32 entrées dans la pile d’adresses de retour et qu’un appel est émis, l’appel est ignoré.
- Il n’y a pas de pile de paramètres automatique. L’application peut utiliser un tableau de registre temporaire indexable (x#[]) pour implémenter manuellement une pile. Toutefois, les adresses de retour d’appel de sous-routine ne sont pas visibles et sont orthogonales à toute gestion manuelle de la pile effectuée par l’application.
- L’indexation du paramètre l# n’est pas autorisée.
- Le registre 32 bits fourni par src0 est testé au niveau du bit. Si un bit n’est pas nul, callc_nz effectuera l’appel. Si tous les bits sont zéro, callc_z effectuera l’appel.
- La récursivité n’est pas autorisée.
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 | Pris 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