IMM _ Atomic _ consume (SM5-ASM)
Décrémenter atomiquement le compteur 32 bits masqué stocké avec un nombre ou ajouter la vue d’accès non ordonné (UAV), en retournant la nouvelle valeur.
| IMM _ Atomic _ consomme dst0 [ . _ _ masque de composant unique ] , dstUAV |
|---|
| Élément | Description |
|---|---|
| dst0 |
[dans ] contient la valeur de compteur d’origine retournée. |
| dstUAV |
[dans ] une mémoire tampon structurée UAV avec l’indicateur Count ou Append. |
Remarques
Consultez IMM _ Atomic _ Alloc pour une discussion sur la validité de la valeur du nombre retourné selon que le UAV est Count ou Append. Il en va de même pour la _ _ consommation atomique IMM.
IMM _ Atomic _ consume effectue une décrémentation atomique de la valeur de compteur, en retournant la nouvelle valeur à dst0.
Il n’y a pas de fixation du nombre. il est donc encapsulé sur un dépassement de capacité négatif.
Le même nuanceur ne peut pas tenter à la fois l' _ _ allocation atomique de IMM et le IMM _ Atomic _ consommer sur le même UAV. En outre, le GPU ne peut pas autoriser plusieurs appels de nuanceur à mélanger _ Atomic Atomic _ Alloc et IMM _ Atomic _ consommer sur le même UAV.
Cette instruction s’applique aux étapes suivantes du nuanceur :
| Sommet | Forme | Domaine | Géométrie | Pixel | Calcul |
|---|---|---|---|---|---|
| X | X |
Étant donné que les UAVs sont disponibles à toutes les étapes de nuanceur pour Direct3D 11,1, cette instruction s’applique à toutes les étapes de nuanceur pour le runtime Direct3D 11,1, disponible à partir de Windows 8.
| Sommet | Forme | Domaine | Géométrie | Pixel | Calcul |
|---|---|---|---|---|---|
| X | X | X | X | X | X |
Modèle de nuanceur minimal
Cette instruction est prise en charge dans les modèles de nuanceur suivants :
| Modèle de nuanceur | Pris en charge |
|---|---|
| Shader, modèle 5 | oui |
| Modèle de nuanceur 4,1 | non |
| Nuanceur modèle 4 | non |
| Shader Model 3 (DirectX HLSL) | non |
| Shader Model 2 (DirectX HLSL) | non |
| Shader Model 1 (DirectX HLSL) | non |