diff --git a/renderdoc/driver/ihv/nv/official/PerfSDK/redist/NvPerfUtility/include/NvPerfD3D12.h b/renderdoc/driver/ihv/nv/official/PerfSDK/redist/NvPerfUtility/include/NvPerfD3D12.h index 9b6950d6f..1aa91d7fe 100644 --- a/renderdoc/driver/ihv/nv/official/PerfSDK/redist/NvPerfUtility/include/NvPerfD3D12.h +++ b/renderdoc/driver/ihv/nv/official/PerfSDK/redist/NvPerfUtility/include/NvPerfD3D12.h @@ -176,8 +176,15 @@ namespace nv { namespace perf { { const LUID deviceLuid = pDevice->GetAdapterLuid(); + typedef HRESULT (*PFN_CREATE_DXGI_FACTORY)(REFIID, void **); + PFN_CREATE_DXGI_FACTORY pfnCreateDXGIFactory1 = (PFN_CREATE_DXGI_FACTORY)GetProcAddress(GetModuleHandleA("dxgi.dll"), "CreateDXGIFactory1"); + if (!pfnCreateDXGIFactory1) + { + return false; + } + ComPtr pDXGIFactory; - HRESULT hr = CreateDXGIFactory1(IID_PPV_ARGS(&pDXGIFactory)); + HRESULT hr = pfnCreateDXGIFactory1(IID_PPV_ARGS(&pDXGIFactory)); if (FAILED(hr)) { return false;