From c55d9c2d90f9c5d53d8503993f97d2610e32c16b Mon Sep 17 00:00:00 2001 From: Volker Hilsheimer Date: Thu, 25 Mar 2021 10:28:26 +0100 Subject: [PATCH] Make getter const, add const overloads The supportedApiVersions member is new in Qt 6.1, make it const. We can't change supportedLayers and supportedExtensions, but we can add const overloads that call the non-const version for now. This way, those APIs can also be called on const QVulkanInstance instances or references. Addresses header review comment. Change-Id: Ie99d74f62cad72990b42566e56234b9c686e86de Reviewed-by: Laszlo Agocs (cherry picked from commit 69dcdbc8daa2c40397dd021fc31c47ad528d9d83) Reviewed-by: Qt Cherry-pick Bot --- src/gui/vulkan/qvulkaninstance.cpp | 12 +++++++++++- src/gui/vulkan/qvulkaninstance.h | 7 ++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/gui/vulkan/qvulkaninstance.cpp b/src/gui/vulkan/qvulkaninstance.cpp index 538a59c28f5..fc4a916cb43 100644 --- a/src/gui/vulkan/qvulkaninstance.cpp +++ b/src/gui/vulkan/qvulkaninstance.cpp @@ -428,20 +428,30 @@ QVulkanInstance::~QVulkanInstance() */ /*! + \fn QVulkanInfoVector QVulkanInstance::supportedLayers() const \return the list of supported instance-level layers. \note This function can be called before create(). */ + +/*! + \internal + */ QVulkanInfoVector QVulkanInstance::supportedLayers() { return d_ptr->ensureVulkan() ? d_ptr->platformInst->supportedLayers() : QVulkanInfoVector(); } /*! + \fn QVulkanInfoVector QVulkanInstance::supportedExtensions() const \return the list of supported instance-level extensions. \note This function can be called before create(). */ + +/*! + \internal + */ QVulkanInfoVector QVulkanInstance::supportedExtensions() { return d_ptr->ensureVulkan() ? d_ptr->platformInst->supportedExtensions() : QVulkanInfoVector(); @@ -464,7 +474,7 @@ QVulkanInfoVector QVulkanInstance::supportedExtensions() \sa setApiVersion() */ -QVersionNumber QVulkanInstance::supportedApiVersion() +QVersionNumber QVulkanInstance::supportedApiVersion() const { return d_ptr->ensureVulkan() ? d_ptr->platformInst->supportedApiVersion() : QVersionNumber(); } diff --git a/src/gui/vulkan/qvulkaninstance.h b/src/gui/vulkan/qvulkaninstance.h index 3e597f9c870..bfdaf1ab691 100644 --- a/src/gui/vulkan/qvulkaninstance.h +++ b/src/gui/vulkan/qvulkaninstance.h @@ -174,9 +174,14 @@ public: }; Q_DECLARE_FLAGS(Flags, Flag) + // ### Qt 7: remove non-const overloads QVulkanInfoVector supportedLayers(); + inline QVulkanInfoVector supportedLayers() const + { return const_cast(this)->supportedLayers(); } QVulkanInfoVector supportedExtensions(); - QVersionNumber supportedApiVersion(); + inline QVulkanInfoVector supportedExtensions() const + { return const_cast(this)->supportedExtensions(); } + QVersionNumber supportedApiVersion() const; void setVkInstance(VkInstance existingVkInstance);