From 2135ecdfcc47d09363d8473a373fe9a42d549f9d Mon Sep 17 00:00:00 2001
From: Ethan Lee <[EMAIL REDACTED]>
Date: Thu, 16 Oct 2025 15:18:07 -0400
Subject: [PATCH] gpu: Vulkan on private platforms cannot make use of
oldSwapchain, destroy the full swapchain on resize
---
src/gpu/vulkan/SDL_gpu_vulkan.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c
index e366db6a520b3..69db0bd2dab64 100644
--- a/src/gpu/vulkan/SDL_gpu_vulkan.c
+++ b/src/gpu/vulkan/SDL_gpu_vulkan.c
@@ -9915,7 +9915,12 @@ static Uint32 VULKAN_INTERNAL_RecreateSwapchain(
}
}
+#ifdef SDL_VIDEO_DRIVER_PRIVATE
+ // Private platforms also invalidate the window, so don't try to preserve the surface/swapchain
+ VULKAN_INTERNAL_DestroySwapchain(renderer, windowData);
+#else
VULKAN_INTERNAL_DestroySwapchainImage(renderer, windowData);
+#endif
return VULKAN_INTERNAL_CreateSwapchain(renderer, windowData);
}