Partager via


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

Assembly de nuanceur modèle 4 (DirectX HLSL)