D3D12_TILED_RESOURCES_TIER-Enumeration (d3d12.h)
Gibt die Ebenenebene an, auf der gekachelte Ressourcen unterstützt werden.
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
} ;
Konstanten
D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED Wert: 0 Gibt an, dass Texturen nicht mit dem D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE Layout erstellt werden können. ID3D12Device::CreateReservedResource kann nicht verwendet werden, auch nicht für Puffer. |
D3D12_TILED_RESOURCES_TIER_1 Wert: 1 Gibt an, dass 2D-Texturen mit dem D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE Layout erstellt werden können. Für bestimmte Ressourcenformate und Eigenschaften gibt es Einschränkungen. Weitere Informationen finden Sie unter D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE. ID3D12Device::CreateReservedResource kann verwendet werden. GPU-Lese- oder Schreibvorgänge in NULL-Zuordnungen sind nicht definiert. Anwendungen werden empfohlen, diese Einschränkung zu umgehen, indem sie dieselbe Seite wiederholt überall zuzuordnen, wo eine NULL-Zuordnung verwendet würde. Wenn die Größe einer Textur-Mipmap-Ebene ein ganzzahliges Vielfaches der Standardkachelform für ihr Format ist, ist sie garantiert nicht verpackt. |
D3D12_TILED_RESOURCES_TIER_2 Wert: 2 Gibt an, dass eine Übermenge von Tier_1 Funktionalität unterstützt wird, einschließlich dieser zusätzlichen Unterstützung:
Adapter, die die Featureebene 12_0 unterstützen, unterstützen alle TIER_2 oder höher. |
D3D12_TILED_RESOURCES_TIER_3 Wert: 3 Gibt an, dass eine Obermenge von Ebene 2 unterstützt wird, wobei hinzugefügt wird, dass 3D-Texturen (volume tiled Resources) unterstützt werden. |
D3D12_TILED_RESOURCES_TIER_4 Wert: 4 |
Hinweise
Diese Aufzählung wird von der D3D12_FEATURE_DATA_D3D12_OPTIONS-Struktur verwendet.
Es gibt drei diskrete Funktionen, die für gekachelte Ressourcenfunktionen gebündelt sind:
- Eine kachelbasierte Texturlayoutoption, bei der nahe gelegene Texeladressen Datenkoordinaten in der Nähe enthalten. Eine Kachel von Texels enthält fast die gleiche Menge an Texels in jeder Kardinaldimension der Ressource. Dieses Layout wird in D3D12 durch D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE dargestellt.
- Reservieren Sie eine Region mit virtuellem Adressraum für eine Ressource, in der jede Seite zunächst NULL zugeordnet ist. In D3D12 ist dieser Vorgang in ID3D12Device::CreateReservedResource gekapselt, der nur mit Texturen funktioniert, die das D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE Layout aufweisen.
- Die Möglichkeit, Seitenzuordnungen zu ändern und Texturdaten für Kachelgranularitäten zu bearbeiten. In D3D12 sind diese Vorgänge ID3D12CommandQueue::UpdateTileMappings, ID3D12CommandQueue::CopyTileMappings und ID3D12GraphicsCommandList::CopyTiles.
- Kachelpools werden durch Heaps ersetzt. Heaps bieten eine Übermenge von Funktionen als D3D11-Kachelpools.
- Reservierte Ressourcen können Seiten aus mehreren Heaps gleichzeitig zugeordnet werden. Die D3D11-Einschränkung, dass alle nicht NULL zugeordneten Seiten aus demselben Heap stammen müssen, ist nicht vorhanden.
- Anwendungen sollten die Funktionen virtueller GPU-Adressen kennen, die Lackmustests für bestimmte Nutzungsszenarien ermöglichen. Siehe D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT.
Anforderungen
Kopfzeile | d3d12.h |