RWByteAddressBuffer
A read/write buffer that indexes in bytes.
Method | Description |
---|---|
GetDimensions | Gets the resource dimensions. |
InterlockedAdd | Adds, atomically. |
InterlockedAnd | ANDs, atomically. |
InterlockedCompareExchange | Compares and exchanges, atomically. |
InterlockedCompareStore | Compares and stores, atomically. |
InterlockedExchange | Exchanges, atomically. |
InterlockedMax | Finds the max, atomically. |
InterlockedMin | Find the min, atomically. |
InterlockedOr | ORs, atomically. |
InterlockedXor | XORs, atomically. |
Load | Gets one value. |
Load2 | Gets two values. |
Load3 | Gets three values. |
Load4 | Gets four values. |
Store | Sets one value. |
Store2 | Sets two values. |
Store3 | Sets three values. |
Store4 | Sets four values. |
RWByteAddressBuffer objects can be prefixed with the storage class globallycoherent. This storage class causes memory barriers and syncs to flush data across the entire GPU such that other groups can see writes. Without this specifier, a memory barrier or sync will flush a UAV only within the current group.
The UAV format bound to this resource needs to be created with the DXGI_FORMAT_R32_TYPELESS format.
The UAV bound to this resource must have been created with the D3D11_BUFFER_UAV_FLAG_RAW.
You can use the RWByteAddressBuffer object type when you work with raw buffers. For more info about raw viewing of buffers, see Raw Views of Buffers.
Minimum Shader Model
This object is supported in the following shader models.
Shader Model | Supported |
---|---|
Shader Model 5 and higher shader models Shader Model 4 (Available through the Direct3D 11 API by using 10.0 or 10.1 feature level (D3D_FEATURE_LEVEL_10_X) on devices that support compute shaders. For more information about compute shader support on downlevel hardware, see Compute Shaders on Downlevel Hardware.) |
yes |
This object is supported for the following types of shaders:
Vertex | Hull | Domain | Geometry | Pixel | Compute |
---|---|---|---|---|---|
x | x |