DMLCreateDevice1 함수(directml.h)
지정된 Direct3D 12 디바이스에 대한 DirectML 디바이스를 만듭니다.
구문
HRESULT DMLCreateDevice1(
ID3D12Device *d3d12Device,
DML_CREATE_DEVICE_FLAGS flags,
DML_FEATURE_LEVEL minimumFeatureLevel,
REFIID riid,
void **ppv
);
매개 변수
d3d12Device
형식: ID3D12Device*
DirectML 디바이스를 만들 Direct3D 12 디바이스를 나타내는 ID3D12Device 에 대한 포인터입니다. DirectML은 WARP를 비롯한 모든 어댑터에서 만든 모든 D3D 기능 수준 및 Direct3D 12 디바이스를 지원합니다. 그러나 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(Globally Unique Identifier)에 대한 참조입니다. IDMLDevice의 GUID가 될 것으로 예상됩니다.
ppv
형식: _COM_Outptr_opt_ void**
디바이스에 대한 포인터를 수신하는 메모리 블록에 대한 포인터입니다. 생성된 DirectML 디바이스를 나타내는 IDMLDevice에 대한 포인터의 주소입니다.
반환 값
형식: HRESULT
함수가 성공하면 S_OK를 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
이 버전의 DirectML이 요청한 minimumFeatureLevel을 지원하지 않는 경우 이 함수는 DXGI_ERROR_UNSUPPORTED 반환합니다.
설명
이 함수의 최신 버전인 DMLCreateDevice1은 DirectML 버전 1.1.0에 도입되었습니다. DMLCreateDevice1은 DMLCreateDevice1을 호출하고 DML_FEATURE_LEVEL_1_0 최소FeatureLevel을 제공하는 것과 같습니다.
가용성
이 API는 DirectML 버전 1.1.0
에서 도입되었습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10 빌드 20348 |
지원되는 최소 서버 | Windows 10 빌드 20348 |
대상 플랫폼 | Windows |
헤더 | directml.h |
라이브러리 | DirectML.lib |
DLL | DirectML.dll |