summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D/D3DBase.cpp
diff options
context:
space:
mode:
authormagumagu <magumagu9@gmail.com>2015-01-17 14:27:11 -0800
committermagumagu <magumagu9@gmail.com>2015-01-17 14:27:11 -0800
commit7d5abb4eb49fc26e533e1b6b7febc1fd42c31e66 (patch)
treebb70fd3ae38ae849b5b009812755ec449467c156 /Source/Core/VideoBackends/D3D/D3DBase.cpp
parentc2bdcbe71c8e559a3bb91ff1da7844dd65406582 (diff)
D3D: allow selecting adapters with no outputs.
The result might be a little iffy in complicated situations (i.e. you have three graphics cards and monitors hooked up to two of them), but we really need better UI for such cases anyway.
Diffstat (limited to 'Source/Core/VideoBackends/D3D/D3DBase.cpp')
-rw-r--r--Source/Core/VideoBackends/D3D/D3DBase.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/Source/Core/VideoBackends/D3D/D3DBase.cpp b/Source/Core/VideoBackends/D3D/D3DBase.cpp
index 982c5d2e6c..62ce37da76 100644
--- a/Source/Core/VideoBackends/D3D/D3DBase.cpp
+++ b/Source/Core/VideoBackends/D3D/D3DBase.cpp
@@ -243,11 +243,16 @@ HRESULT Create(HWND wnd)
if (FAILED(hr))
{
// try using the first one
- hr = adapter->EnumOutputs(0, &output);
- if (FAILED(hr)) MessageBox(wnd, _T("Failed to enumerate outputs!\n")
- _T("This usually happens when you've set your video adapter to the Nvidia GPU in an Optimus-equipped system.\n")
- _T("Set Dolphin to use the high-performance graphics in Nvidia's drivers instead and leave Dolphin's video adapter set to the Intel GPU."),
- _T("Dolphin Direct3D 11 backend"), MB_OK | MB_ICONERROR);
+ IDXGIAdapter* firstadapter;
+ hr = factory->EnumAdapters(0, &firstadapter);
+ if (!FAILED(hr))
+ hr = firstadapter->EnumOutputs(0, &output);
+ if (FAILED(hr)) MessageBox(wnd,
+ _T("Failed to enumerate outputs!\n")
+ _T("This usually happens when you've set your video adapter to the Nvidia GPU in an Optimus-equipped system.\n")
+ _T("Set Dolphin to use the high-performance graphics in Nvidia's drivers instead and leave Dolphin's video adapter set to the Intel GPU."),
+ _T("Dolphin Direct3D 11 backend"), MB_OK | MB_ICONERROR);
+ SAFE_RELEASE(firstadapter);
}
// get supported AA modes