Функция DMLCreateDevice1 (directml.h)
Создает устройство DirectML для данного устройства Direct3D 12.
Синтаксис
HRESULT DMLCreateDevice1(
ID3D12Device *d3d12Device,
DML_CREATE_DEVICE_FLAGS flags,
DML_FEATURE_LEVEL minimumFeatureLevel,
REFIID riid,
void **ppv
);
Параметры
d3d12Device
Тип: ID3D12Device*
Указатель на ID3D12Device , представляющий устройство Direct3D 12 для создания устройства DirectML. DirectML поддерживает любой уровень функций D3D и устройства Direct3D 12, созданные на любом адаптере, включая WARP. Однако не все функции в DirectML могут быть доступны в зависимости от возможностей устройства Direct3D 12. Дополнительные сведения см. в разделе IDMLDevice::CheckFeatureSupport .
Если вызов DMLCreateDevice1 выполнен успешно, устройство DirectML сохраняет строгую ссылку на предоставленное устройство Direct3D 12.
flags
Тип: DML_CREATE_DEVICE_FLAGS
Значение DML_CREATE_DEVICE_FLAGS , указывающее дополнительные параметры создания устройства.
minimumFeatureLevel
Тип: DML_FEATURE_LEVEL
Значение DML_FEATURE_LEVEL , указывающее минимальную поддержку уровня функций.
Этот параметр может быть полезен для вызывающих лиц, которым требуется определенная версия DirectML, но которые могут оказаться вызывающими в более старой версии DirectML. Это может произойти, например, когда пользователь запускает приложение в более старой версии Windows 10.
Приложения, которые явно зависят от функциональных возможностей, представленных на определенном уровне функций, могут указать его как minimumFeatureLevel. Это гарантирует, что DMLCreateDevice1 не будет выполнено, если базовая реализация не будет по меньшей мере так же способна, как и запрошенный минимальный уровень функций.
Обратите внимание, что поскольку этот параметр задает минимальный уровень функций, базовое устройство DirectML может фактически поддерживать более высокий уровень функций, чем запрошенный минимум. После успешного создания устройства можно запросить все уровни функций, поддерживаемые этим устройством, с помощью IDMLDevice::CheckFeatureSupport.
riid
Тип: REFIID
Ссылка на глобальный уникальный идентификатор (GUID) интерфейса, который вы хотите вернуть на устройстве. Ожидается, что это guid IDMLDevice.
ppv
Тип: _COM_Outptr_opt_ void**
Указатель на блок памяти, получающий указатель на устройство. Это адрес указателя на IDMLDevice, представляющий созданное устройство DirectML.
Возвращаемое значение
Тип: HRESULT
Если функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Если эта версия DirectML не поддерживает запрошенный параметр minimumFeatureLevel , эта функция вернет DXGI_ERROR_UNSUPPORTED.
Комментарии
В DirectML версии 1.1.0 появилась более новая версия этой функции DMLCreateDevice1. DMLCreateDevice1 эквивалентен вызову DMLCreateDevice1 и указанию параметра minimumFeatureLevelDML_FEATURE_LEVEL_1_0.
Доступность
Этот API появился в версии 1.1.0
DirectML.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | сборка Windows 10 20348 |
Минимальная версия сервера | сборка Windows 10 20348 |
Целевая платформа | Windows |
Header | directml.h |
Библиотека | DirectML.lib |
DLL | DirectML.dll |