Bagikan melalui


enumerasi D3D12_ROOT_SIGNATURE_FLAGS (d3d12.h)

Menentukan opsi untuk tata letak tanda tangan akar.

Sintaks

typedef enum D3D12_ROOT_SIGNATURE_FLAGS {
  D3D12_ROOT_SIGNATURE_FLAG_NONE = 0,
  D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
  D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40,
  D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
  D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400,
  D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800
} ;

Konstanta

 
D3D12_ROOT_SIGNATURE_FLAG_NONE
Nilai: 0
Menunjukkan perilaku default.
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT
Nilai: 0x1
Aplikasi ini memilih untuk menggunakan Perakit Input (memerlukan tata letak input yang menentukan sekumpulan pengikatan buffer vertex). Menghilangkan bendera ini dapat mengakibatkan satu ruang argumen akar disimpan pada beberapa perangkat keras. Hilangkan bendera ini jika Perakitan Input tidak diperlukan, meskipun pengoptimalannya kecil.
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS
Nilai: 0x2
Menolak akses shader vertex ke tanda tangan akar.
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS
Nilai: 0x4
Menolak akses shader lambung ke tanda tangan akar.
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS
Nilai: 0x8
Menolak akses shader domain ke tanda tangan akar.
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS
Nilai: 0x10
Menolak akses shader geometri ke tanda tangan akar.
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS
Nilai: 0x20
Menolak akses pixel shader ke tanda tangan root.
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT
Nilai: 0x40
Aplikasi ini memilih untuk menggunakan Output Aliran. Menghilangkan bendera ini dapat mengakibatkan satu ruang argumen akar disimpan pada beberapa perangkat keras. Hilangkan bendera ini jika Output Aliran tidak diperlukan, meskipun pengoptimalannya kecil.
D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE
Nilai: 0x80
Tanda tangan akar akan digunakan dengan shader raytracing untuk menentukan pengikatan sumber daya yang bersumber dari rekaman shader dalam tabel shader. Bendera ini tidak dapat digabungkan dengan bendera tanda tangan akar lainnya, yang semuanya terkait dengan alur grafis. Tidak adanya bendera berarti tanda tangan akar dapat digunakan dengan grafik atau komputasi, di mana versi komputasi juga dibagikan dengan tanda tangan akar global raytracing.
D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS
Nilai: 0x100
Menolak akses shader amplifikasi ke tanda tangan akar.
D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS
Nilai: 0x200
Menolak akses shader jala ke tanda tangan akar.
D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED
Nilai: 0x400
Shader diizinkan untuk mengindeks tumpukan deskriptor CBV/SRV/UAV secara langsung, menggunakan variabel bawaan ResourceDescriptorHeap .
D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED
Nilai: 0x800
Shader diizinkan untuk mengindeks tumpukan deskriptor sampler secara langsung, menggunakan variabel bawaan SamplerDescriptorHeap .

Keterangan

Enum ini digunakan dalam struktur D3D12_ROOT_SIGNATURE_DESC .

Nilai dalam menolak akses ke tahap shader adalah pengoptimalan kecil pada beberapa perangkat keras. Jika, misalnya, bendera D3D12_SHADER_VISIBILITY_ALL telah diatur untuk menyiarkan tanda tangan akar ke semua tahap shader, maka menolak akses dapat mengabaikan ini dan menyimpan beberapa pekerjaan perangkat keras. Atau jika shader sangat sederhana sehingga tidak ada sumber daya tanda tangan akar yang diperlukan, maka menolak akses juga dapat digunakan di sini.

Persyaratan

   
Header d3d12.h

Lihat juga

Enumerasi Inti

Membuat Tanda Tangan Akar

D3D12_ROOT_SIGNATURE_DESC