diff --git a/src/gpu/vulkan/SDL_gpu_vulkan.c b/src/gpu/vulkan/SDL_gpu_vulkan.c index 5f749de3b3..dc0d1ef455 100644 --- a/src/gpu/vulkan/SDL_gpu_vulkan.c +++ b/src/gpu/vulkan/SDL_gpu_vulkan.c @@ -11425,15 +11425,6 @@ static Uint8 VULKAN_INTERNAL_IsDeviceSuitable( return 0; } - // Device rank depends on extension support, do NOT move this block any higher! - if (!VULKAN_INTERNAL_GetDeviceRank( - renderer, - physicalDevice, - physicalDeviceExtensions, - deviceRank)) { - return 0; - } - renderer->vkGetPhysicalDeviceQueueFamilyProperties( physicalDevice, &queueFamilyCount, @@ -11508,6 +11499,15 @@ static Uint8 VULKAN_INTERNAL_IsDeviceSuitable( return 0; } + // Now that we know this device supports what we need, rank it against any other devices + if (!VULKAN_INTERNAL_GetDeviceRank( + renderer, + physicalDevice, + physicalDeviceExtensions, + deviceRank)) { + return 0; + } + // FIXME: Need better structure for checking vs storing swapchain support details return 1; }