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 |