Skip to content

Commit

Permalink
Make getter const, add const overloads
Browse files Browse the repository at this point in the history
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 <[email protected]>
(cherry picked from commit 69dcdbc)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
  • Loading branch information
vohi authored and Qt Cherry-pick Bot committed Mar 30, 2021
1 parent ee52093 commit c55d9c2
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
12 changes: 11 additions & 1 deletion src/gui/vulkan/qvulkaninstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -428,20 +428,30 @@ QVulkanInstance::~QVulkanInstance()
*/

/*!
\fn QVulkanInfoVector<QVulkanLayer> QVulkanInstance::supportedLayers() const
\return the list of supported instance-level layers.
\note This function can be called before create().
*/

/*!
\internal
*/
QVulkanInfoVector<QVulkanLayer> QVulkanInstance::supportedLayers()
{
return d_ptr->ensureVulkan() ? d_ptr->platformInst->supportedLayers() : QVulkanInfoVector<QVulkanLayer>();
}

/*!
\fn QVulkanInfoVector<QVulkanExtension> QVulkanInstance::supportedExtensions() const
\return the list of supported instance-level extensions.
\note This function can be called before create().
*/

/*!
\internal
*/
QVulkanInfoVector<QVulkanExtension> QVulkanInstance::supportedExtensions()
{
return d_ptr->ensureVulkan() ? d_ptr->platformInst->supportedExtensions() : QVulkanInfoVector<QVulkanExtension>();
Expand All @@ -464,7 +474,7 @@ QVulkanInfoVector<QVulkanExtension> QVulkanInstance::supportedExtensions()
\sa setApiVersion()
*/
QVersionNumber QVulkanInstance::supportedApiVersion()
QVersionNumber QVulkanInstance::supportedApiVersion() const
{
return d_ptr->ensureVulkan() ? d_ptr->platformInst->supportedApiVersion() : QVersionNumber();
}
Expand Down
7 changes: 6 additions & 1 deletion src/gui/vulkan/qvulkaninstance.h
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,14 @@ class Q_GUI_EXPORT QVulkanInstance
};
Q_DECLARE_FLAGS(Flags, Flag)

// ### Qt 7: remove non-const overloads
QVulkanInfoVector<QVulkanLayer> supportedLayers();
inline QVulkanInfoVector<QVulkanLayer> supportedLayers() const
{ return const_cast<QVulkanInstance*>(this)->supportedLayers(); }
QVulkanInfoVector<QVulkanExtension> supportedExtensions();
QVersionNumber supportedApiVersion();
inline QVulkanInfoVector<QVulkanExtension> supportedExtensions() const
{ return const_cast<QVulkanInstance*>(this)->supportedExtensions(); }
QVersionNumber supportedApiVersion() const;

void setVkInstance(VkInstance existingVkInstance);

Expand Down

0 comments on commit c55d9c2

Please sign in to comment.