enumerazione D3D12_TILED_RESOURCES_TIER (d3d12.h)
Identifica il livello a cui sono supportate le risorse riquadri.
Sintassi
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
} ;
Costanti
D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED Valore: 0 Indica che le trame non possono essere create con il layout D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE . Impossibile usare ID3D12Device::CreateReservedResource , non anche per i buffer. |
D3D12_TILED_RESOURCES_TIER_1 Valore: 1 Indica che è possibile creare trame 2D con il layout D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE. Esistono limitazioni per determinati formati e proprietà delle risorse. Per altre informazioni, vedere D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE. È possibile usare ID3D12Device::CreateReservedResource. Le letture o le scritture GPU nei mapping NULL non sono definiti. Le applicazioni sono incoraggiate a risolvere questa limitazione eseguendo ripetutamente il mapping della stessa pagina a ovunque sia stato usato un mapping NULL. Quando le dimensioni di un livello mipmap della trama sono un numero intero multiplo della forma di riquadro standard per il relativo formato, è garantito che non sia compresso. |
D3D12_TILED_RESOURCES_TIER_2 Valore: 2 Indica che è supportato un superset di funzionalità di Tier_1, incluso questo supporto aggiuntivo:
Adattatori che supportano il livello di funzionalità 12_0 supportano tutti i TIER_2 o versioni successive. |
D3D12_TILED_RESOURCES_TIER_3 Valore: 3 Indica che è supportato un superset di livello 2, con l'aggiunta che sono supportate trame 3D (Risorse riquadri volume). |
D3D12_TILED_RESOURCES_TIER_4 Valore: 4 |
Commenti
Questa enumerazione viene usata dalla struttura D3D12_FEATURE_DATA_D3D12_OPTIONS .
Sono disponibili tre parti discrete di funzionalità combinate per la funzionalità delle risorse riquadri:
- Opzione di layout della trama basata su riquadri in cui gli indirizzi texel nelle vicinanze contengono coordinate dati vicine. Un riquadro di texels contiene quasi la stessa quantità di texel in ogni dimensione cardinale della risorsa. Questo layout è rappresentato in D3D12 da D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE.
- Riservare un'area dello spazio indirizzi virtuale per una risorsa, in cui ogni pagina viene inizialmente mappata null. In D3D12 questa operazione viene incapsulata all'interno di ID3D12Device::CreateReservedResource, che funziona solo con trame con layout di D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE.
- Possibilità di modificare i mapping delle pagine e modificare i dati di trama nelle granularità dei riquadri. In D3D12 queste operazioni sono ID3D12CommandQueue::UpdateTileMappings, ID3D12CommandQueue::CopyTileMappings e ID3D12GraphicsCommandList::CopyTiles.
- I pool di riquadri vengono sostituiti da heaps. Gli heaps forniscono un superset di funzionalità rispetto ai pool di riquadri D3D11.
- Le risorse riservate possono essere mappate a pagine da più heaps contemporaneamente. La restrizione D3D11 che tutte le pagine mappate non NULL devono venire dalla stessa heap non esiste.
- Le applicazioni devono essere consapevoli delle funzionalità degli indirizzi virtuali GPU, che consentono test di litmus per scenari di utilizzo specifici. Vedere D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT.
Requisiti
Intestazione | d3d12.h |