DMLCreateDevice1-Funktion (directml.h)
Erstellt ein DirectML-Gerät für ein bestimmtes Direct3D 12-Gerät.
Syntax
HRESULT DMLCreateDevice1(
ID3D12Device *d3d12Device,
DML_CREATE_DEVICE_FLAGS flags,
DML_FEATURE_LEVEL minimumFeatureLevel,
REFIID riid,
void **ppv
);
Parameter
d3d12Device
Typ: ID3D12Geräte*
Ein Zeiger auf ein ID3D12Device , das das Direct3D 12-Gerät darstellt, über das das DirectML-Gerät erstellt werden soll. DirectML unterstützt alle D3D-Featureebenen und Direct3D 12-Geräte, die mit jedem Adapter erstellt werden, einschließlich WARP. Abhängig von den Funktionen des Direct3D 12-Geräts sind jedoch möglicherweise nicht alle Features in DirectML verfügbar. Weitere Informationen finden Sie unter IDMLDevice::CheckFeatureSupport .
Wenn der Aufruf von DMLCreateDevice1 erfolgreich ist, behält das DirectML-Gerät einen starken Verweis auf das bereitgestellte Direct3D 12-Gerät bei.
flags
Typ: DML_CREATE_DEVICE_FLAGS
Ein DML_CREATE_DEVICE_FLAGS Wert, der zusätzliche Optionen für die Geräteerstellung angibt.
minimumFeatureLevel
Typ: DML_FEATURE_LEVEL
Ein DML_FEATURE_LEVEL Wert, der die erforderliche Mindestunterstützung auf Featureebene angibt.
Dieser Parameter kann für Aufrufer nützlich sein, die eine bestimmte Version von DirectML benötigen, aber möglicherweise eine ältere Version von DirectML aufrufen. Dies kann beispielsweise der Fall sein, wenn der Benutzer Ihre Anwendung auf einer älteren Version von Windows 10 ausführt.
Anwendungen, die explizit von funktionen abhängig sind, die in einer bestimmten Featureebene eingeführt wurden, können diese als minimumFeatureLevel angeben. Dadurch wird sichergestellt, dass DMLCreateDevice1 nicht erfolgreich ist, es sei denn, die zugrunde liegende Implementierung ist mindestens so leistungsfähig wie diese angeforderte Mindestfeatureebene.
Beachten Sie, dass das zugrunde liegende DirectML-Gerät möglicherweise eine höhere Featureebene als das angeforderte Minimum unterstützt, da dieser Parameter eine minimale Featureebene angibt. Sobald die Geräteerstellung erfolgreich war, können Sie alle von diesem Gerät unterstützten Featureebenen mithilfe von IDMLDevice::CheckFeatureSupport abfragen.
riid
Typ: REFIID
Ein Verweis auf den Globally Unique Identifier (GUID) der Schnittstelle, die sie im Gerät zurückgeben möchten. Dies wird voraussichtlich die GUID von IDMLDevice sein.
ppv
Typ: _COM_Outptr_opt_ void**
Ein Zeiger auf einen Speicherblock, der einen Zeiger auf das Gerät empfängt. Dies ist die Adresse eines Zeigers auf ein IDMLDevice, das das erstellte DirectML-Gerät darstellt.
Rückgabewert
Typ: HRESULT
Wenn die Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Wenn diese Version von DirectML das angeforderte minimumFeatureLevel nicht unterstützt, gibt diese Funktion DXGI_ERROR_UNSUPPORTED zurück.
Hinweise
Eine neuere Version dieser Funktion, DMLCreateDevice1, wurde in DirectML Version 1.1.0 eingeführt. DMLCreateDevice1 entspricht dem Aufrufen von DMLCreateDevice1 und dem Bereitstellen eines MinimumFeatureLevels von DML_FEATURE_LEVEL_1_0.
Verfügbarkeit
Diese API wurde in DirectML-Version 1.1.0
eingeführt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10 Build 20348 |
Unterstützte Mindestversion (Server) | Windows 10 Build 20348 |
Zielplattform | Windows |
Kopfzeile | directml.h |
Bibliothek | DirectML.lib |
DLL | DirectML.dll |