summaryrefslogtreecommitdiffstats
path: root/Graphics/GraphicsEngineD3DBase
diff options
context:
space:
mode:
authorEgor Yusov <egor.yusov@gmail.com>2019-12-06 06:31:26 +0000
committerEgor Yusov <egor.yusov@gmail.com>2019-12-06 06:31:26 +0000
commitc4a10aae14aafadc267bb32a2edb53185ced008f (patch)
treefaeb815b35550d65386bf06955686a82483a501c /Graphics/GraphicsEngineD3DBase
parentAdded PlatformMisc and StringTools tests (diff)
downloadDiligentCore-c4a10aae14aafadc267bb32a2edb53185ced008f.tar.gz
DiligentCore-c4a10aae14aafadc267bb32a2edb53185ced008f.zip
Added ADAPTER_TYPE enum and AdapterType member to AdapterAttribs struct (API version 240043)
Diffstat (limited to 'Graphics/GraphicsEngineD3DBase')
-rw-r--r--Graphics/GraphicsEngineD3DBase/include/EngineFactoryD3DBase.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/Graphics/GraphicsEngineD3DBase/include/EngineFactoryD3DBase.h b/Graphics/GraphicsEngineD3DBase/include/EngineFactoryD3DBase.h
index a13379a7..eda702b1 100644
--- a/Graphics/GraphicsEngineD3DBase/include/EngineFactoryD3DBase.h
+++ b/Graphics/GraphicsEngineD3DBase/include/EngineFactoryD3DBase.h
@@ -43,9 +43,9 @@ public:
{}
- virtual void EnumerateHardwareAdapters(DIRECT3D_FEATURE_LEVEL MinFeatureLevel,
- Uint32& NumAdapters,
- HardwareAdapterAttribs* Adapters) override final
+ virtual void EnumerateAdapters(DIRECT3D_FEATURE_LEVEL MinFeatureLevel,
+ Uint32& NumAdapters,
+ AdapterAttribs* Adapters) override final
{
auto DXGIAdapters = FindCompatibleAdapters(MinFeatureLevel);
@@ -61,6 +61,8 @@ public:
pDXIAdapter->GetDesc1(&AdapterDesc);
auto& Attribs = Adapters[adapter];
+
+ Attribs.AdapterType = (AdapterDesc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE) ? ADAPTER_TYPE_SOFTWARE : ADAPTER_TYPE_HARDWARE;
WideCharToMultiByte(CP_ACP, 0, AdapterDesc.Description, -1, Attribs.Description, _countof(Attribs.Description), NULL, FALSE);
Attribs.DedicatedVideoMemory = AdapterDesc.DedicatedVideoMemory;
Attribs.DedicatedSystemMemory = AdapterDesc.DedicatedSystemMemory;
@@ -148,19 +150,14 @@ public:
return std::move(DXGIAdapters);
}
- auto d3dFeatureLevel = GetD3DFeatureLevel(MinFeatureLevel);
CComPtr<IDXGIAdapter1> pDXIAdapter;
- UINT adapter = 0;
+
+ auto d3dFeatureLevel = GetD3DFeatureLevel(MinFeatureLevel);
+ UINT adapter = 0;
for (; pFactory->EnumAdapters1(adapter, &pDXIAdapter) != DXGI_ERROR_NOT_FOUND; ++adapter, pDXIAdapter.Release())
{
DXGI_ADAPTER_DESC1 AdapterDesc;
pDXIAdapter->GetDesc1(&AdapterDesc);
- if (AdapterDesc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE)
- {
- // Skip software devices
- continue;
- }
-
bool IsCompatibleAdapter = CheckAdapterCompatibility<DevType>(pDXIAdapter, d3dFeatureLevel);
if (IsCompatibleAdapter)
{