Fungsi D3D12EnableExperimentalFeatures (d3d12.h)
Mengaktifkan daftar fitur eksperimental.
HRESULT D3D12EnableExperimentalFeatures(
UINT NumFeatures,
[in] const IID *pIIDs,
[in] void *pConfigurationStructs,
[in] UINT *pConfigurationStructSizes
);
NumFeatures
Jenis: UINT
Jumlah fitur eksperimental yang akan diaktifkan.
[in] pIIDs
Jenis: const IID*
SAL: __in_ecount(NumFeatures)
Penunjuk ke array ID yang menentukan fitur eksperimental mana yang tersedia untuk diaktifkan.
[in] pConfigurationStructs
Jenis: batal*
SAL: __in_ecount(NumFeatures)
Struktur yang berisi detail konfigurasi tambahan yang mungkin perlu diaktifkan oleh beberapa fitur eksperimental.
[in] pConfigurationStructSizes
Jenis: UINT*
SAL: __in_ecount(NumFeatures)
Ukuran struct konfigurasi apa pun yang diteruskan dalam parameter pConfigurationStructs.
Jenis: HRESULT
Metode ini mengembalikan kode keberhasilan atau kesalahan HRESULT yang dapat menyertakan E_NOINTERFACE jika fitur yang tidak dikenal ditentukan atau Mode Pengembang tidak diaktifkan, atau E_INVALIDARG jika konfigurasi fitur sudah benar, fitur eksperimental yang ditentukan tidak kompatibel, atau kesalahan lainnya.
Panggil fungsi ini sebelum pembuatan perangkat.
Karena serangkaian fitur eksperimental akan berubah dari waktu ke waktu, dan karena fitur-fitur ini mungkin tidak stabil, fitur ini hanya ditujukan untuk pengembangan dan eksperimen. Ini diberlakukan dengan mengharuskan Mode Pengembang aktif sebelum fitur eksperimental apa pun dapat diaktifkan.
Kumpulan fitur eksperimental yang saat ini didukung dapat ditemukan di header D3D12.h, di dekat definisi fungsi D3D12EnableExperimentalFeatures; karena fitur eksperimental jarang tersedia, biasanya tidak ada fitur eksperimental yang saat ini didukung.
Beberapa fitur eksperimental mungkin diidentifikasi dengan menggunakan IID sebagai GUID. Untuk fitur-fitur ini, Anda dapat menggunakan D3D12GetDebugInterface, meneruskan IID sebagai parameter, untuk mengambil antarmuka untuk memanipulasi fitur tersebut.
Jika fungsi ini dipanggil lagi dengan daftar fitur yang berbeda untuk diaktifkan, semua perangkat D3D12 saat ini diatur ke status DEVICE_REMOVED.
Contoh ini menunjukkan seperti apa definisi fitur eksperimental.
// --------------------------------------------------------------------------------------------------------------------------------
// Experimental Feature: D3D12ExperimentalShaderModels
//
// Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,
// meaning shader models that haven't been finalized for use in retail.
//
// Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.
//
// --------------------------------------------------------------------------------------------------------------------------------
static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */
0x76f5573e,
0xf13a,
0x40f5,
{ 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }
};
Target Platform | Windows |
Header | d3d12.h |
Pustaka | D3D12.lib |
DLL | D3D12.dll |