Bagikan melalui


Metode ID3D11Debug::SetFeatureMask (d3d11sdklayers.h)

Atur bidang bit bendera yang akan mengaktifkan dan menonaktifkan fitur debug.

Sintaks

HRESULT SetFeatureMask(
  UINT Mask
);

Parameter

Mask

Jenis: UINT

Kombinasi bendera masker fitur yang digabungkan dengan menggunakan operasi OR bitwise. Jika ada bendera, fitur tersebut akan diatur ke aktif, jika tidak, fitur akan diatur ke nonaktif. Untuk deskripsi bendera masker fitur, lihat Keterangan.

Menampilkan nilai

Jenis: HRESULT

Metode ini mengembalikan salah satu Kode Pengembalian Direct3D 11.

Keterangan

Catatan Jika Anda memanggil API ini dalam proses Sesi 0, api akan mengembalikan DXGI_ERROR_NOT_CURRENTLY_AVAILABLE.
 
Mengatur salah satu bendera masker fitur berikut akan menyebabkan metode operasi penyajian (tercantum di bawah) untuk melakukan beberapa tugas tambahan saat dipanggil.
D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP (0x2) Aplikasi akan menunggu GPU selesai memproses operasi penyajian sebelum melanjutkan.
D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP (0x1) Runtime juga akan memanggil ID3D11DeviceContext::Flush.
D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP (0x4) Runtime akan memanggil IDXGISwapChain::P resent. Presentasi buffer render akan terjadi sesuai dengan pengaturan yang dibuat oleh panggilan sebelumnya ke ID3D11Debug::SetSwapChain dan ID3D11Debug::SetPresentPerRenderOpDelay.
 

Bendera masker fitur ini berlaku untuk metode operasi penyajian berikut:

Dengan mengatur salah satu bendera masker fitur berikut, Anda dapat mengontrol perilaku metode IDXGIDevice2::OfferResources dan IDXGIDevice2::ReclaimResources untuk membantu dalam pengujian dan penelusuran kesalahan.
Catatan Bendera ini didukung oleh runtime Direct3D 11.1, yang tersedia dimulai dengan Windows 8.
 
D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE (0x8) Saat Anda memanggil IDXGIDevice2::OfferResources untuk menawarkan sumber daya saat bendera ini diaktifkan, kontennya selalu dibuang. Gunakan bendera ini untuk menguji jalur kode yang meregenerasi konten sumber daya saat mengklaim kembali. Anda tidak dapat menggunakan bendera ini dalam kombinasi dengan D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE.
D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE (0x10) Saat Anda memanggil IDXGIDevice2::OfferResources untuk menawarkan sumber daya saat bendera ini diaktifkan, kontennya tidak pernah dibuang. Gunakan bendera ini untuk menguji jalur kode yang tidak perlu meregenerasi konten sumber daya saat klaim ulang. Anda tidak dapat menggunakan bendera ini dalam kombinasi dengan D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE.
 

Perilaku metode IDXGIDevice2::OfferResources dan IDXGIDevice2::ReclaimResources bergantung pada tekanan memori di seluruh sistem. Oleh karena itu, skenario di mana konten hilang dan harus diregenerasi jarang untuk sebagian besar aplikasi. Opsi baru sebelumnya di lapisan debug Direct3D memungkinkan Anda mensimulasikan skenario tersebut secara konsisten dan menguji jalur kode.

Bendera berikut didukung oleh runtime Direct3D 11.1.

D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS (0x40) Menonaktifkan perilaku penelusuran kesalahan default berikut.
 

Ketika lapisan debug diaktifkan, lapisan ini melakukan tindakan tertentu untuk mengungkapkan masalah aplikasi. Dengan mengatur bendera masker fitur D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS, Anda dapat mengaktifkan lapisan debug tanpa mendapatkan perilaku penelusuran kesalahan default berikut:

Bendera berikut didukung oleh runtime Direct3D 11.2.
D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION (0x80) Menonaktifkan perilaku penelusuran kesalahan default berikut.
 

Secara default (yaitu, tanpa D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION diatur), lapisan debug memvalidasi penggunaan semua pemetaan petak peta yang tepat untuk sumber daya ubin untuk sumber daya terikat untuk setiap operasi yang dilakukan pada konteks perangkat (misalnya, menggambar, menyalin, dan sebagainya). Tergantung pada ukuran sumber daya ubin yang digunakan (jika ada), validasi ini dapat menjadi prosesor intensif dan lambat. Aplikasi mungkin awalnya ingin dijalankan dengan validasi pemetaan petak peta sumber daya ubin pada; kemudian, ketika mereka menentukan bahwa pola panggilan aman, mereka dapat menonaktifkan validasi dengan mengatur D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION.

Jika D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION diatur saat sumber daya ubin dibuat, lapisan debug tidak pernah melakukan pelacakan pemetaan petak peta untuk sumber daya tersebut selama masa pakainya. Atau, jika D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION diatur untuk panggilan metode konteks perangkat tertentu (seperti panggilan gambar atau salin) yang melibatkan sumber daya petak peta, lapisan debug melewati semua validasi pemetaan petak peta untuk panggilan.

Persyaratan

   
Target Platform Windows
Header d3d11sdklayers.h
Pustaka D3D11.lib

Lihat juga

Antarmuka ID3D11Debug