enumerazione D3D12DDI_BARRIER_LAYOUT (d3d12umddi.h)
Un valore D3D12DDI_BARRIER_LAYOUT descrive i layout possibili usati dalle sottorisorse D3D12 rispetto alle barriere di trama. I layout si applicano solo alle risorse di trama.
Sintassi
typedef enum D3D12DDI_BARRIER_LAYOUT {
D3D12DDI_BARRIER_LAYOUT_UNDEFINED,
D3D12DDI_BARRIER_LAYOUT_COMMON,
D3D12DDI_BARRIER_LAYOUT_PRESENT,
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET,
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE,
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ,
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE,
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST,
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE,
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ,
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON,
D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST,
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE,
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE
} ;
Costanti
D3D12DDI_BARRIER_LAYOUT_UNDEFINED Fornisce il supporto per le modifiche del layout di sottorisorsa in cui il layout precedente è irrilevante o non definito. In genere, viene usato per i comandi Clear, Discard e Copy completi di sottorisorse o risorse complete. Una transizione di layout con LayoutBefore e LayoutAfter impostata su D3D12_BARRIER_LAYOUT_UNDEFINED indica una barriera di sola accesso alla memoria. Molte operazioni di lettura/scrittura supportano D3D12_BARRIER_LAYOUT_COMMON. In particolare, i comandi Copy possono scrivere in trame usando il D3D12_BARRIER_LAYOUT_COMMON o D3D12_BARRIER_LAYOUT_COPY. È possibile usare una barriera di sola accesso alla memoria per scaricare le scritture di copia in una trama senza modificare il layout della trama. |
D3D12DDI_BARRIER_LAYOUT_COMMON Questo è il layout usato da D3D12_RESOURCE_STATE_COMMON. Le sottorisorse con questo layout sono leggibili in qualsiasi tipo di coda senza richiedere una modifica del layout. Sono anche scrivibili come destinazione di copia in qualsiasi tipo di coda. La presentazione della catena di scambio richiede che il buffer nascosto usi D3D12_BARRIER_LAYOUT_COMMON. |
D3D12DDI_BARRIER_LAYOUT_PRESENT Alias per D3D12_BARRIER_LAYOUT_COMMON. |
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ Fornisce il supporto per qualsiasi accesso di sola lettura, ad esempio SHADER_RESOURCE, COPY_SOURCE. Questo valore deve essere usato solo per le trame che richiedono più accessi in lettura simultanei, perché questo potrebbe non essere ottimale come un layout di lettura più specifico. |
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET Corrisponde al layout usato da D3D12_RESOURCE_STATE_RENDER_TARGET. |
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS Corrisponde al layout utilizzato da D3D12_RESOURCE_STATE_UNORDERED_ACCESS. |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE Trova la corrispondenza con il layout usato da D3D12_RESOURCE_STATE_DEPTH_WRITE. |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ Corrisponde al layout utilizzato da D3D12_RESOURCE_STATE_DEPTH_READ. |
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE Corrisponde al layout usato da D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE e D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. |
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE Corrisponde al layout utilizzato da D3D12_RESOURCE_STATE_COPY_SOURCE. |
D3D12DDI_BARRIER_LAYOUT_COPY_DEST Corrisponde al layout utilizzato da D3D12_RESOURCE_STATE_COPY_DEST. |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE Corrisponde al layout usato da D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCE. |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST Corrisponde al layout utilizzato da D3D12DDI_RESOURCE_STATE_RESOLVE_DEST. |
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE Trova la corrispondenza con il layout utilizzato da D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCE. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ Trova la corrispondenza con il layout usato da D3D12_RESOURCE_STATE_VIDEO_DECODE_READ. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE Corrisponde al layout utilizzato da D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ Corrisponde al layout utilizzato da D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE Corrisponde al layout utilizzato da D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ Trova la corrispondenza con il layout usato da D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE Trova la corrispondenza con il layout utilizzato da D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON Supporta l'utilizzo comune (senza barriere) solo nelle code dirette. Questo valore è più ottimale del D3D12DDI_BARRIER_LAYOUT_COMMON più generale. Può essere usato solo nelle barriere nelle code dirette. Si noti che questo non può essere utilizzato per Present. D3D12_BARRIER_LAYOUT_COMMON (noto anche come D3D12_BARRIER_LAYOUT_PRESENT) è ancora il layout richiesto per Presentation. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ Uguale a D3D12_BARRIER_LAYOUT_GENERIC_READ ad eccezione delle ottimizzazioni specifiche per le code dirette. Può essere usato solo nelle barriere nelle code dirette. Inoltre, D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ include il supporto per la profondità di sola lettura, l'origine della frequenza di ombreggiatura e risolvere gli accessi all'origine nelle code dirette. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS Uguale a D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS ad eccezione delle ottimizzazioni specifiche per le code dirette. Può essere usato solo nelle barriere nelle code dirette. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE Uguale a D3D12_BARRIER_LAYOUT_SHADER_RESOURCE ad eccezione delle ottimizzazioni specifiche per le code dirette. Può essere usato solo nelle barriere nelle code dirette. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE Uguale a D3D12_BARRIER_LAYOUT_COPY_SOURCE ad eccezione delle ottimizzazioni specifiche per le code dirette. Può essere usato solo nelle barriere nelle code dirette. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST Uguale a D3D12_BARRIER_LAYOUT_COPY_DEST ad eccezione delle ottimizzazioni specifiche per le code dirette. Può essere usato solo nelle barriere nelle code dirette. Può impedire la decompressione costosa e non necessaria in alcune transizioni di layout sulle risorse con accesso successivo in una coda diretta. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON Supporta l'utilizzo comune (senza barriere) solo nelle code di calcolo. Può essere più ottimale del D3D12_BARRIER_LAYOUT_COMMON più generale. Può essere usato solo nelle barriere nelle code di calcolo. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ Uguale a D3D12_BARRIER_LAYOUT_GENERIC_READ ad eccezione delle ottimizzazioni specifiche per le code di calcolo. Può essere usato solo nelle barriere nelle code di calcolo. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS Uguale a D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS ad eccezione delle ottimizzazioni specifiche per le code di calcolo. Può essere usato solo nelle barriere nelle code di calcolo. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE Uguale a D3D12_BARRIER_LAYOUT_SHADER_RESOURCE ad eccezione delle ottimizzazioni specifiche per le code di calcolo. Può essere usato solo nelle barriere nelle code di calcolo. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE Uguale a D3D12_BARRIER_LAYOUT_COPY_SOURCE ad eccezione delle ottimizzazioni specifiche per le code di calcolo. Può essere usato solo nelle barriere nelle code di calcolo. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST Uguale a D3D12_BARRIER_LAYOUT_COPY_DEST ad eccezione delle ottimizzazioni specifiche per le code di calcolo. Può essere usato solo nelle barriere nelle code di calcolo. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON Supporta l'utilizzo comune (senza barriere) solo nelle code video. Può essere più ottimale del D3D12_BARRIER_LAYOUT_COMMON più generale. Può essere usato solo nelle barriere nelle code video. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE Supporta uno stato di risorsa legacy convertito internamente. Nessuna API barriera avanzata viene mappata a questo valore. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE Supporta uno stato di risorsa legacy convertito internamente. Nessuna API barriera avanzata viene mappata a questo valore. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST Supporta uno stato di risorsa legacy convertito internamente. Nessuna API barriera avanzata viene mappata a questo valore. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE Supporta uno stato di risorsa legacy convertito internamente. Nessuna API barriera avanzata viene mappata a questo valore. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE Supporta uno stato di risorsa legacy convertito internamente. Nessuna API barriera avanzata viene mappata a questo valore. |
Commenti
Le risorse del buffer hanno solo un layout lineare, indipendentemente dal tipo di accesso.
I layout delle risorse devono essere compatibili con il tipo di coda che esegue la transizione del layout.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 11 (WDDM 3.0) |
Intestazione | d3d12umddi.h |