瀏覽代碼

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.
Sam Lantinga 9 月之前
父節點
當前提交
2c7c3d4d7b
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      src/gpu/vulkan/SDL_gpu_vulkan.c

+ 4 - 0
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;