D3D12_TILED_RESOURCES_TIER Enumeration

Identifies the tier level at which tiled resources are supported.

Syntax

typedef enum D3D12_TILED_RESOURCES_TIER {
  D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED,
  D3D12_TILED_RESOURCES_TIER_1,
  D3D12_TILED_RESOURCES_TIER_2,
  D3D12_TILED_RESOURCES_TIER_3,
  D3D12_TILED_RESOURCES_TIER_4
} ;

Constants

D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED Indicates that textures cannot be created with the D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE layout.

ID3D12Device::CreateReservedResource cannot be used, not even for buffers.

D3D12_TILED_RESOURCES_TIER_1 Indicates that 2D textures can be created with the D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE layout. Limitations exist for certain resource formats and properties. For more details, see D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE.

ID3D12Device::CreateReservedResource can be used.

GPU reads or writes to NULL mappings are undefined. Applications are encouraged to workaround this limitation by repeatedly mapping the same page to everywhere a NULL mapping would've been used.

When the size of a texture mipmap level is an integer multiple of the standard tile shape for its format, it is guaranteed to be nonpacked.

D3D12_TILED_RESOURCES_TIER_2 Indicates that a superset of Tier_1 functionality is supported, including this additional support:
  • When the size of a texture mipmap level is at least one standard tile shape for its format, the mipmap level is guaranteed to be nonpacked. For more info, see D3D12_PACKED_MIP_INFO.
  • Shader instructions are available for clamping level-of-detail (LOD) and for obtaining status about the shader operation. For info about one of these shader instructions, see Sample(S,float,int,float,uint). Sample(S,float,int,float,uint).
  • Reading from NULL-mapped tiles treat that sampled value as zero. Writes to NULL-mapped tiles are discarded.
Adapters that support feature level 12_0 all support TIER_2 or greater.
D3D12_TILED_RESOURCES_TIER_3 Indicates that a superset of Tier 2 is supported, with the addition that 3D textures (Volume Tiled Resources) are supported.
D3D12_TILED_RESOURCES_TIER_4

Remarks

This enum is used by the D3D12_FEATURE_DATA_D3D12_OPTIONS structure.

There are three discrete pieces of functionality bundled together for tiled resource functionality:

Three significant changes over D3D11 are:
  • Tile pools are replaced by heaps. Heaps provide a superset of capabilities than D3D11 tile pools do.
  • Reserved resources may be mapped to pages from multiple heaps at the same time. The D3D11 restriction that all non-NULL mapped pages must come from the same heap does not exist.
  • Applications should be aware of GPU virtual address capabilities, which enable litmus tests for particular usage scenarios. See D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT.

Requirements

   
Header d3d12.h

See Also

Core Enumerations