diff options
| author | hdcmeta <hdcmeta@gmail.com> | 2016-01-07 19:40:35 -0800 |
|---|---|---|
| committer | hdcmeta <hdcmeta@gmail.com> | 2016-02-15 09:48:25 -0800 |
| commit | 8cc686b3606deb1a3638281da9c12180a481e899 (patch) | |
| tree | 6adae584fcc27911bf4464deb8a62d468472c98c /Source/Core/VideoCommon/VideoBackendBase.cpp | |
| parent | a2e2e36745717135d42df2d17965aa709480e3e3 (diff) | |
D3D12: Initial commit for D3D12 backend implementation.
Diffstat (limited to 'Source/Core/VideoCommon/VideoBackendBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/VideoBackendBase.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/VideoBackendBase.cpp b/Source/Core/VideoCommon/VideoBackendBase.cpp index 7978f78710..00b2ddf2e2 100644 --- a/Source/Core/VideoCommon/VideoBackendBase.cpp +++ b/Source/Core/VideoCommon/VideoBackendBase.cpp @@ -8,6 +8,7 @@ // TODO: ugly #ifdef _WIN32 #include "VideoBackends/D3D/VideoBackend.h" +#include "VideoBackends/D3D12/VideoBackend.h" #endif #include "VideoBackends/OGL/VideoBackend.h" #include "VideoBackends/Software/VideoBackend.h" @@ -33,10 +34,18 @@ void VideoBackendBase::PopulateList() { VideoBackendBase* backends[4] = { nullptr }; - // OGL > D3D11 > SW + // OGL > D3D11 > D3D12 > SW g_available_video_backends.push_back(backends[0] = new OGL::VideoBackend); #ifdef _WIN32 g_available_video_backends.push_back(backends[1] = new DX11::VideoBackend); + + // More robust way to check for D3D12 support than (unreliable) OS version checks. + HMODULE d3d12_module = LoadLibraryA("d3d12.dll"); + if (d3d12_module != NULL) + { + FreeLibrary(d3d12_module); + g_available_video_backends.push_back(backends[2] = new DX12::VideoBackend); + } #endif g_available_video_backends.push_back(backends[3] = new SW::VideoSoftware); |
