From 7eaac141998744af9ab260105f9f91726b669847 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Tue, 27 Mar 2018 19:23:07 -0700 Subject: Fixed https://github.com/DiligentGraphics/DiligentEngine/issues/9 --- Tests/TestApp/src/TestApp.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Tests/TestApp/src/TestApp.cpp') diff --git a/Tests/TestApp/src/TestApp.cpp b/Tests/TestApp/src/TestApp.cpp index 08a99f4..97dd72e 100644 --- a/Tests/TestApp/src/TestApp.cpp +++ b/Tests/TestApp/src/TestApp.cpp @@ -58,6 +58,7 @@ #include "TestCopyTexData.h" #include "PlatformMisc.h" #include "TestBufferCreation.h" +#include "TestBrokenShader.h" using namespace Diligent; @@ -180,6 +181,7 @@ void TestApp::InitializeRenderers() TestTextureCreation TestTexCreation(m_pDevice, m_pImmediateContext); TestBufferCreation TestBuffCreation(m_pDevice, m_pImmediateContext); TestPSOCompatibility TestPSOCompat(m_pDevice); + TestBrokenShader TestBrknShdr(m_pDevice); m_TestGS.Init(m_pDevice, m_pImmediateContext); m_TestTessellation.Init(m_pDevice, m_pImmediateContext); -- cgit v1.2.3 From 3081e9165ae8d931e75f9aa8f825d72fbb0e8cdb Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Thu, 29 Mar 2018 18:50:58 -0700 Subject: Updated Core (added hardware adapter & display mode enumeration) --- Tests/TestApp/src/TestApp.cpp | 54 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) (limited to 'Tests/TestApp/src/TestApp.cpp') diff --git a/Tests/TestApp/src/TestApp.cpp b/Tests/TestApp/src/TestApp.cpp index 97dd72e..783a7e4 100644 --- a/Tests/TestApp/src/TestApp.cpp +++ b/Tests/TestApp/src/TestApp.cpp @@ -23,6 +23,7 @@ #include #include +#include #include "PlatformDefinitions.h" #include "TestApp.h" @@ -89,6 +90,8 @@ void TestApp::InitializeDiligentEngine( SCDesc.SamplesCount = 1; Uint32 NumDeferredCtx = 0; std::vector ppContexts; + std::vector Adapters; + std::vector> AdapterDisplayModes; switch (m_DeviceType) { #if D3D11_SUPPORTED @@ -100,8 +103,23 @@ void TestApp::InitializeDiligentEngine( // Load the dll and import GetEngineFactoryD3D11() function LoadGraphicsEngineD3D11(GetEngineFactoryD3D11); #endif - ppContexts.resize(1 + NumDeferredCtx); auto *pFactoryD3D11 = GetEngineFactoryD3D11(); + Uint32 NumAdapters = 0; + pFactoryD3D11->EnumerateHardwareAdapters(NumAdapters, 0); + Adapters.resize(NumAdapters); + pFactoryD3D11->EnumerateHardwareAdapters(NumAdapters, Adapters.data()); + + for(Uint32 i=0; i < Adapters.size(); ++i) + { + Uint32 NumDisplayModes = 0; + std::vector DisplayModes; + pFactoryD3D11->EnumerateDisplayModes(i, 0, TEX_FORMAT_RGBA8_UNORM, NumDisplayModes, nullptr); + DisplayModes.resize(NumDisplayModes); + pFactoryD3D11->EnumerateDisplayModes(i, 0, TEX_FORMAT_RGBA8_UNORM, NumDisplayModes, DisplayModes.data()); + AdapterDisplayModes.emplace_back(std::move(DisplayModes)); + } + + ppContexts.resize(1 + NumDeferredCtx); pFactoryD3D11->CreateDeviceAndContextsD3D11(DeviceAttribs, &m_pDevice, ppContexts.data(), NumDeferredCtx); if(NativeWindowHandle != nullptr) @@ -118,9 +136,25 @@ void TestApp::InitializeDiligentEngine( // Load the dll and import GetEngineFactoryD3D12() function LoadGraphicsEngineD3D12(GetEngineFactoryD3D12); #endif + auto *pFactoryD3D12 = GetEngineFactoryD3D12(); + Uint32 NumAdapters = 0; + pFactoryD3D12->EnumerateHardwareAdapters(NumAdapters, 0); + Adapters.resize(NumAdapters); + pFactoryD3D12->EnumerateHardwareAdapters(NumAdapters, Adapters.data()); + + for (Uint32 i = 0; i < Adapters.size(); ++i) + { + Uint32 NumDisplayModes = 0; + std::vector DisplayModes; + pFactoryD3D12->EnumerateDisplayModes(i, 0, TEX_FORMAT_RGBA8_UNORM, NumDisplayModes, nullptr); + DisplayModes.resize(NumDisplayModes); + pFactoryD3D12->EnumerateDisplayModes(i, 0, TEX_FORMAT_RGBA8_UNORM, NumDisplayModes, DisplayModes.data()); + AdapterDisplayModes.emplace_back(std::move(DisplayModes)); + } + EngineD3D12Attribs EngD3D12Attribs; ppContexts.resize(1 + NumDeferredCtx); - auto *pFactoryD3D12 = GetEngineFactoryD3D12(); + pFactoryD3D12->CreateDeviceAndContextsD3D12(EngD3D12Attribs, &m_pDevice, ppContexts.data(), NumDeferredCtx); if (!m_pSwapChain && NativeWindowHandle != nullptr) @@ -165,6 +199,22 @@ void TestApp::InitializeDiligentEngine( break; } + + std::stringstream ss; + ss << "Found " << Adapters.size() << " adapters:\n"; + for (Uint32 i = 0; i < Adapters.size(); ++i) + { + ss << Adapters[i].Description << " (" << (Adapters[i].DedicatedVideoMemory >> 20) << " MB). Num outputs: " << Adapters[i].NumOutputs << ". Display modes:\n"; + const auto &DisplayModes = AdapterDisplayModes[i]; + for(Uint32 m=0; m < DisplayModes.size(); ++m) + { + const auto &Mode = DisplayModes[m]; + ss << " " << Mode.Width << 'x' << Mode.Height << " " << std::setprecision(2) << Mode.RefreshRate << "Hz\n"; + } + } + auto str = ss.str(); + LOG_INFO_MESSAGE(str); + m_pImmediateContext.Attach(ppContexts[0]); m_pDeferredContexts.resize(NumDeferredCtx); for (Diligent::Uint32 ctx = 0; ctx < NumDeferredCtx; ++ctx) -- cgit v1.2.3 From 6e300d8c6a0c2157b8d804cd604dad6079429d8d Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Fri, 30 Mar 2018 09:59:44 -0700 Subject: Updated submodules; enabled fullscreen mode --- Tests/TestApp/src/TestApp.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'Tests/TestApp/src/TestApp.cpp') diff --git a/Tests/TestApp/src/TestApp.cpp b/Tests/TestApp/src/TestApp.cpp index 783a7e4..4994c69 100644 --- a/Tests/TestApp/src/TestApp.cpp +++ b/Tests/TestApp/src/TestApp.cpp @@ -123,7 +123,7 @@ void TestApp::InitializeDiligentEngine( pFactoryD3D11->CreateDeviceAndContextsD3D11(DeviceAttribs, &m_pDevice, ppContexts.data(), NumDeferredCtx); if(NativeWindowHandle != nullptr) - pFactoryD3D11->CreateSwapChainD3D11(m_pDevice, ppContexts[0], SCDesc, NativeWindowHandle, &m_pSwapChain); + pFactoryD3D11->CreateSwapChainD3D11(m_pDevice, ppContexts[0], SCDesc, FullScreenModeDesc{}, NativeWindowHandle, &m_pSwapChain); } break; #endif @@ -158,7 +158,7 @@ void TestApp::InitializeDiligentEngine( pFactoryD3D12->CreateDeviceAndContextsD3D12(EngD3D12Attribs, &m_pDevice, ppContexts.data(), NumDeferredCtx); if (!m_pSwapChain && NativeWindowHandle != nullptr) - pFactoryD3D12->CreateSwapChainD3D12(m_pDevice, ppContexts[0], SCDesc, NativeWindowHandle, &m_pSwapChain); + pFactoryD3D12->CreateSwapChainD3D12(m_pDevice, ppContexts[0], SCDesc, FullScreenModeDesc{}, NativeWindowHandle, &m_pSwapChain); } break; #endif @@ -209,7 +209,8 @@ void TestApp::InitializeDiligentEngine( for(Uint32 m=0; m < DisplayModes.size(); ++m) { const auto &Mode = DisplayModes[m]; - ss << " " << Mode.Width << 'x' << Mode.Height << " " << std::setprecision(2) << Mode.RefreshRate << "Hz\n"; + float RefreshRate = (float)Mode.RefreshRateNumerator / (float)Mode.RefreshRateDenominator; + ss << " " << Mode.Width << 'x' << Mode.Height << " " << std::fixed << std::setprecision(2) << RefreshRate << " Hz\n"; } } auto str = ss.str(); -- cgit v1.2.3 From ba7b40284d98e893d4e8119c65d1d89c6a7091cf Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Sat, 31 Mar 2018 16:45:18 -0700 Subject: Added sync interval to Present. Fixed https://github.com/DiligentGraphics/DiligentEngine/issues/10 --- Tests/TestApp/src/TestApp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Tests/TestApp/src/TestApp.cpp') diff --git a/Tests/TestApp/src/TestApp.cpp b/Tests/TestApp/src/TestApp.cpp index 4994c69..3b96cf0 100644 --- a/Tests/TestApp/src/TestApp.cpp +++ b/Tests/TestApp/src/TestApp.cpp @@ -543,5 +543,5 @@ void TestApp::Render() void TestApp::Present() { - m_pSwapChain->Present(); + m_pSwapChain->Present(0); } -- cgit v1.2.3