summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/vulkan/hellovulkancubes/renderer.cpp2
-rw-r--r--examples/vulkan/hellovulkanwidget/hellovulkanwidget.cpp3
-rw-r--r--examples/vulkan/shared/trianglerenderer.cpp2
-rw-r--r--src/gui/vulkan/qvulkanwindow.cpp9
-rw-r--r--src/gui/vulkan/qvulkanwindow.h2
5 files changed, 9 insertions, 9 deletions
diff --git a/examples/vulkan/hellovulkancubes/renderer.cpp b/examples/vulkan/hellovulkancubes/renderer.cpp
index 96ae6020a7..3b837d85d4 100644
--- a/examples/vulkan/hellovulkancubes/renderer.cpp
+++ b/examples/vulkan/hellovulkancubes/renderer.cpp
@@ -97,7 +97,7 @@ Renderer::Renderer(VulkanWindow *w, int initialCount)
void Renderer::preInitResources()
{
- QSet<int> sampleCounts = m_window->supportedSampleCounts();
+ const QVector<int> sampleCounts = m_window->supportedSampleCounts();
if (DBG)
qDebug() << "Supported sample counts:" << sampleCounts;
if (sampleCounts.contains(4)) {
diff --git a/examples/vulkan/hellovulkanwidget/hellovulkanwidget.cpp b/examples/vulkan/hellovulkanwidget/hellovulkanwidget.cpp
index 78de338f1f..81daa9bb96 100644
--- a/examples/vulkan/hellovulkanwidget/hellovulkanwidget.cpp
+++ b/examples/vulkan/hellovulkanwidget/hellovulkanwidget.cpp
@@ -170,8 +170,7 @@ void VulkanRenderer::initResources()
m_window->colorFormat(), m_window->depthStencilFormat());
info += QStringLiteral("Supported sample counts:");
- QList<int> sampleCounts = m_window->supportedSampleCounts().toList();
- std::sort(sampleCounts.begin(), sampleCounts.end());
+ const QVector<int> sampleCounts = m_window->supportedSampleCounts();
for (int count : sampleCounts)
info += QLatin1Char(' ') + QString::number(count);
info += QLatin1Char('\n');
diff --git a/examples/vulkan/shared/trianglerenderer.cpp b/examples/vulkan/shared/trianglerenderer.cpp
index a0800080a0..7327c5a706 100644
--- a/examples/vulkan/shared/trianglerenderer.cpp
+++ b/examples/vulkan/shared/trianglerenderer.cpp
@@ -73,7 +73,7 @@ TriangleRenderer::TriangleRenderer(QVulkanWindow *w, bool msaa)
: m_window(w)
{
if (msaa) {
- QSet<int> counts = w->supportedSampleCounts();
+ const QVector<int> counts = w->supportedSampleCounts();
qDebug() << "Supported sample counts:" << counts;
for (int s = 16; s >= 4; s /= 2) {
if (counts.contains(s)) {
diff --git a/src/gui/vulkan/qvulkanwindow.cpp b/src/gui/vulkan/qvulkanwindow.cpp
index 82c157147c..a9f5bb41df 100644
--- a/src/gui/vulkan/qvulkanwindow.cpp
+++ b/src/gui/vulkan/qvulkanwindow.cpp
@@ -512,6 +512,7 @@ static struct {
VkSampleCountFlagBits mask;
int count;
} qvk_sampleCounts[] = {
+ // keep this sorted by 'count'
{ VK_SAMPLE_COUNT_1_BIT, 1 },
{ VK_SAMPLE_COUNT_2_BIT, 2 },
{ VK_SAMPLE_COUNT_4_BIT, 4 },
@@ -523,7 +524,7 @@ static struct {
/*!
Returns the set of supported sample counts when using the physical device
- selected by setPhysicalDeviceIndex().
+ selected by setPhysicalDeviceIndex(), as a sorted vector.
By default QVulkanWindow uses a sample count of 1. By calling setSampleCount()
with a different value (2, 4, 8, ...) from the set returned by this
@@ -533,10 +534,10 @@ static struct {
\sa setSampleCount()
*/
-QSet<int> QVulkanWindow::supportedSampleCounts()
+QVector<int> QVulkanWindow::supportedSampleCounts()
{
Q_D(const QVulkanWindow);
- QSet<int> result;
+ QVector<int> result;
availablePhysicalDevices();
@@ -555,7 +556,7 @@ QSet<int> QVulkanWindow::supportedSampleCounts()
&& (depth & qvk_sampleCounts[i].mask)
&& (stencil & qvk_sampleCounts[i].mask))
{
- result.insert(qvk_sampleCounts[i].count);
+ result.append(qvk_sampleCounts[i].count);
}
}
diff --git a/src/gui/vulkan/qvulkanwindow.h b/src/gui/vulkan/qvulkanwindow.h
index c32c40d459..bbeba15603 100644
--- a/src/gui/vulkan/qvulkanwindow.h
+++ b/src/gui/vulkan/qvulkanwindow.h
@@ -96,7 +96,7 @@ public:
void setPreferredColorFormats(const QVector<VkFormat> &formats);
- QSet<int> supportedSampleCounts();
+ QVector<int> supportedSampleCounts();
void setSampleCount(int sampleCount);
bool isValid() const;