enumerazione D3D12_RESOURCE_FLAGS (d3d12.h)
Definisce le costanti che specificano le opzioni per l'uso delle risorse.
Sintassi
typedef enum D3D12_RESOURCE_FLAGS {
D3D12_RESOURCE_FLAG_NONE = 0,
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20,
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40,
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80,
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100
} ;
Costanti
D3D12_RESOURCE_FLAG_NONE Valore: 0 Non è stata specificata alcuna opzione. |
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET Valore: 0x1 Consente la creazione di una visualizzazione di destinazione di rendering per la risorsa; e consente anche alla risorsa di passare allo stato di D3D12_RESOURCE_STATE_RENDER_TARGET. Alcune architetture dell'adattatore allocano memoria aggiuntiva per le trame con questo flag per ridurre la larghezza di banda effettiva durante il rendering comune. Questa caratteristica potrebbe non essere utile per le trame che non vengono mai rese a, né è disponibile per trame compresse con formati BC. L'applicazione deve evitare di impostare questo flag quando il rendering non si verificherà mai. Si applicano le restrizioni e le interazioni seguenti:
|
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL Valore: 0x2 Consente la creazione di una visualizzazione stencil di profondità per la risorsa e consente alla risorsa di passare allo stato di D3D12_RESOURCE_STATE_DEPTH_WRITE e/o D3D12_RESOURCE_STATE_DEPTH_READ. La maggior parte delle architetture dell'adattatore alloca memoria aggiuntiva per le trame con questo flag per ridurre la larghezza di banda effettiva e ottimizzare le ottimizzazioni per il test approfondito iniziale. L'applicazione deve evitare di impostare questo flag quando le operazioni di profondità non verranno mai eseguite. Si applicano le restrizioni e le interazioni seguenti:
|
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS Valore: 0x4 Consente la creazione di una visualizzazione di accesso non ordinata per la risorsa e consente alla risorsa di passare allo stato di D3D12_RESOURCE_STATE_UNORDERED_ACCESS. Alcune architetture dell'adattatore devono ricorrere a layout di trama meno efficienti per fornire questa funzionalità. Se una trama viene raramente usata per l'accesso non ordinato, potrebbe essere utile avere due trame intorno e copiarle tra di esse. Una trama avrebbe questo flag, mentre l'altro non avrebbe. L'applicazione deve evitare di impostare questo flag quando le operazioni di accesso non ordinate non verranno mai eseguite. Si applicano le restrizioni e le interazioni seguenti:
|
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE Valore: 0x8 Impedisce la creazione di una visualizzazione risorsa shader per la risorsa, oltre a disabilitare la risorsa dalla transizione allo stato di D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE o D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE. Alcune architetture dell'adattatore ottengono la capacità di larghezza di banda per le trame stencil di profondità quando le visualizzazioni delle risorse shader sono precluse. Se una trama viene usata raramente per le risorse shader, potrebbe essere utile avere due trame intorno e copiarle tra di esse. Una trama avrebbe questo flag, mentre l'altro non avrebbe. L'applicazione deve impostare questo flag quando le trame dello stencil di profondità non verranno mai usate dalle viste delle risorse shader. Si applicano le restrizioni e le interazioni seguenti:
|
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER Valore: 0x10 Consente di usare la risorsa per i dati tra adattatori e queste funzionalità abilitate da D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_ALLOW_SIM_ACCESS. Le risorse tra adattatori in genere impediscono tecniche che riducono la larghezza di banda effettiva della trama durante l'utilizzo e alcune architetture dell'adattatore potrebbero richiedere un comportamento di memorizzazione nella cache diverso. L'applicazione deve evitare di impostare questo flag quando i dati delle risorse non verranno mai usati con un'altra scheda. Si applicano le restrizioni e le interazioni seguenti:
|
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS Valore: 0x20 Consente a una risorsa di accedere simultaneamente da più code, dispositivi o processi diversi(ad esempio, consente l'uso di una risorsa con transizioni ResourceBarrier eseguite contemporaneamente in più elenchi di comandi in esecuzione contemporaneamente). L'accesso simultaneo consente più lettori e uno writer, purché il writer non modifichi simultaneamente i texel a cui accedono altri lettori. Alcune architetture dell'adattatore non possono sfruttare le tecniche per ridurre la larghezza di banda effettiva della trama durante l'utilizzo. Tuttavia, l'applicazione deve evitare di impostare questo flag quando più lettori non sono necessari durante le scritture frequenti e non sovrapposte alle trame. L'uso di questo flag può compromettere le barriere delle risorse per eseguire attese e impedire l'uso di una compressione con una risorsa. Si applicano le restrizioni e le interazioni seguenti:
|
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY Valore: 0x40 Specifica che questa risorsa può essere usata solo come frame di riferimento decodifica. Può essere scritto o letto solo dall'operazione di decodifica video. D3D12_VIDEO_DECODE_TIER_1 e D3D12_VIDEO_DECODE_TIER_2 possono segnalare D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED nel flag di configurazione della struttura D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT . In tal caso, l'applicazione deve allocare frame di riferimento con il flag di risorse D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY . D3D12_VIDEO_DECODE_TIER_3 non deve impostare [D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED] (.. Flag di configurazione /d3d12video/ne-d3d12video-d3d12_video_decode_configuration_flags) e non deve richiedere l'uso di questo flag di risorse. |
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY Valore: 0x80 Specifica che questa risorsa può essere usata solo come frame di riferimento codificato. Può essere scritto o letto solo dall'operazione di codifica video. |
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE Valore: 0x100 Riservato per utilizzi futuri. Non usare. Richiede DirectX 12 Agility SDK 1.7 o versione successiva. Indica che un buffer deve essere usato come struttura di accelerazione raytracing. |
Commenti
Questa enumerazione viene usata dal membro Flag del D3D12_RESOURCE_DESC.
Requisiti
Requisito | Valore |
---|---|
Intestazione | d3d12.h |