Ignore VK_SUBOPTIMAL_KHR on the Android platform

This is returned whenever the device has been rotated, and can be safely ignored.

Fixes https://github.com/libsdl-org/SDL/issues/12950
This commit is contained in:
Sam Lantinga
2025-10-08 20:02:31 -07:00
parent a2a60f75c7
commit 00ffddece8

View File

@@ -10682,7 +10682,13 @@ static bool VULKAN_Submit(
presentData->windowData->inFlightFences[presentData->windowData->frameCounter] = (SDL_GPUFence *)vulkanCommandBuffer->inFlightFence;
(void)SDL_AtomicIncRef(&vulkanCommandBuffer->inFlightFence->referenceCount);
if (presentResult == VK_SUBOPTIMAL_KHR || presentResult == VK_ERROR_OUT_OF_DATE_KHR) {
// On the Android platform, VK_SUBOPTIMAL_KHR is returned whenever the device is rotated. We'll just ignore this for now.
#ifndef SDL_PLATFORM_ANDROID
if (presentResult == VK_SUBOPTIMAL_KHR) {
presentData->windowData->needsSwapchainRecreate = true;
}
#endif
if (presentResult == VK_ERROR_OUT_OF_DATE_KHR) {
presentData->windowData->needsSwapchainRecreate = true;
}
} else {