次の方法で共有


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_allocimm_atomic_consume の両方を試行できません。 さらに、GPU では、同じ UAV で複数のシェーダー呼び出しで imm_atomic_allocimm_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
シェーダー モデル 4
シェーダー モデル 3 (DirectX HLSL)
シェーダー モデル 2 (DirectX HLSL)
シェーダー モデル 1 (DirectX HLSL)

シェーダー モデル 5 アセンブリ (DirectX HLSL)