Pipeline access to streaming resources

Streaming resources can be used in shader resource views (SRV), render target views (RTV), depth stencil views (DSV) and unordered access views (UAV), as well as some bind points where views aren't used, such as vertex buffer bindings. For the list of supported bindings, see Streaming resource creation parameters. The various D3D Copy operations also work on streaming resources.

If multiple tile coordinates in one or more views is bound to the same memory location, reads and writes from different paths to the same memory will occur in a non-deterministic and non-repeatable order of memory accesses.

If all tiles behind a memory access footprint from a shader are mapped to unique tiles, behavior is identical on all implementations to the surface having the same memory contents in a non-tiled fashion.

In this section

Topic Description

SRV behavior with non-mapped tiles

Behavior of shader resource view (SRV) reads that involve non-mapped tiles depends on the level of hardware support.

UAV behavior with non-mapped tiles

Behavior of unordered access view (UAV) reads and writes depends on the level of hardware support.

Rasterizer behavior with non-mapped tiles

This section describes rasterizer behavior with non-mapped tiles.

Tile access limitations with duplicate mappings

There are limitations on tile access with duplicate mappings, such as when copying streaming resources with overlapping source and destination, or when rendering to tiles shared within the render area.

Streaming resources texture sampling features

Streaming resources texture sampling features include getting shader status feedback about mapped areas, checking whether all data being accessed was mapped in the resource, clamping to help shaders avoid areas in mipmapped streaming resources that are known to be non-mapped, and discovering what the minimum LOD that is fully mapped for an entire texture filter footprint will be.

HLSL streaming resources exposure

A specific Microsoft High Level Shader Language (HLSL) syntax is required to support streaming resources in Shader Model 5.

 

Streaming resources