Tier 1

This section describes tier 1 support.

Tier 1 general limitations

  • Hardware at feature level 11.0 minimum.
  • No quilting support.
  • No Texture1D or Texture3D support.
  • No 2, 8 or 16 sample multisample antialiasing (MSAA) support. Only 4x is required, except no 128 bpp formats.
  • No standard swizzle pattern (layout within 64KB tiles and tail mip packing is up to the hardware vendor).
  • Limitations on how tiles can be accessed when there are duplicate mappings. See Tile access limitations with duplicate mappings.

Specific limitations affecting tier 1 only

Reading/writing to streaming resources that have NULL mappings

Streaming resources can have NULL mappings but reading from them or writing to them produces undefined results, including device removed. Applications can get around this by mapping a single dummy page to all the empty areas. Take care if you write and render to a page that is mapped to multiple render target locations, because the order of writes will be undefined.

No shader instructions for clamping LOD and mapped status feedback

Shader instructions for clamping LOD and mapped status feedback are not available. See HLSL streaming resources exposure.

Alignment constraints for standard tile shapes

It is only guaranteed that mips (starting from the finest) whose dimensions are all multiples of the standard tile size support the standard tile shapes and can have individual tiles arbitrarily mapped/unmapped. The first mipmap in a streaming resource that has any dimension not a multiple of standard tile size, along with all coarser mipmaps, can have a non-standard tiling shape, fitting into N 64KB tiles for this set of mips at once (N reported to the application). These N tiles are considered packed as one unit, which must be either fully mapped or fully unmapped by the application at any given time, though the mappings of each of the N tiles can be at arbitrarily disjoint locations in a tile pool.

Array of mipmaps that aren't a multiple of standard tile size

Streaming resources with any mipmaps not a multiple of standard tile size in all dimensions are not allowed to have an array size larger than 1.

Switching between referencing tiles in a tile pool via a Buffer and Texture resource

In order to switch between referencing tiles in a tile pool via a Buffer resource to referencing the same tiles via a Texture resource, or vice-versa, the most recent updating of tile mappings or copying of tile mappings that defines mappings to those tile pool tiles must be for the same resource dimension (Buffer versus Texture*) as the resource dimension that will be used to access the tiles. Otherwise, behavior is undefined, including the chance of device reset.

So, for example, it is invalid to update the tile mappings to define tile mappings for a Buffer, then update the tile mappings to the same tiles in the tile pool via a Texture2D resource, then access the tiles via the Buffer. Work-around operations are to either redefine tile mappings for a resource when switching between Buffer and Texture (or vice versa) sharing tiles or just never sharing tiles in a tile pool between Buffer resources and Texture resources.

Min/Max reduction filtering

Min/Max reduction filtering is not supported. See Streaming resources texture sampling features.

Streaming resources features tiers