Freigeben über


D3D12EnableExperimentalFeatures-Funktion (d3d12.h)

Aktiviert eine Liste mit experimentellen Features.

Syntax

HRESULT D3D12EnableExperimentalFeatures(
       UINT      NumFeatures,
  [in] const IID *pIIDs,
  [in] void      *pConfigurationStructs,
  [in] UINT      *pConfigurationStructSizes
);

Parameter

NumFeatures

Typ: UINT

Die Anzahl der zu aktivierenden experimentellen Features.

[in] pIIDs

Typ: const IID*

SAL: __in_ecount(NumFeatures)

Ein Zeiger auf ein Array von IDs, die angeben, welche der verfügbaren experimentellen Features aktiviert werden sollen.

[in] pConfigurationStructs

Typ: void*

SAL: __in_ecount(NumFeatures)

Strukturen, die zusätzliche Konfigurationsdetails enthalten, die möglicherweise einige experimentelle Features aktiviert werden müssen.

[in] pConfigurationStructSizes

Typ: UINT*

SAL: __in_ecount(NumFeatures)

Die Größen aller Konfigurationsstrukturen, die im pConfigurationStructs-Parameter übergeben werden.

Rückgabewert

Typ: HRESULT

Diese Methode gibt einen HRESULT-Erfolgs- oder Fehlercode zurück, der E_NOINTERFACE enthalten kann, wenn ein nicht erkanntes Feature angegeben oder der Entwicklermodus nicht aktiviert ist, oder E_INVALIDARG, wenn die Konfiguration eines Features korrekt ist, die angegebenen experimentellen Features nicht kompatibel sind, oder andere Fehler.

Hinweise

Rufen Sie diese Funktion vor der Geräteerstellung auf.

Da sich der Satz experimenteller Features im Laufe der Zeit ändert und diese Features möglicherweise nicht stabil sind, sind sie nur für die Entwicklung und experimente vorgesehen. Dies wird erzwungen, indem der Entwicklermodus aktiv sein muss, bevor experimentelle Features aktiviert werden können.

Die derzeit unterstützten experimentellen Features befinden sich im D3D12.h-Header in der Nähe der Definition der D3D12EnableExperimentalFeatures-Funktion. da experimentelle Features nur selten zur Verfügung gestellt werden, ist es typisch, dass derzeit keine experimentellen Features unterstützt werden.

Einige experimentelle Features können mithilfe einer IID als GUID identifiziert werden. Für diese Features können Sie D3D12GetDebugInterface verwenden, indem Sie eine IID als Parameter übergeben, um die Schnittstelle zum Bearbeiten dieses Features abzurufen.

Wenn diese Funktion erneut aufgerufen wird und eine andere Liste von Features aktiviert werden soll, werden alle aktuellen D3D12-Geräte auf den DEVICE_REMOVED Zustand festgelegt.

Beispiele

Dieses Beispiel zeigt, wie eine experimentelle Featuredefinition aussieht.

// --------------------------------------------------------------------------------------------------------------------------------
// 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 }
};
	

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d12.h
Bibliothek D3D12.lib
DLL D3D12.dll

Weitere Informationen

Kernfunktionen