From da3cde36ccc493cbdacc1cd8208da809f7663de8 Mon Sep 17 00:00:00 2001 From: Jupeyy Date: Thu, 25 Jan 2024 22:26:58 +0100 Subject: [PATCH] Check if swapchain can be created, e.g. if windows starts minimized --- .../client/backend/vulkan/backend_vulkan.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/engine/client/backend/vulkan/backend_vulkan.cpp b/src/engine/client/backend/vulkan/backend_vulkan.cpp index c895739b012..fec1ca92844 100644 --- a/src/engine/client/backend/vulkan/backend_vulkan.cpp +++ b/src/engine/client/backend/vulkan/backend_vulkan.cpp @@ -6571,7 +6571,20 @@ class CCommandProcessorFragment_Vulkan : public CCommandProcessorFragment_GLBase Primq += 4; } - if(!PrepareFrame()) + + VkSurfaceCapabilitiesKHR VKSurfCap; + if(!GetSurfaceProperties(VKSurfCap)) { + *pCommand->m_pInitError = -2; + return false; + } + + auto Caps = GetSwapImageSize(VKSurfCap); + // if swapchain cannot be created, start paused + if (Caps.m_SwapImageViewport.width == 0 || Caps.m_SwapImageViewport.height == 0) { + m_RenderingPaused = true; + m_RecreateSwapChain = true; + } + else if(!PrepareFrame()) return false; if(m_HasError) {