diff --git a/src/dxgi/dxgi_factory.cpp b/src/dxgi/dxgi_factory.cpp index 061fbd754..7d61f34ff 100644 --- a/src/dxgi/dxgi_factory.cpp +++ b/src/dxgi/dxgi_factory.cpp @@ -228,8 +228,18 @@ namespace dxvk { void** ppvAdapter) { InitReturnPtr(ppvAdapter); - Logger::err("DxgiFactory::EnumWarpAdapter: Not implemented"); - return E_NOTIMPL; + static bool s_errorShown = false; + + if (!std::exchange(s_errorShown, true)) + Logger::warn("DxgiFactory::EnumWarpAdapter: WARP not supported, returning first hardware adapter"); + + Com adapter; + HRESULT hr = EnumAdapters1(0, &adapter); + + if (FAILED(hr)) + return hr; + + return adapter->QueryInterface(riid, ppvAdapter); }