Bagikan melalui


enumerasi D3D12DDI_BARRIER_ACCESS (d3d12umddi.h)

Nilai D3D12DDI_BARRIER_ACCESS sedikit bijaksana ATAU dari bidang berikut yang menentukan akses sumber daya sehubungan dengan penghadang.

Sintaks

typedef enum D3D12DDI_BARRIER_ACCESS {
  D3D12DDI_BARRIER_ACCESS_COMMON = 0x0,
  D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER = 0x1,
  D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER = 0x2,
  D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER = 0x4,
  D3D12DDI_BARRIER_ACCESS_RENDER_TARGET = 0x8,
  D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS = 0x10,
  D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE = 0x20,
  D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ = 0x40,
  D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE = 0x80,
  D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT = 0x100,
  D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT = 0x200,
  D3D12DDI_BARRIER_ACCESS_PREDICATION = 0x200,
  D3D12DDI_BARRIER_ACCESS_COPY_DEST = 0x400,
  D3D12DDI_BARRIER_ACCESS_COPY_SOURCE = 0x800,
  D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST = 0x1000,
  D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE = 0x2000,
  D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ = 0x4000,
  D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE = 0x8000,
  D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE = 0x10000,
  D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ = 0x20000,
  D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE = 0x40000,
  D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ = 0x80000,
  D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE = 0x100000,
  D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ = 0x200000,
  D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE = 0x400000,
  D3D12DDI_BARRIER_ACCESS_NO_ACCESS = 0x80000000
} ;

Konstanta

 
D3D12DDI_BARRIER_ACCESS_COMMON
Nilai: 0x0
Akses awal default untuk semua sumber daya dalam cakupan ExecuteCommandLists tertentu. Mendukung semua jenis akses yang kompatibel dengan tata letak dan properti sumber daya saat ini, termasuk tidak lebih dari satu akses tulis. Untuk buffer dan tekstur yang menggunakan D3D12DDI_BARRIER_LAYOUT_COMMON, D3D12DDI_BARRIER_ACCESS_COMMON mendukung akses baca dan tulis bersamaan.

Saat digunakan sebagai AccessAfter, D3D12DDI_BARRIER_ACCESS_COMMON dapat digunakan untuk mengembalikan sumber daya kembali ke aksesibilitas umum. Perhatikan bahwa ini mungkin memaksa cache yang tidak perlu memerah jika digunakan dengan tidak benar. Jika memungkinkan, AccessAfter harus dibatasi pada bit akses eksplisit.

Hindari menggunakan D3D12DDI_BARRIER_ACCESS_COMMON sebagai penghalang AccessBefore nilai. Setiap bahaya baca-setelah-tulis atau tulis-setelah-tulis paling baik ditangani menggunakan AccessBefore bit eksplisit.
D3D12DDI_BARRIER_ACCESS_VERTEX_BUFFER
Nilai: 0x1
Sumber daya buffer dapat diakses sebagai buffer vertex dalam antrean eksekusi saat ini.
D3D12DDI_BARRIER_ACCESS_CONSTANT_BUFFER
Nilai: 0x2
Sumber daya buffer dapat diakses sebagai buffer konstan dalam antrean eksekusi saat ini.
D3D12DDI_BARRIER_ACCESS_INDEX_BUFFER
Nilai: 0x4
Sumber daya buffer dapat diakses sebagai buffer indeks dalam antrean eksekusi saat ini.
D3D12DDI_BARRIER_ACCESS_RENDER_TARGET
Nilai: 0x8
Sumber daya dapat diakses sebagai target render.
D3D12DDI_BARRIER_ACCESS_UNORDERED_ACCESS
Nilai: 0x10
Sumber daya dapat diakses sebagai sumber daya akses yang tidak berurut.
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_WRITE
Nilai: 0x20
Sumber daya dapat diakses sebagai sumber daya kedalaman/stensil yang dapat ditulis.
D3D12DDI_BARRIER_ACCESS_DEPTH_STENCIL_READ
Nilai: 0x40
Sumber daya dapat diakses sebagai sumber daya kedalaman/stensil baca-saja.
D3D12DDI_BARRIER_ACCESS_SHADER_RESOURCE
Nilai: 0x80
Sumber daya dapat diakses sebagai sumber daya shader.
D3D12DDI_BARRIER_ACCESS_STREAM_OUTPUT
Nilai: 0x100
Buffer dapat diakses sebagai target output aliran.
D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT
Nilai: 0x200
Buffer dapat diakses sebagai buffer argumen tidak langsung.
D3D12DDI_BARRIER_ACCESS_PREDICATION
Nilai: 0x200
Buffer dapat diakses sebagai buffer predikasi. Alias dengan D3D12DDI_BARRIER_ACCESS_INDIRECT_ARGUMENT.
D3D12DDI_BARRIER_ACCESS_COPY_DEST
Nilai: 0x400
Sumber daya dapat diakses sebagai tujuan salinan.
D3D12DDI_BARRIER_ACCESS_COPY_SOURCE
Nilai: 0x800
Sumber daya dapat diakses sebagai sumber salinan.
D3D12DDI_BARRIER_ACCESS_RESOLVE_DEST
Nilai: 0x1000
Sumber daya dapat diakses sebagai tujuan penyelesaian.
D3D12DDI_BARRIER_ACCESS_RESOLVE_SOURCE
Nilai: 0x2000
Sumber daya dapat diakses sebagai sumber penyelesaian.
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ
Nilai: 0x4000
Sumber daya dapat diakses untuk dibaca sebagai struktur akselerasi pelacakan sinar. Sumber daya harus dibuat menggunakan status awal D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.
D3D12DDI_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE
Nilai: 0x8000
Sumber daya dapat diakses untuk ditulis sebagai struktur akselerasi pelacakan sinar. Sumber daya harus dibuat menggunakan status awal D3D12DDI_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE.
D3D12DDI_BARRIER_ACCESS_SHADING_RATE_SOURCE
Nilai: 0x10000
Sumber daya dapat diakses sebagai sumber laju bayangan.
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_READ
Nilai: 0x20000
Sumber daya dapat diakses untuk akses baca-saja dalam antrean dekode video.
D3D12DDI_BARRIER_ACCESS_VIDEO_DECODE_WRITE
Nilai: 0x40000
Sumber daya dapat diakses untuk akses tulis dalam antrean dekode video.
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_READ
Nilai: 0x80000
Sumber daya dapat diakses untuk akses baca-saja dalam antrean proses video.
D3D12DDI_BARRIER_ACCESS_VIDEO_PROCESS_WRITE
Nilai: 0x100000
Sumber daya dapat diakses untuk akses tulis dalam antrean proses video.
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_READ
Nilai: 0x200000
Sumber daya dapat diakses untuk akses baca-saja dalam antrean pengodean video.
D3D12DDI_BARRIER_ACCESS_VIDEO_ENCODE_WRITE
Nilai: 0x400000
Sumber daya dapat diakses untuk akses tulis dalam antrean pengodean video.
D3D12DDI_BARRIER_ACCESS_NO_ACCESS
Nilai: 0x80000000
Sumber daya tidak dapat diakses untuk dibaca atau ditulis. Setelah akses sub sumber daya ditransisikan ke D3D12DDI_BARRIER_ACCESS_NO_ACCESS, akses tersebut harus diaktifkan kembali oleh hambatan dengan AccessBefore yang diatur ke D3D12DDI_BARRIER_ACCESS_NO_ACCESS sebelum digunakan dalam cakupan ExecuteCommandLists yang sama.

D3D12DDI_BARRIER_ACCESS_NO_ACCESS hanya dapat digunakan bersama dengan D3D12DDI_BARRIER_SYNC_NONE atau D3D12DDI_BARRIER_SYNC_SPLIT.

D3D12DDI_BARRIER_ACCESS_NO_ACCESS tidak dapat diatur dengan bit akses lainnya. D3D12DDI_BARRIER_ACCESS_NO_ACCESS menunjukkan bahwa sumber daya tidak diharapkan untuk diakses sampai beberapa hambatan berikutnya atau cakupan ECL berikutnya.

Nilai ini berguna dalam alias penghalang ketika subsumber daya tidak diperlukan untuk waktu yang cukup lama sehingga masuk akal untuk membersihkan sub sumber daya dari cache baca apa pun.

Ini juga berguna untuk memulai transisi tata letak sebagai tindakan akhir pada sumber daya sebelum akhir cakupan ExecuteCommandLists. Jika SyncAfterD3D12DDI_BARRIER_SYNC_NONE, maka AccessAfter HARUS D3D12DDI_BARRIER_ACCESS_NO_ACCESS.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 11 (WDDM 3.0)
Header d3d12umddi.h

Lihat juga

D3D12DDI_BARRIER_SYNC

D3D12DDI_BUFFER_BARRIER_0088

D3D12DDI_GLOBAL_BARRIER_0088

D3D12DDI_RANGED_BARRIER_0088

D3D12DDI_TEXTURE_BARRIER_0088