enumerasi D3D11_BIND_FLAG (d3d11.h)

Mengidentifikasi cara mengikat sumber daya ke alur.

Sintaks

typedef enum D3D11_BIND_FLAG {
  D3D11_BIND_VERTEX_BUFFER = 0x1L,
  D3D11_BIND_INDEX_BUFFER = 0x2L,
  D3D11_BIND_CONSTANT_BUFFER = 0x4L,
  D3D11_BIND_SHADER_RESOURCE = 0x8L,
  D3D11_BIND_STREAM_OUTPUT = 0x10L,
  D3D11_BIND_RENDER_TARGET = 0x20L,
  D3D11_BIND_DEPTH_STENCIL = 0x40L,
  D3D11_BIND_UNORDERED_ACCESS = 0x80L,
  D3D11_BIND_DECODER = 0x200L,
  D3D11_BIND_VIDEO_ENCODER = 0x400L
} ;

Konstanta

 
D3D11_BIND_VERTEX_BUFFER
Nilai: 0x1L
Ikat buffer sebagai buffer vertex ke tahap input-assembler.
D3D11_BIND_INDEX_BUFFER
Nilai: 0x2L
Mengikat buffer sebagai buffer indeks ke tahap input-assembler.
D3D11_BIND_CONSTANT_BUFFER
Nilai: 0x4L
Mengikat buffer sebagai buffer konstan ke tahap shader; bendera ini MUNGKIN TIDAK digabungkan dengan bendera ikat lainnya.
D3D11_BIND_SHADER_RESOURCE
Nilai: 0x8L
Mengikat buffer atau tekstur ke tahap shader; bendera ini tidak dapat digunakan dengan bendera D3D11_MAP_WRITE_NO_OVERWRITE .

Catatan Runtime Direct3D 11.1, yang tersedia dimulai dengan Windows 8, memungkinkan pemetaan buffer konstanta dinamis dan tampilan sumber daya shader (SRV) buffer dinamis dengan D3D11_MAP_WRITE_NO_OVERWRITE. Direct3D 11 dan runtime sebelumnya membatasi pemetaan ke puncak atau buffer indeks. Untuk menentukan apakah perangkat Direct3D mendukung fitur-fitur ini, panggil ID3D11Device::CheckFeatureSupport dengan D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport mengisi anggota struktur D3D11_FEATURE_DATA_D3D11_OPTIONS dengan fitur perangkat. Anggota yang relevan di sini adalah MapNoOverwriteOnDynamicConstantBuffer dan MapNoOverwriteOnDynamicBufferSRV.

 
D3D11_BIND_STREAM_OUTPUT
Nilai: 0x10L
Mengikat buffer output untuk tahap stream-output.
D3D11_BIND_RENDER_TARGET
Nilai: 0x20L
Ikat tekstur sebagai target render untuk tahap output-merger.
D3D11_BIND_DEPTH_STENCIL
Nilai: 0x40L
Ikat tekstur sebagai target stensil kedalaman untuk tahap output-merger.
D3D11_BIND_UNORDERED_ACCESS
Nilai: 0x80L
Mengikat sumber daya akses yang tidak diurutkan .
D3D11_BIND_DECODER
Nilai: 0x200L
Atur bendera ini untuk menunjukkan bahwa tekstur 2D digunakan untuk menerima output dari API decoder. Cara umum untuk membuat sumber daya untuk output dekoder adalah dengan memanggil metode ID3D11Device::CreateTexture2D untuk membuat array tekstur 2D. Namun, Anda tidak dapat menggunakan array tekstur yang dibuat dengan bendera ini dalam panggilan ke ID3D11Device::CreateShaderResourceView.

Direct3D 11: Nilai ini tidak didukung hingga Direct3D 11.1.
D3D11_BIND_VIDEO_ENCODER
Nilai: 0x400L
Atur bendera ini untuk menunjukkan bahwa tekstur 2D digunakan untuk menerima input dari API encoder video. Cara umum untuk membuat sumber daya untuk encoder video adalah dengan memanggil metode ID3D11Device::CreateTexture2D untuk membuat array tekstur 2D. Namun, Anda tidak dapat menggunakan array tekstur yang dibuat dengan bendera ini dalam panggilan ke ID3D11Device::CreateShaderResourceView.

Direct3D 11: Nilai ini tidak didukung hingga Direct3D 11.1.

Keterangan

Secara umum, bendera pengikatan dapat digabungkan menggunakan bitwise OR (kecuali bendera buffer konstanta); namun, Anda harus menggunakan satu bendera untuk memungkinkan perangkat mengoptimalkan penggunaan sumber daya.

Enumerasi ini digunakan oleh:

Buffer sumber daya shader BUKAN buffer konstan; sebaliknya, ini adalah sumber daya tekstur atau buffer yang terikat ke shader, yang berisi tekstur atau data buffer (tidak terbatas pada satu jenis elemen dalam buffer). Buffer sumber daya shader dibuat dengan bendera D3D11_BIND_SHADER_RESOURCE dan terikat ke alur menggunakan salah satu API ini: ID3D11DeviceContext::GSSetShaderResources, ID3D11DeviceContext::P SSetShaderResources, atau ID3D11DeviceContext::VSSetShaderResources. Selain itu, buffer shader-resource tidak dapat menggunakan bendera D3D11_MAP_WRITE_NO_OVERWRITE .
Catatan Runtime Direct3D 11.1, yang tersedia dimulai dengan Windows 8, memungkinkan pemetaan buffer konstanta dinamis dan tampilan sumber daya shader (SRV) buffer dinamis dengan D3D11_MAP_WRITE_NO_OVERWRITE. Direct3D 11 dan runtime sebelumnya membatasi pemetaan ke puncak atau buffer indeks. Untuk menentukan apakah perangkat Direct3D mendukung fitur-fitur ini, panggil ID3D11Device::CheckFeatureSupport dengan D3D11_FEATURE_D3D11_OPTIONS. CheckFeatureSupport mengisi anggota struktur D3D11_FEATURE_DATA_D3D11_OPTIONS dengan fitur perangkat. Anggota yang relevan di sini adalah MapNoOverwriteOnDynamicConstantBuffer dan MapNoOverwriteOnDynamicBufferSRV.
 

Persyaratan

   
Header d3d11.h

Lihat juga

Enumerasi Sumber Daya