From 18d93d11e15d87c34c83f2d05a657f55db584ac6 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sun, 2 Mar 2025 09:12:48 -0800 Subject: [PATCH] Only use VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR on Android This fixes Nintendo Switch where the identity bit isn't available. We only needed this on Android to automatically handle device user orientation. (cherry picked from commit 2c7c3d4d7b86921fa03b071e7f9082779480dac3) --- src/gpu/vulkan/SDL_gpu_vulkan.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c index 3014b4b3bb..ad08cf352e 100644 --- a/src/gpu/vulkan/SDL_gpu_vulkan.c +++ b/src/gpu/vulkan/SDL_gpu_vulkan.c @@ -4634,7 +4634,11 @@ static Uint32 VULKAN_INTERNAL_CreateSwapchain( swapchainCreateInfo.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE; swapchainCreateInfo.queueFamilyIndexCount = 0; swapchainCreateInfo.pQueueFamilyIndices = NULL; +#ifdef SDL_PLATFORM_ANDROID swapchainCreateInfo.preTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR; +#else + swapchainCreateInfo.preTransform = swapchainSupportDetails.capabilities.currentTransform; +#endif swapchainCreateInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; swapchainCreateInfo.presentMode = SDLToVK_PresentMode[windowData->presentMode]; swapchainCreateInfo.clipped = VK_TRUE;