// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. #include #include #include #include #include #include "dxguids/dxguids.h" #ifdef __MINGW32__ STDAPI DXCoreCreateAdapterFactory( REFIID riid, _COM_Outptr_ void** ppvFactory ) { return 0; } #endif int check_uuid_linkage() { auto uuid_i_unknown = IID_IUnknown; return sizeof(uuid_i_unknown); } int main() { IDXCoreAdapter *adapter = nullptr; ID3D12Device *device = nullptr; check_uuid_linkage(); { IDXCoreAdapterFactory *factory = nullptr; if (FAILED(DXCoreCreateAdapterFactory(&factory))) return -1; IDXCoreAdapterList *list = nullptr; if (FAILED(factory->CreateAdapterList(1, &DXCORE_ADAPTER_ATTRIBUTE_D3D12_CORE_COMPUTE, &list))) return -1; if (FAILED(list->GetAdapter(0, &adapter))) return -1; } return D3D12CreateDevice(adapter, D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&device)); }