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 |
---|---|
Behavior of shader resource view (SRV) reads that involve non-mapped tiles depends on the level of hardware support. |
|
Behavior of unordered access view (UAV) reads and writes depends on the level of hardware support. |
|
This section describes rasterizer behavior with non-mapped tiles. |
|
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 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. |
|
A specific Microsoft High Level Shader Language (HLSL) syntax is required to support streaming resources in Shader Model 5. |
Related topics