diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2019-12-06 06:31:26 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2019-12-06 06:31:26 +0000 |
| commit | c4a10aae14aafadc267bb32a2edb53185ced008f (patch) | |
| tree | faeb815b35550d65386bf06955686a82483a501c /Graphics/GraphicsEngineD3DBase | |
| parent | Added PlatformMisc and StringTools tests (diff) | |
| download | DiligentCore-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.h | 19 |
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) { |
