From 88612d1d30ce18bb784fad96dd52f797f0570bfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sun, 1 Sep 2019 16:10:28 +0200 Subject: [PATCH] Oops, fix the last commit, it got a little restrictive. --- Common/Vulkan/VulkanLoader.cpp | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/Common/Vulkan/VulkanLoader.cpp b/Common/Vulkan/VulkanLoader.cpp index 5b0d0eb34c..0d6d4b650c 100644 --- a/Common/Vulkan/VulkanLoader.cpp +++ b/Common/Vulkan/VulkanLoader.cpp @@ -334,22 +334,19 @@ bool VulkanMayBeAvailable() { ELOG("Enumerating VK extensions failed."); goto bail; } - for (auto &ext: instanceExts) { - ILOG(" %s", ext.extensionName); + for (auto iter : instanceExts) { + ILOG("VulkanMaybeAvailable: Instance extension found: %s (%08x)", iter.extensionName, iter.specVersion); + if (platformSurfaceExtension && !strcmp(iter.extensionName, platformSurfaceExtension)) { + ILOG("VulkanMayBeAvailable: Found platform surface extension '%s'", platformSurfaceExtension); + instanceExtensions[ci.enabledExtensionCount++] = platformSurfaceExtension; + platformSurfaceExtensionFound = true; + break; + } else if (!strcmp(iter.extensionName, VK_KHR_SURFACE_EXTENSION_NAME)) { + instanceExtensions[ci.enabledExtensionCount++] = VK_KHR_SURFACE_EXTENSION_NAME; + surfaceExtensionFound = true; + } } if (platformSurfaceExtension) { - for (auto iter : instanceExts) { - ILOG("VulkanMaybeAvailable: Instance extension found: %s (%08x)", iter.extensionName, iter.specVersion); - if (!strcmp(iter.extensionName, platformSurfaceExtension)) { - ILOG("VulkanMayBeAvailable: Found platform surface extension '%s'", platformSurfaceExtension); - instanceExtensions[ci.enabledExtensionCount++] = platformSurfaceExtension; - platformSurfaceExtensionFound = true; - break; - } else if (!strcmp(iter.extensionName, VK_KHR_SURFACE_EXTENSION_NAME)) { - instanceExtensions[ci.enabledExtensionCount++] = VK_KHR_SURFACE_EXTENSION_NAME; - surfaceExtensionFound = true; - } - } if (!platformSurfaceExtensionFound || !surfaceExtensionFound) { ELOG("Platform surface extension not found"); goto bail; @@ -360,6 +357,7 @@ bool VulkanMayBeAvailable() { goto bail; } } + // This can't happen unless the driver is double-reporting a surface extension. if (ci.enabledExtensionCount > 2) { ELOG("Unexpected number of enabled instance extensions");