Funzione D3D12EnableExperimentalFeatures (d3d12.h)
Abilita un elenco di funzionalità sperimentali.
Sintassi
HRESULT D3D12EnableExperimentalFeatures(
UINT NumFeatures,
[in] const IID *pIIDs,
[in] void *pConfigurationStructs,
[in] UINT *pConfigurationStructSizes
);
Parametri
NumFeatures
Tipo: UINT
Numero di funzionalità sperimentali da abilitare.
[in] pIIDs
Tipo: const IID*
SAL: __in_ecount(NumFeatures)
Puntatore a una matrice di ID che specificano quale delle funzionalità sperimentali disponibili per abilitare.
[in] pConfigurationStructs
Tipo: void*
SAL: __in_ecount(NumFeatures)
Strutture che contengono dettagli di configurazione aggiuntivi che alcune funzionalità sperimentali potrebbero essere abilitate.
[in] pConfigurationStructSizes
Tipo: UINT*
SAL: __in_ecount(NumFeatures)
Dimensioni di tutti gli struct di configurazione passati nel parametro pConfigurationStructs.
Valore restituito
Tipo: HRESULT
Questo metodo restituisce un codice di esito positivo o di errore HRESULT che può includere E_NOINTERFACE se viene specificata una funzionalità non riconosciuta o la modalità sviluppatore non è abilitata o E_INVALIDARG se la configurazione di una funzionalità è corretta, le funzionalità sperimentali specificate non sono compatibili o altri errori.
Commenti
Chiamare questa funzione prima della creazione del dispositivo.
Poiché il set di funzionalità sperimentali cambierà nel tempo e poiché queste funzionalità potrebbero non essere stabili, sono destinate solo allo sviluppo e alla sperimentazione. Questa operazione viene applicata richiedendo che la modalità sviluppatore sia attiva prima che tutte le funzionalità sperimentali possano essere abilitate.
Il set di funzionalità sperimentali attualmente supportate è disponibile nell'intestazione D3D12.h, vicino alla definizione della funzione D3D12EnableExperimentalFeatures; poiché le funzionalità sperimentali sono rese disponibili raramente, il suo tipico per trovare che non sono attualmente supportate funzionalità sperimentali.
Alcune funzionalità sperimentali possono essere identificate usando un IID come GUID. Per queste funzionalità, è possibile usare D3D12GetDebugInterface, passando un IID come parametro, per recuperare l'interfaccia per la modifica di tale funzionalità.
Se questa funzione viene chiamata di nuovo con un elenco diverso di funzionalità da abilitare, tutti i dispositivi D3D12 correnti vengono impostati sullo stato DEVICE_REMOVED.
Esempio
In questo esempio viene illustrato l'aspetto di una definizione di funzionalità sperimentale.
// --------------------------------------------------------------------------------------------------------------------------------
// 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 }
};
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | d3d12.h |
Libreria | D3D12.lib |
DLL | D3D12.dll |