Share via


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

Assembly de modèle de nuanceur 5 (DirectX HLSL)