Função DMLCreateDevice1 (directml.h)

Cria um dispositivo DirectML para um determinado dispositivo Direct3D 12.

Sintaxe

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

Parâmetros

d3d12Device

Tipo: ID3D12Device*

Um ponteiro para um ID3D12Device que representa o dispositivo Direct3D 12 para criar o dispositivo DirectML. O DirectML dá suporte a qualquer nível de recurso D3D e dispositivos Direct3D 12 criados em qualquer adaptador, incluindo WARP. No entanto, nem todos os recursos no DirectML podem estar disponíveis dependendo dos recursos do dispositivo Direct3D 12. Consulte IDMLDevice::CheckFeatureSupport para obter mais informações.

Se a chamada para DMLCreateDevice1 for bem-sucedida, o dispositivo DirectML manterá uma referência forte ao dispositivo Direct3D 12 fornecido.

flags

Tipo: DML_CREATE_DEVICE_FLAGS

Um valor DML_CREATE_DEVICE_FLAGS especificando opções adicionais de criação de dispositivo.

minimumFeatureLevel

Tipo: DML_FEATURE_LEVEL

Um valor DML_FEATURE_LEVEL especificando o suporte mínimo ao nível de recurso necessário.

Esse parâmetro pode ser útil para chamadores que exigem uma versão específica do DirectML, mas que podem ser chamados para uma versão mais antiga do DirectML. Isso pode acontecer, por exemplo, quando o usuário executa seu aplicativo em uma versão mais antiga do Windows 10.

Aplicativos que dependem explicitamente da funcionalidade introduzida em um nível de recurso específico podem especificá-lo como minimumFeatureLevel. Isso garantirá que DMLCreateDevice1 não terá êxito, a menos que a implementação subjacente seja pelo menos tão capaz quanto esse nível mínimo de recurso solicitado.

Observe que, como esse parâmetro especifica um nível mínimo de recurso, o dispositivo DirectML subjacente pode de fato dar suporte a um nível de recurso mais alto do que o mínimo solicitado. Depois que a criação do dispositivo for bem-sucedida, você poderá consultar todos os níveis de recursos compatíveis com esse dispositivo usando IDMLDevice::CheckFeatureSupport.

riid

Tipo: REFIID

Uma referência ao GUID (identificador global exclusivo) da interface que você deseja que seja retornado no dispositivo. Espera-se que esse seja o GUID de IDMLDevice.

ppv

Tipo: _COM_Outptr_opt_ void**

Um ponteiro para um bloco de memória que recebe um ponteiro para o dispositivo. Esse é o endereço de um ponteiro para um IDMLDevice, representando o dispositivo DirectML criado.

Retornar valor

Tipo: HRESULT

Se a função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Se essa versão do DirectML não der suporte ao minimumFeatureLevel solicitado, essa função retornará DXGI_ERROR_UNSUPPORTED.

Comentários

Uma versão mais recente dessa função, DMLCreateDevice1, foi introduzida no DirectML versão 1.1.0. DMLCreateDevice1 é equivalente a chamar DMLCreateDevice1 e fornecer um minimumFeatureLevel de DML_FEATURE_LEVEL_1_0.

Disponibilidade

Essa API foi introduzida na versão 1.1.0do DirectML .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10 Build 20348
Servidor mínimo com suporte Windows 10 Build 20348
Plataforma de Destino Windows
Cabeçalho directml.h
Biblioteca DirectML.lib
DLL DirectML.dll

Confira também