Bagikan melalui


enumerasi D3D12_DESCRIPTOR_HEAP_FLAGS (d3d12.h)

Menentukan opsi untuk timbunan.

Sintaks

typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS {
  D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0,
  D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1
} ;

Konstanta

 
D3D12_DESCRIPTOR_HEAP_FLAG_NONE
Nilai: 0
Menunjukkan penggunaan default heap.
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE
Nilai: 0x1
Bendera D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE secara opsional dapat diatur pada tumpukan deskriptor untuk menunjukkan bahwa bendera tersebut terikat pada daftar perintah untuk referensi oleh shader. Tumpukan deskriptor yang dibuat tanpa bendera ini memungkinkan aplikasi opsi untuk menahapkan deskriptor dalam memori CPU sebelum menyalinnya ke tumpukan deskriptor yang terlihat shader, sebagai kenyamanan. Tetapi juga tidak masalah bagi aplikasi untuk langsung membuat deskriptor ke dalam tumpukan deskriptor yang terlihat shader tanpa persyaratan untuk menahapkan apa pun di CPU.

Tumpukan deskriptor yang terikat melalui ID3D12GraphicsCommandList::SetDescriptorHeaps harus memiliki bendera D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE yang ditetapkan, jika tidak, lapisan debug akan menghasilkan kesalahan.

Tumpukan deskriptor dengan bendera D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE tidak dapat digunakan sebagai tumpukan sumber dalam panggilan ke ID3D12Device::CopyDescriptors atau ID3D12Device::CopyDescriptorsSimple, karena dapat menjadi residen dalam memori WRITE_COMBINE atau memori GPU-lokal, yang sangat tidak efisien untuk dibaca.

Bendera ini hanya berlaku untuk tumpukan deskriptor CBV/SRV/UAV, dan tumpukan deskriptor sampler. Ini tidak berlaku untuk jenis tumpukan deskriptor lainnya karena shader tidak secara langsung mereferensikan jenis lain. Mencoba membuat tumpukan RTV/DSV dengan D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE menghasilkan kesalahan lapisan debug.

Keterangan

Enum ini digunakan oleh struktur D3D12_DESCRIPTOR_HEAP_DESC .

Persyaratan

   
Header d3d12.h

Lihat juga

Enumerasi Inti

Membuat Tumpuk Deskriptor

Tumpuk Deskriptor