imm_atomic_consume (sm5 - asm)

以不可部分完成方式遞減以 Count 或 Append 未排序存取檢視儲存的隱藏 32 位計數器, (UAV) ,並傳回新的值。

imm_atomic_consume dest[.single_component_mask], dstUAV
項目 描述
dest
[in]包含傳回的原始計數器值。
dstUAV
[in]具有 Count 或 Append 旗標的結構化緩衝區 UAV。

備註

如需傳回計數值有效性的討論 ,請參閱imm_atomic_alloc ,視 UAV 為 Count 或 Append 而定。 這也適用于 imm_atomic_consume

imm_atomic_consume 會執行計數器值的不可部分完成遞減,並將新值傳回 dest

計數沒有限制,因此它會包裝在下溢。

相同的著色器無法在相同的 UAV 上嘗試 imm_atomic_allocimm_atomic_consume 。 此外,GPU 不允許多個著色器調用在相同的 UAV 上混合 imm_atomic_allocimm_atomic_consume

本指示適用于下列著色器階段:

頂點 船體 網域 幾何形狀 像素 計算
X X

由於 Direct3D 11.1 的所有著色器階段都提供 UAV,因此本指示適用于 Direct3D 11.1 執行時間的所有著色器階段,從 Windows 8 開始提供。

頂點 船體 網域 幾何形狀 像素 計算
X X X X X X

最小著色器模型

下列著色器模型支援此指示:

著色器模型 支援
著色器模型 5
著色器模型 4.1
著色器模型 4
著色器模型 3 (DirectX HLSL)
著色器模型 2 (DirectX HLSL)
著色器模型 1 (DirectX HLSL)

著色器模型 5 元件 (DirectX HLSL)