enumerasi D3D12DDI_BARRIER_LAYOUT (d3d12umddi.h)
Nilai D3D12DDI_BARRIER_LAYOUT menjelaskan kemungkinan tata letak yang digunakan oleh sub-sumber daya D3D12 sehubungan dengan penghalang tekstur. Tata letak hanya berlaku untuk sumber daya tekstur.
Sintaks
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
} ;
Konstanta
D3D12DDI_BARRIER_LAYOUT_UNDEFINED Menyediakan dukungan untuk perubahan tata letak sub sumber daya di mana tata letak sebelumnya tidak relevan atau tidak terdefinisi. Biasanya, ini digunakan untuk perintah Clear, Discard, dan Copy subresource penuh atau sumber daya penuh. Transisi tata letak dengan LayoutBefore dan LayoutAfter diatur ke D3D12_BARRIER_LAYOUT_UNDEFINED menunjukkan penghalang khusus akses memori. Banyak operasi baca/tulis mendukung D3D12_BARRIER_LAYOUT_COMMON. Secara khusus, perintah Salin dapat menulis ke tekstur menggunakan D3D12_BARRIER_LAYOUT_COMMON atau D3D12_BARRIER_LAYOUT_COPY. Hambatan khusus akses memori dapat digunakan untuk membersihkan penulisan salinan ke tekstur tanpa mengubah tata letak tekstur. |
D3D12DDI_BARRIER_LAYOUT_COMMON Ini adalah tata letak yang digunakan oleh D3D12_RESOURCE_STATE_COMMON. Sub-sumber daya dengan tata letak ini dapat dibaca dalam jenis antrean apa pun tanpa memerlukan perubahan tata letak. Mereka juga dapat ditulis sebagai tujuan salinan dalam jenis antrean apa pun. Presentasi rantai pertukaran mengharuskan buffer belakang menggunakan D3D12_BARRIER_LAYOUT_COMMON. |
D3D12DDI_BARRIER_LAYOUT_PRESENT Alias untuk D3D12_BARRIER_LAYOUT_COMMON. |
D3D12DDI_BARRIER_LAYOUT_GENERIC_READ Menyediakan dukungan untuk akses baca-saja (misalnya: SHADER_RESOURCE, COPY_SOURCE). Nilai ini hanya boleh digunakan untuk tekstur yang memerlukan beberapa akses baca bersamaan karena ini mungkin tidak optimal seperti tata letak baca yang lebih spesifik. |
D3D12DDI_BARRIER_LAYOUT_RENDER_TARGET Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_RENDER_TARGET. |
D3D12DDI_BARRIER_LAYOUT_UNORDERED_ACCESS Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_UNORDERED_ACCESS. |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_WRITE Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_DEPTH_WRITE. |
D3D12DDI_BARRIER_LAYOUT_DEPTH_STENCIL_READ Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_DEPTH_READ. |
D3D12DDI_BARRIER_LAYOUT_SHADER_RESOURCE Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE dan D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. |
D3D12DDI_BARRIER_LAYOUT_COPY_SOURCE Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_COPY_SOURCE. |
D3D12DDI_BARRIER_LAYOUT_COPY_DEST Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_COPY_DEST. |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_SOURCE Cocok dengan tata letak yang digunakan oleh D3D12DDI_RESOURCE_STATE_RESOLVE_SOURCE. |
D3D12DDI_BARRIER_LAYOUT_RESOLVE_DEST Cocok dengan tata letak yang digunakan oleh D3D12DDI_RESOURCE_STATE_RESOLVE_DEST. |
D3D12DDI_BARRIER_LAYOUT_SHADING_RATE_SOURCE Cocok dengan tata letak yang digunakan oleh D3D12DDI_RESOURCE_STATE_0062_SHADING_RATE_SOURCE. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_READ Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_VIDEO_DECODE_READ. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_DECODE_WRITE Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_VIDEO_DECODE_WRITE. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_READ Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_VIDEO_PROCESS_READ. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_PROCESS_WRITE Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_VIDEO_PROCESS_WRITE. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_READ Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_VIDEO_ENCODE_READ. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_ENCODE_WRITE Cocok dengan tata letak yang digunakan oleh D3D12_RESOURCE_STATE_VIDEO_ENCODE_WRITE. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COMMON Mendukung penggunaan umum (bebas hambatan) hanya pada antrean langsung. Nilai ini lebih optimal daripada D3D12DDI_BARRIER_LAYOUT_COMMON yang lebih umum. Hanya dapat digunakan dalam penghalang pada antrean langsung. Perhatikan bahwa ini tidak dapat digunakan untuk Ada. D3D12_BARRIER_LAYOUT_COMMON (juga dikenal sebagai D3D12_BARRIER_LAYOUT_PRESENT) masih merupakan tata letak yang diperlukan untuk Presentasi. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ Sama seperti D3D12_BARRIER_LAYOUT_GENERIC_READ kecuali dengan pengoptimalan khusus untuk antrean langsung. Hanya dapat digunakan dalam penghalang pada antrean langsung. Selain itu, D3D12_BARRIER_LAYOUT_DIRECT_QUEUE_GENERIC_READ mencakup dukungan untuk kedalaman baca-saja, sumber laju bayangan, dan mengatasi akses sumber pada antrean langsung. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_UNORDERED_ACCESS Sama seperti D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS kecuali dengan pengoptimalan khusus untuk antrean langsung. Hanya dapat digunakan dalam penghalang pada antrean langsung. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_SHADER_RESOURCE Sama seperti D3D12_BARRIER_LAYOUT_SHADER_RESOURCE kecuali dengan pengoptimalan khusus untuk antrean langsung. Hanya dapat digunakan dalam penghalang pada antrean langsung. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_SOURCE Sama seperti D3D12_BARRIER_LAYOUT_COPY_SOURCE kecuali dengan pengoptimalan khusus untuk antrean langsung. Hanya dapat digunakan dalam penghalang pada antrean langsung. |
D3D12DDI_BARRIER_LAYOUT_DIRECT_QUEUE_COPY_DEST Sama seperti D3D12_BARRIER_LAYOUT_COPY_DEST kecuali dengan pengoptimalan khusus untuk antrean langsung. Hanya dapat digunakan dalam penghalang pada antrean langsung. Dapat mencegah dekompresi yang mahal dan tidak perlu pada beberapa transisi tata letak pada sumber daya dengan akses berikutnya dalam antrean Langsung. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COMMON Hanya mendukung penggunaan umum (bebas hambatan) pada antrean komputasi. Mungkin lebih optimal daripada D3D12_BARRIER_LAYOUT_COMMON yang lebih umum. Hanya dapat digunakan dalam penghalang pada antrean komputasi. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_GENERIC_READ Sama seperti D3D12_BARRIER_LAYOUT_GENERIC_READ kecuali dengan pengoptimalan khusus untuk antrean komputasi. Hanya dapat digunakan dalam penghalang pada antrean komputasi. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_UNORDERED_ACCESS Sama seperti D3D12_BARRIER_LAYOUT_UNORDERED_ACCESS kecuali dengan pengoptimalan khusus untuk antrean komputasi. Hanya dapat digunakan dalam penghalang pada antrean komputasi. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_SHADER_RESOURCE Sama seperti D3D12_BARRIER_LAYOUT_SHADER_RESOURCE kecuali dengan pengoptimalan khusus untuk antrean komputasi. Hanya dapat digunakan dalam penghalang pada antrean komputasi. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_SOURCE Sama seperti D3D12_BARRIER_LAYOUT_COPY_SOURCE kecuali dengan pengoptimalan khusus untuk antrean komputasi. Hanya dapat digunakan dalam penghalang pada antrean komputasi. |
D3D12DDI_BARRIER_LAYOUT_COMPUTE_QUEUE_COPY_DEST Sama seperti D3D12_BARRIER_LAYOUT_COPY_DEST kecuali dengan pengoptimalan khusus untuk antrean komputasi. Hanya dapat digunakan dalam penghalang pada antrean komputasi. |
D3D12DDI_BARRIER_LAYOUT_VIDEO_QUEUE_COMMON Hanya mendukung penggunaan umum (bebas hambatan) pada antrean video. Mungkin lebih optimal daripada D3D12_BARRIER_LAYOUT_COMMON yang lebih umum. Hanya dapat digunakan dalam penghalang pada antrean video. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_DIRECT_QUEUE_GENERIC_READ_COMPUTE_QUEUE_ACCESSIBLE Mendukung status sumber daya warisan yang diterjemahkan secara internal. Tidak ada peta API pembatas yang disempurnakan ke nilai ini. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_SOURCE Mendukung status sumber daya warisan yang diterjemahkan secara internal. Tidak ada peta API pembatas yang disempurnakan ke nilai ini. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_COPY_DEST Mendukung status sumber daya warisan yang diterjemahkan secara internal. Tidak ada peta API pembatas yang disempurnakan ke nilai ini. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_SHADER_RESOURCE Mendukung status sumber daya warisan yang diterjemahkan secara internal. Tidak ada peta API pembatas yang disempurnakan ke nilai ini. |
D3D12DDI_BARRIER_LAYOUT_LEGACY_PIXEL_SHADER_RESOURCE Mendukung status sumber daya warisan yang diterjemahkan secara internal. Tidak ada peta API pembatas yang disempurnakan ke nilai ini. |
Keterangan
Sumber daya buffer hanya memiliki tata letak linier, terlepas dari jenis aksesnya.
Tata letak sumber daya harus kompatibel dengan jenis antrean yang melakukan transisi tata letak.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 11 (WDDM 3.0) |
Header | d3d12umddi.h |