A read/write buffer that can take a T type that is a structure.

Method Description
DecrementCounter Decrements the object's hidden counter.
GetDimensions Gets the resource dimensions.
IncrementCounter Increments the object's hidden counter.
Load Reads buffer data.
Operator[] Returns a resource variable.

A resource variable can also be passed into any unordered or interlocked operation.

RWStructuredBuffer 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 only flush a UAV within the current group.

The UAV format bound to this resource needs to be created with the DXGI_FORMAT_UNKNOWN format.

To find out more about structured buffers, see the overview material.

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.)

This object is supported for the following types of shaders:

Vertex Hull Domain Geometry Pixel Compute
x x

See also

Shader Model 5 Objects