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.0
do 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 |