retc (sm4 - asm)
Retour conditionnel.
retc{_z|_nz} src0.select_component |
---|
Élément | Description |
---|---|
src0 |
[in] Registre sur lequel tester la condition. |
Notes
Si dans une sous-routine, cette instruction retourne conditionnellement à l’instruction après l’appel. Si elle n’est pas à l’intérieur d’une sous-routine, cette instruction met fin à l’exécution du programme.
L’exemple suivant montre comment utiliser cette instruction.
...
call l3
...
ret
label l3
...
retc_nz r0.x // If any bit in r0.x is nonzero, then return
retc_z r1.x // If all bits in r0.x are zero, then return.
...
ret
Restrictions
- retc peut apparaître n’importe où dans un programme, n’importe quel nombre de fois.
- La dernière instruction d’un programme ou d’une sous-routine main ne peut pas être une retc_z ou une retc_nz. Au lieu de cela, le ret inconditionnel peut être utilisé.
- Le registre 32 bits fourni par src0 est testé au niveau du bit. Si un bit n’est pas nul, ret_nz retournera. Si tous les bits sont zéro, retc_z retourne.
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 |