RWByteAddressBuffer

以字节为单位编制索引的读/写缓冲区。

方法 说明
GetDimensions 获取资源维度。
InterlockedAdd 以原子方式添加 。
InterlockedAnd AND,以原子方式。
InterlockedCompareExchange 以原子方式进行比较和交换。
InterlockedCompareStore 以原子方式比较和存储。
InterlockedExchange 以原子方式交换。
InterlockedMax 以原子方式查找最大值。
InterlockedMin 以原子方式查找最小值。
InterlockedOr 以原子方式进行 ORs。
InterlockedXor 以原子方式的 XOR。
加载 获取一个值。
Load2 获取两个值。
Load3 获取三个值。
Load4 获取四个值。
存储 设置一个值。
Store2 设置两个值。
Store3 设置三个值。
Store4 设置四个值。

RWByteAddressBuffer 对象可以使用存储类 globallycoherent 作为前缀。 此存储类会导致内存屏障和同步在整个 GPU 中刷新数据,以便其他组可以看到写入。 如果没有此说明符,内存屏障或同步将仅在当前组中刷新 UAV。

绑定到此资源的 UAV 格式需要使用DXGI_FORMAT_R32_TYPELESS格式创建。

绑定到此资源的 UAV 必须已使用 D3D11_BUFFER_UAV_FLAG_RAW创建。

使用原始缓冲区时,可以使用 RWByteAddressBuffer 对象类型。 有关缓冲区的原始查看的详细信息,请参阅 缓冲区的原始视图

最小着色器模型

以下着色器模型中支持此对象。

着色器模型 支持
着色器模型 5 和更高着色器模型 着色器模型 4 (可通过 Direct3D 11 API 使用 10.0 或 10.1 功能级别 (D3D_FEATURE_LEVEL_10_X) 在支持计算着色器的设备上使用。 有关下层硬件上的计算着色器支持的详细信息,请参阅 下层硬件上的计算着色器。)

以下类型的着色器支持此对象:

顶点 外壳 Geometry 像素 计算
x x

请参阅

着色器模型 5 对象