Bagikan melalui


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

Lihat juga

D3D12DDI_TEXTURE_BARRIER_0088