diff --git a/src/render/vulkan/SDL_render_vulkan.c b/src/render/vulkan/SDL_render_vulkan.c index 447e557bf6..585550ce64 100644 --- a/src/render/vulkan/SDL_render_vulkan.c +++ b/src/render/vulkan/SDL_render_vulkan.c @@ -2503,7 +2503,7 @@ static VkResult VULKAN_CreateWindowSizeDependentResources(SDL_Renderer *renderer result = VULKAN_CreateSwapChain(renderer, w, h); if (result != VK_SUCCESS) { - rendererData->recreateSwapchain = VK_TRUE; + rendererData->recreateSwapchain = true; } rendererData->viewportDirty = true; @@ -2553,6 +2553,13 @@ static void VULKAN_WindowEvent(SDL_Renderer *renderer, const SDL_WindowEvent *ev if (event->type == SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED) { rendererData->recreateSwapchain = true; } + +#ifdef SDL_PLATFORM_ANDROID + // Prevent black screen when app returns from background + if (event->type == SDL_EVENT_WINDOW_RESTORED) { + VULKAN_HandleDeviceLost(renderer); + } +#endif } static bool VULKAN_SupportsBlendMode(SDL_Renderer *renderer, SDL_BlendMode blendMode)