Share via


imm_atomic_consume (sm5 – asm)

Dekrementieren Sie den ausgeblendeten 32-Bit-Zähler atomar, der mit einer Count- oder Append Unordered Access View (UAV) gespeichert ist, und geben Sie den neuen Wert zurück.

imm_atomic_consume dest[.single_component_mask], dstUAV
Element BESCHREIBUNG
Dest
[in] Enthält den zurückgegebenen ursprünglichen Leistungsindikatorwert.
dstUAV
[in] Ein strukturiertes Puffer-UAV mit dem Count- oder Append-Flag.

Hinweise

Unter imm_atomic_alloc finden Sie eine Diskussion über die Gültigkeit des zurückgegebenen Zählungswerts, je nachdem, ob der UAV Count oder Append ist. Gleiches gilt für imm_atomic_consume.

imm_atomic_consume führt eine atomare Dekrementierung des Zählerwerts durch und gibt den neuen Wert an dest zurück.

Es gibt keine Klemmung der Anzahl, sodass sie auf Unterlauf umschließt.

Derselbe Shader kann nicht imm_atomic_alloc und imm_atomic_consume auf demselben UAV versuchen. Darüber hinaus kann die GPU nicht zulassen, dass mehrere Shaderaufrufe imm_atomic_alloc und imm_atomic_consume auf demselben UAV kombinieren.

Diese Anweisung gilt für die folgenden Shaderphasen:

Scheitelpunkt Hull Domain Geometrie Pixel Compute
X X

Da UAVs in allen Shaderphasen für Direct3D 11.1 verfügbar sind, gilt diese Anweisung für alle Shaderstufen für die Direct3D 11.1-Runtime, die ab Windows 8 verfügbar ist.

Scheitelpunkt Hull Domain Geometrie Pixel Compute
X X X X X X

Minimales Shadermodell

Diese Anweisung wird in den folgenden Shadermodellen unterstützt:

Shadermodell Unterstützt
Shadermodell 5 ja
Shadermodell 4.1 Nein
Shadermodell 4 Nein
Shadermodell 3 (DirectX HLSL) Nein
Shadermodell 2 (DirectX HLSL) Nein
Shadermodell 1 (DirectX HLSL) Nein

Shadermodell 5-Assembly (DirectX HLSL)