aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickwindow.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2022-12-08 13:58:13 +0100
committerLaszlo Agocs <laszlo.agocs@qt.io>2022-12-12 18:45:49 +0100
commitc995cbd9bd7739965eaf7a02e16022653802f3b7 (patch)
treeca0bbc921c65ae02b357650af5f242f82ad67c8c /src/quick/items/qquickwindow.cpp
parentc5fb2c10a18a54bb852defc1f1fbf598aecdc90b (diff)
Purge the internal renderSceneGraph function argument list
What we have today is a Qt 5.14/15 leftover where two code paths (OpenGL, QRhi) were handled by making the function take two arguments. Ideally there should be zero arguments to this function. Change-Id: I8376c14ecb553911788265ed6c1d8ba1b6686dbd Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Strømme <christian.stromme@qt.io>
Diffstat (limited to 'src/quick/items/qquickwindow.cpp')
-rw-r--r--src/quick/items/qquickwindow.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp
index 31d375ca94..4ecb6bd2ae 100644
--- a/src/quick/items/qquickwindow.cpp
+++ b/src/quick/items/qquickwindow.cpp
@@ -584,7 +584,7 @@ void QQuickWindowPrivate::emitAfterRenderPassRecording(void *ud)
emit w->afterRenderPassRecording();
}
-void QQuickWindowPrivate::renderSceneGraph(const QSize &size, const QSize &surfaceSize)
+void QQuickWindowPrivate::renderSceneGraph()
{
Q_Q(QQuickWindow);
if (!renderer)
@@ -646,16 +646,15 @@ void QQuickWindowPrivate::renderSceneGraph(const QSize &size, const QSize &surfa
pixelSize = redirect.rt.renderTarget->pixelSize();
else if (redirect.rt.paintDevice)
pixelSize = QSize(redirect.rt.paintDevice->width(), redirect.rt.paintDevice->height());
- else if (surfaceSize.isEmpty())
- pixelSize = size * devicePixelRatio;
- else
- pixelSize = surfaceSize;
- QSize logicalSize = pixelSize / devicePixelRatio;
+ else if (rhi)
+ pixelSize = swapchain->currentPixelSize();
+ else // software or other backend
+ pixelSize = q->size() * devicePixelRatio;
renderer->setDevicePixelRatio(devicePixelRatio);
renderer->setDeviceRect(QRect(QPoint(0, 0), pixelSize));
renderer->setViewportRect(QRect(QPoint(0, 0), pixelSize));
- renderer->setProjectionMatrixToRect(QRectF(QPointF(0, 0), logicalSize), matrixFlags);
+ renderer->setProjectionMatrixToRect(QRectF(QPointF(0, 0), pixelSize / devicePixelRatio), matrixFlags);
context->renderNextFrame(renderer);