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

Assembly modèle 5 du nuanceur (DirectX HLSL)