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

Vedi anche

Funzioni di sistema