diff options
author | Morten Johan Sørvig <morten.sorvig@qt.io> | 2018-04-25 22:35:49 +0200 |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@qt.io> | 2018-05-14 09:32:43 +0000 |
commit | fec8a9323b853ca0cefdbb755fcc74ca6bdfab03 (patch) | |
tree | 2e985c27022fd55228b1cbd831e575153364a504 /src/platformsupport/vkconvenience/qbasicvulkanplatforminstance.cpp | |
parent | d02e7b46a126181a7ede302bfd247b872ccce0de (diff) |
Vulkan: Share destroySurface() implementation
The macOS, Windows, and XCB implementations are identical
and can be moved to QBasicPlatformVulkanInstance.
Change-Id: I1380b2bd03080710084a1458bdce3a362ba5c287
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/platformsupport/vkconvenience/qbasicvulkanplatforminstance.cpp')
-rw-r--r-- | src/platformsupport/vkconvenience/qbasicvulkanplatforminstance.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/platformsupport/vkconvenience/qbasicvulkanplatforminstance.cpp b/src/platformsupport/vkconvenience/qbasicvulkanplatforminstance.cpp index 382d142334..d8b4e0a7e0 100644 --- a/src/platformsupport/vkconvenience/qbasicvulkanplatforminstance.cpp +++ b/src/platformsupport/vkconvenience/qbasicvulkanplatforminstance.cpp @@ -256,6 +256,11 @@ void QBasicPlatformVulkanInstance::initInstance(QVulkanInstance *instance, const if (!m_getPhysDevSurfaceSupport) qWarning("Failed to find vkGetPhysicalDeviceSurfaceSupportKHR"); + m_destroySurface = reinterpret_cast<PFN_vkDestroySurfaceKHR>( + m_vkGetInstanceProcAddr(m_vkInst, "vkDestroySurfaceKHR")); + if (!m_destroySurface) + qWarning("Failed to find vkDestroySurfaceKHR"); + if (!flags.testFlag(QVulkanInstance::NoDebugOutputRedirect)) setupDebugOutput(); } @@ -310,6 +315,12 @@ bool QBasicPlatformVulkanInstance::supportsPresent(VkPhysicalDevice physicalDevi return supported; } +void QBasicPlatformVulkanInstance::destroySurface(VkSurfaceKHR surface) const +{ + if (m_destroySurface && surface) + m_destroySurface(m_vkInst, surface, nullptr); +} + static VKAPI_ATTR VkBool32 VKAPI_CALL defaultDebugCallbackFunc(VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, |