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 |