From fc98c7d2e19c97cec4cdeec2cc89c424bcf23aba Mon Sep 17 00:00:00 2001 From: Sasha Szpakowski Date: Sun, 28 Jun 2026 19:15:40 -0300 Subject: [PATCH] android: attempt to use vulkan by default when vulkan 1.1+ is supported. --- src/modules/graphics/Graphics.cpp | 5 ++--- src/modules/graphics/vulkan/Graphics.cpp | 7 +++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/modules/graphics/Graphics.cpp b/src/modules/graphics/Graphics.cpp index dbdfedb71..225080a38 100644 --- a/src/modules/graphics/Graphics.cpp +++ b/src/modules/graphics/Graphics.cpp @@ -116,9 +116,8 @@ namespace vulkan { extern love::graphics::Graphics *createInstance(); } static const Renderer rendererOrder[] = { RENDERER_METAL, -#if defined(LOVE_ANDROID) || (defined(LOVE_WINDOWS) && defined(_M_ARM64)) - // Don't prioritize Vulkan by default yet on Android - it needs more testing. - // Also don't prioritize Vulkan on Windows ARM64 because it doesn't work. +#if defined(LOVE_WINDOWS) && defined(_M_ARM64) + // Don't prioritize Vulkan on Windows ARM64 because it doesn't work. // See https://github.com/love2d/love/issues/2196 RENDERER_OPENGL, RENDERER_VULKAN, diff --git a/src/modules/graphics/vulkan/Graphics.cpp b/src/modules/graphics/vulkan/Graphics.cpp index 04a1254f1..ddd05ab06 100644 --- a/src/modules/graphics/vulkan/Graphics.cpp +++ b/src/modules/graphics/vulkan/Graphics.cpp @@ -1757,6 +1757,13 @@ int Graphics::rateDeviceSuitability(VkPhysicalDevice device, bool querySwapChain if (!deviceFeatures.fillModeNonSolid) score = 0; +#ifdef LOVE_ANDROID + // Attempt to reduce potential driver bugs on Android by not allowing Vulkan + // if the device only supports Vulkan 1.0. + if (deviceProperties.apiVersion < VK_API_VERSION_1_1) + score = 0; +#endif + return score; }