mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-06 14:43:20 +00:00
Fixed crash in the vulkan renderer when the window is minimized
There's more work to do here in other cases where we can't recreate the swap chain, but this fixes the common minimize case. Fixes https://github.com/libsdl-org/SDL/issues/14434
This commit is contained in:
parent
ed6d41f55b
commit
0ae3d7b0b0
1 changed files with 5 additions and 3 deletions
|
|
@ -909,7 +909,7 @@ static void VULKAN_RecordPipelineImageBarrier(VULKAN_RenderData *rendererData, V
|
|||
|
||||
static VkResult VULKAN_AcquireNextSwapchainImage(SDL_Renderer *renderer)
|
||||
{
|
||||
VULKAN_RenderData *rendererData = ( VULKAN_RenderData * )renderer->internal;
|
||||
VULKAN_RenderData *rendererData = (VULKAN_RenderData *)renderer->internal;
|
||||
|
||||
VkResult result;
|
||||
|
||||
|
|
@ -917,10 +917,12 @@ static VkResult VULKAN_AcquireNextSwapchainImage(SDL_Renderer *renderer)
|
|||
result = vkAcquireNextImageKHR(rendererData->device, rendererData->swapchain, UINT64_MAX,
|
||||
rendererData->imageAvailableSemaphores[rendererData->currentCommandBufferIndex], VK_NULL_HANDLE, &rendererData->currentSwapchainImageIndex);
|
||||
if (result == VK_ERROR_OUT_OF_DATE_KHR || result == VK_ERROR_SURFACE_LOST_KHR) {
|
||||
result = VULKAN_CreateWindowSizeDependentResources(renderer);
|
||||
if (!(renderer->window->flags & SDL_WINDOW_MINIMIZED)) {
|
||||
result = VULKAN_CreateWindowSizeDependentResources(renderer);
|
||||
}
|
||||
return result;
|
||||
} else if(result == VK_SUBOPTIMAL_KHR) {
|
||||
// Suboptimal, but we can contiue
|
||||
// Suboptimal, but we can continue
|
||||
} else if (result != VK_SUCCESS) {
|
||||
SET_ERROR_CODE("vkAcquireNextImageKHR()", result);
|
||||
return result;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue