SDL: Recreate the Vulkan GPU swap chain when resuming on Android

From 2a92a3c9c551de1f77084ce409d345f6da01ee05 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Wed, 8 Oct 2025 21:06:17 -0700
Subject: [PATCH] Recreate the Vulkan GPU swap chain when resuming on Android

Fixes https://github.com/libsdl-org/SDL/issues/12957
---
 src/gpu/vulkan/SDL_gpu_vulkan.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c
index c09ca6cd14b40..e366db6a520b3 100644
--- a/src/gpu/vulkan/SDL_gpu_vulkan.c
+++ b/src/gpu/vulkan/SDL_gpu_vulkan.c
@@ -9703,6 +9703,13 @@ static bool VULKAN_INTERNAL_OnWindowResize(void *userdata, SDL_Event *e)
         data->swapchainCreateHeight = e->window.data2;
     }
 
+#ifdef SDL_PLATFORM_ANDROID
+    if (e->type == SDL_EVENT_DID_ENTER_BACKGROUND) {
+        data = VULKAN_INTERNAL_FetchWindowData(w);
+        data->needsSwapchainRecreate = true;
+    }
+#endif
+
     return true;
 }