mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-01-06 13:27:48 +00:00
Fixed bug #14173 - Android / SDL_Renderer Vulkan : going background / foreground produces a black screen.
need to recreate the swap chain + send SDL_EVENT_RENDER_DEVICE_RESET event
(cherry picked from commit 2a96997e90)
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user