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
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:
- ID3D11DeviceContext::D raw
- ID3D11DeviceContext::D rawIndexed
- ID3D11DeviceContext::D rawInstanced
- ID3D11DeviceContext::D rawIndexedInstanced
- ID3D11DeviceContext::D rawAuto
- ID3D11DeviceContext::ClearRenderTargetView
- ID3D11DeviceContext::ClearDepthStencilView
- ID3D11DeviceContext::CopySubresourceRegion
- ID3D11DeviceContext::CopyResource
- ID3D11DeviceContext::UpdateSubresource
- ID3D11DeviceContext::GenerateMips
- ID3D11DeviceContext::ResolveSubresource
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:
- Jika aplikasi memanggil ID3D11DeviceContext1::D iscardView, runtime mengisi sumber daya dengan warna acak.
- Jika aplikasi memanggil IDXGISwapChain1::P resent1 dengan parameter presentasi parsial, runtime mengabaikan informasi presentasi parsial.
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 |