breakc (sm4 - asm)
Déplace de manière conditionnelle le point d’exécution vers l’instruction après le prochain endloop ou endswitch.
breakc{_z|_nz} src0.select_component |
---|
Élément | Description |
---|---|
src0 |
[in] Composant sur lequel tester la condition. |
Notes
Le format de jeton contient le décalage de l’instruction endloop correspondante dans le nuanceur par commodité.
L’exemple suivant montre l’instructionbreakc .
loop
// example of termination condition
breakc_z r0.x // break if all bits in r0.x are 0
breakc_nz r1.x // break if any bit in r1.x is nonzero
...
endloop
Cette instruction doit apparaître dans un/ boucleendloop ou switch/endswitch.
Le registre 32 bits fourni par src0 est testé au niveau du bit. Si un bit est différent de zéro, breakc_nz effectuera l’arrêt. Si tous les bits sont zéro, breakc_z effectuera l’arrêt.
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 | Pris 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 |