Compartir a través de


Función DMLCreateDevice1 (directml.h)

Crea un dispositivo DirectML para un dispositivo Direct3D 12 determinado.

Sintaxis

HRESULT DMLCreateDevice1(
  ID3D12Device            *d3d12Device,
  DML_CREATE_DEVICE_FLAGS flags,
  DML_FEATURE_LEVEL       minimumFeatureLevel,
  REFIID                  riid,
  void                    **ppv
);

Parámetros

d3d12Device

Tipo: ID3D12Device*

Puntero a un dispositivo ID3D12Device que representa el dispositivo Direct3D 12 para crear el dispositivo DirectML. DirectML admite cualquier nivel de característica D3D y dispositivos Direct3D 12 creados en cualquier adaptador, incluido WARP. Sin embargo, no todas las características de DirectML pueden estar disponibles en función de las funcionalidades del dispositivo Direct3D 12. Consulte IDMLDevice::CheckFeatureSupport para obtener más información.

Si la llamada a DMLCreateDevice1 es correcta, el dispositivo DirectML mantiene una referencia fuerte al dispositivo Direct3D 12 proporcionado.

flags

Tipo: DML_CREATE_DEVICE_FLAGS

Valor de DML_CREATE_DEVICE_FLAGS que especifica opciones de creación de dispositivos adicionales.

minimumFeatureLevel

Tipo: DML_FEATURE_LEVEL

Valor de DML_FEATURE_LEVEL que especifica la compatibilidad mínima de nivel de característica necesaria.

Este parámetro puede ser útil para los autores de llamadas que requieren una versión específica de DirectML, pero que pueden encontrarse llamando a una versión anterior de DirectML. Esto puede ocurrir, por ejemplo, cuando el usuario ejecuta la aplicación en una versión anterior de Windows 10.

Las aplicaciones que dependen explícitamente de la funcionalidad introducida en un nivel de característica determinado pueden especificarla como minimumFeatureLevel. Esto garantizará que DMLCreateDevice1 no se realice correctamente a menos que la implementación subyacente sea al menos tan capaz como este nivel de característica mínimo solicitado.

Tenga en cuenta que, como este parámetro especifica un nivel de característica mínimo , el dispositivo DirectML subyacente puede admitir de hecho un nivel de característica superior al mínimo solicitado. Una vez que la creación del dispositivo se realiza correctamente, puede consultar todos los niveles de características admitidos por este dispositivo mediante IDMLDevice::CheckFeatureSupport.

riid

Tipo: REFIID

Referencia al identificador único global (GUID) de la interfaz que desea devolver en el dispositivo. Se espera que sea el GUID de IDMLDevice.

ppv

Tipo: _COM_Outptr_opt_ void**

Puntero a un bloque de memoria que recibe un puntero al dispositivo. Esta es la dirección de un puntero a un IDMLDevice, que representa el dispositivo DirectML creado.

Valor devuelto

Tipo: HRESULT

Si la función se ejecuta correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Si esta versión de DirectML no admite el valor minimumFeatureLevel solicitado, esta función devolverá DXGI_ERROR_UNSUPPORTED.

Comentarios

Se introdujo una versión más reciente de esta función, DMLCreateDevice1, en la versión 1.1.0 de DirectML. DMLCreateDevice1 equivale a llamar a DMLCreateDevice1 y proporcionar un valor minimumFeatureLevel de DML_FEATURE_LEVEL_1_0.

Disponibilidad

Esta API se introdujo en la versión 1.1.0de DirectML.

Requisitos

Requisito Value
Cliente mínimo compatible compilación 20348 de Windows 10
Servidor mínimo compatible compilación 20348 de Windows 10
Plataforma de destino Windows
Encabezado directml.h
Library DirectML.lib
Archivo DLL DirectML.dll

Consulte también