diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2022-12-08 13:58:13 +0100 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2022-12-12 18:45:49 +0100 |
commit | c995cbd9bd7739965eaf7a02e16022653802f3b7 (patch) | |
tree | ca0bbc921c65ae02b357650af5f242f82ad67c8c /src/quick/items/qquickwindow.cpp | |
parent | c5fb2c10a18a54bb852defc1f1fbf598aecdc90b (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.cpp | 13 |
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); |