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/plugins/platforms/xcb | |
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/plugins/platforms/xcb')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbvulkaninstance.cpp | 17 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbvulkaninstance.h | 2 |
2 files changed, 1 insertions, 18 deletions
diff --git a/src/plugins/platforms/xcb/qxcbvulkaninstance.cpp b/src/plugins/platforms/xcb/qxcbvulkaninstance.cpp index 4d540defa9..5a6a4ef809 100644 --- a/src/plugins/platforms/xcb/qxcbvulkaninstance.cpp +++ b/src/plugins/platforms/xcb/qxcbvulkaninstance.cpp @@ -46,8 +46,7 @@ QT_BEGIN_NAMESPACE QXcbVulkanInstance::QXcbVulkanInstance(QVulkanInstance *instance) : m_instance(instance), m_getPhysDevPresSupport(nullptr), - m_createSurface(nullptr), - m_destroySurface(nullptr) + m_createSurface(nullptr) { if (qEnvironmentVariableIsSet("QT_VULKAN_LIB")) m_lib.setFileName(QString::fromUtf8(qgetenv("QT_VULKAN_LIB"))); @@ -114,14 +113,6 @@ VkSurfaceKHR QXcbVulkanInstance::createSurface(QXcbWindow *window) qWarning("Failed to find vkCreateXcbSurfaceKHR"); return surface; } - if (!m_destroySurface) { - m_destroySurface = reinterpret_cast<PFN_vkDestroySurfaceKHR>( - m_vkGetInstanceProcAddr(m_vkInst, "vkDestroySurfaceKHR")); - } - if (!m_destroySurface) { - qWarning("Failed to find vkDestroySurfaceKHR"); - return surface; - } VkXcbSurfaceCreateInfoKHR surfaceInfo; memset(&surfaceInfo, 0, sizeof(surfaceInfo)); @@ -135,12 +126,6 @@ VkSurfaceKHR QXcbVulkanInstance::createSurface(QXcbWindow *window) return surface; } -void QXcbVulkanInstance::destroySurface(VkSurfaceKHR surface) -{ - if (m_destroySurface && surface) - m_destroySurface(m_vkInst, surface, nullptr); -} - void QXcbVulkanInstance::presentQueued(QWindow *window) { QXcbWindow *w = static_cast<QXcbWindow *>(window->handle()); diff --git a/src/plugins/platforms/xcb/qxcbvulkaninstance.h b/src/plugins/platforms/xcb/qxcbvulkaninstance.h index dbe057d944..c5981d3605 100644 --- a/src/plugins/platforms/xcb/qxcbvulkaninstance.h +++ b/src/plugins/platforms/xcb/qxcbvulkaninstance.h @@ -64,14 +64,12 @@ public: void presentQueued(QWindow *window) override; VkSurfaceKHR createSurface(QXcbWindow *window); - void destroySurface(VkSurfaceKHR surface); private: QVulkanInstance *m_instance; QLibrary m_lib; PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR m_getPhysDevPresSupport; PFN_vkCreateXcbSurfaceKHR m_createSurface; - PFN_vkDestroySurfaceKHR m_destroySurface; }; QT_END_NAMESPACE |