imm_atomic_consume (sm5 - asm)
Décrémentez de manière atomique le compteur 32 bits masqué stocké avec une vue d’accès non ordonné Count ou Append, en retournant la nouvelle valeur.
imm_atomic_consume dest[.single_component_mask], dstUAV |
---|
Élément | Description |
---|---|
Dest |
[in] Contient la valeur du compteur d’origine retournée. |
dstUAV |
[in] UAV de mémoire tampon structurée 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 l’UAV est Count ou Append. Il en est de même pour imm_atomic_consume.
imm_atomic_consume effectue une décrémentation atomique de la valeur du compteur, en retournant la nouvelle valeur à dest.
Il n’y a pas de serrage du nombre, donc il s’enroule sur le flux inférieur.
Le même nuanceur ne peut pas essayer à la fois imm_atomic_alloc et imm_atomic_consume sur le même UAV. En outre, le GPU ne peut pas autoriser plusieurs appels de nuanceur à mélanger imm_atomic_alloc et imm_atomic_consume sur le même UAV.
Cette instruction s’applique aux étapes de nuanceur suivantes :
Sommet | Coque | Domain | Géométrie | Pixel | Compute |
---|---|---|---|---|---|
X | X |
Étant donné que les UAV sont disponibles à toutes les étapes du nuanceur pour Direct3D 11.1, cette instruction s’applique à toutes les étapes de nuanceur pour le runtime Direct3D 11.1, qui est disponible à partir de Windows 8.
Sommet | Coque | Domain | Géométrie | Pixel | Compute |
---|---|---|---|---|---|
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 |
---|---|
Modèle de nuanceur 5 | Oui |
Modèle de nuanceur 4.1 | Non |
Modèle de nuanceur 4 | Non |
Nuanceur modèle 3 (DirectX HLSL) | Non |
Nuanceur modèle 2 (DirectX HLSL) | Non |
Nuanceur modèle 1 (DirectX HLSL) | Non |