mirror of
https://github.com/id-Software/DOOM-3-BFG.git
synced 2025-03-14 22:50:45 +00:00
Init swapChainBufferCount to NUM_FRAME_DATA (all renderers) and clamp to Vulkan surfaceCaps
This commit is contained in:
parent
39ae1202b4
commit
9ab8c2a4da
2 changed files with 4 additions and 8 deletions
|
@ -54,7 +54,7 @@ struct DeviceCreationParameters
|
|||
uint32_t backBufferHeight = 720;
|
||||
uint32_t backBufferSampleCount = 1; // optional HDR Framebuffer MSAA
|
||||
uint32_t refreshRate = 0;
|
||||
uint32_t swapChainBufferCount = 3; // SRS - hardcode to 3 for Vsync modes and linux surfaceCaps.minImageCount = 3
|
||||
uint32_t swapChainBufferCount = NUM_FRAME_DATA; // SRS - default matches GPU frames, can be overridden by renderer
|
||||
nvrhi::Format swapChainFormat = nvrhi::Format::RGBA8_UNORM; // RB: don't do the sRGB gamma ramp with the swapchain
|
||||
uint32_t swapChainSampleCount = 1;
|
||||
uint32_t swapChainSampleQuality = 0;
|
||||
|
|
|
@ -559,13 +559,9 @@ bool DeviceManager_VK::pickPhysicalDevice()
|
|||
auto surfaceFmts = dev.getSurfaceFormatsKHR( m_WindowSurface );
|
||||
auto surfacePModes = dev.getSurfacePresentModesKHR( m_WindowSurface );
|
||||
|
||||
if( surfaceCaps.minImageCount > m_DeviceParams.swapChainBufferCount ||
|
||||
( surfaceCaps.maxImageCount < m_DeviceParams.swapChainBufferCount && surfaceCaps.maxImageCount > 0 ) )
|
||||
{
|
||||
errorStream << std::endl << " - cannot support the requested swap chain image count:";
|
||||
errorStream << " requested " << m_DeviceParams.swapChainBufferCount << ", available " << surfaceCaps.minImageCount << " - " << surfaceCaps.maxImageCount;
|
||||
deviceIsGood = false;
|
||||
}
|
||||
// SRS/Ricardo Garcia rg3 - clamp swapChainBufferCount to the min/max capabilities of the surface
|
||||
m_DeviceParams.swapChainBufferCount = Max( surfaceCaps.minImageCount, m_DeviceParams.swapChainBufferCount );
|
||||
m_DeviceParams.swapChainBufferCount = surfaceCaps.maxImageCount > 0 ? Min( m_DeviceParams.swapChainBufferCount, surfaceCaps.maxImageCount ) : m_DeviceParams.swapChainBufferCount;
|
||||
|
||||
if( surfaceCaps.minImageExtent.width > requestedExtent.width ||
|
||||
surfaceCaps.minImageExtent.height > requestedExtent.height ||
|
||||
|
|
Loading…
Reference in a new issue