imm_atomic_consume (sm5 - asm)
Count または Append unordered access view (UAV) と共に格納されている非表示の 32 ビット カウンターをアトミックにデクリメントし、新しい値を返します。
imm_atomic_consume dest[.single_component_mask], dstUAV |
---|
Item | 説明 |
---|---|
Dest |
[入力]返された元のカウンター値を格納します。 |
dstUAV |
[入力]Count フラグまたは Append フラグを持つ構造化バッファー UAV。 |
注釈
UAV が Count か Append かに応じて、返されるカウント値の有効性については、「 imm_atomic_alloc 」を参照してください。 imm_atomic_consumeにも同じことが当てはまります。
imm_atomic_consume はカウンター値のアトミックデクリメントを実行し、新しい値を dest に返します。
カウントのクランプがないため、アンダーフローでラップされます。
同じシェーダーは、同じ UAV でimm_atomic_alloc と imm_atomic_consume の両方を試行できません。 さらに、GPU では、同じ UAV で複数のシェーダー呼び出しで imm_atomic_alloc と imm_atomic_consume を混在させることはできません。
この命令は、次のシェーダー ステージに適用されます。
Vertex | Hull | Domain | ジオメトリ | ピクセル | Compute |
---|---|---|---|---|---|
X | X |
UAV は Direct3D 11.1 のすべてのシェーダー ステージで使用できるため、この命令は Direct3D 11.1 ランタイムのすべてのシェーダー ステージに適用されます。これは、Windows 8 以降で使用できます。
Vertex | Hull | Domain | ジオメトリ | ピクセル | Compute |
---|---|---|---|---|---|
X | X | X | X | X | X |
最小シェーダー モデル
この命令は、次のシェーダー モデルでサポートされています。
シェーダー モデル | サポートされています |
---|---|
シェーダー モデル 5 | はい |
シェーダー モデル 4.1 | X |
シェーダー モデル 4 | X |
シェーダー モデル 3 (DirectX HLSL) | X |
シェーダー モデル 2 (DirectX HLSL) | X |
シェーダー モデル 1 (DirectX HLSL) | X |