Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Identifies the tier level at which tiled resources are supported.
Syntax
typedef enum D3D12_TILED_RESOURCES_TIER {
D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0,
D3D12_TILED_RESOURCES_TIER_1 = 1,
D3D12_TILED_RESOURCES_TIER_2 = 2,
D3D12_TILED_RESOURCES_TIER_3 = 3,
D3D12_TILED_RESOURCES_TIER_4 = 4
} ;
Constants
D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED Value: 0 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 Value: 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 Value: 2 Indicates that a superset of Tier_1 functionality is supported, including this additional support:
Adapters that support feature level 12_0 all support TIER_2 or greater. |
D3D12_TILED_RESOURCES_TIER_3 Value: 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 Value: 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:
- A tile-based texture layout option where nearby texel addresses contain nearby data coordinates. A tile of texels contains nearly the same amount of texels in each cardinal dimension of the resource. This layout is represented in D3D12 by D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE.
- Reserve a region of virtual address space for a resource, where each page is initially NULL-mapped. In D3D12, this is operation is encapsulated within ID3D12Device::CreateReservedResource, which only works with textures that have the D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE layout.
- The ability to change page mappings and manipulate texture data on tile granularities. In D3D12, these operations are ID3D12CommandQueue::UpdateTileMappings, ID3D12CommandQueue::CopyTileMappings, and ID3D12GraphicsCommandList::CopyTiles.
- 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
Requirement | Value |
---|---|
Header | d3d12.h |