summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2023-09-14 15:56:08 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-09-19 04:59:26 +0000
commit1048b43ef946aba7cffe1f71f50cf55c4db9328d (patch)
treeb1d3c6c05565517acba676218897f02afa6bebe8
parent6378d98e01e882dc4738583bac122c3801647483 (diff)
Sync rhi backingstore prefer-software env.var with Quick
Behaving differently in QQuickWindow vs. a QRhi-based widget window is not great for WebEngine. The env.var naming is not the best (QSG prefix) but we already have some precedent for this (recognizing QSG_INFO in QRhi), and there is no other choice anyway. Task-number: QTBUG-116445 Change-Id: Ibfd495cbd1d42502441d6629325bdeb033e813f3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit ffb857e9d0745fdd31bca091333f1120c5857d7b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 69c0ca3174e2484a241dcfbeb786084eca3c57e5)
-rw-r--r--src/gui/painting/qbackingstorerhisupport.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gui/painting/qbackingstorerhisupport.cpp b/src/gui/painting/qbackingstorerhisupport.cpp
index d811abf648..3927367af6 100644
--- a/src/gui/painting/qbackingstorerhisupport.cpp
+++ b/src/gui/painting/qbackingstorerhisupport.cpp
@@ -56,6 +56,11 @@ bool QBackingStoreRhiSupport::create()
QOffscreenSurface *surface = nullptr;
QRhi::Flags flags;
+ // This must be the same env.var. Qt Quick uses, to ensure symmetry in the
+ // behavior between a QQuickWindow and a (QRhi-based) widget top-level window.
+ if (qEnvironmentVariableIntValue("QSG_RHI_PREFER_SOFTWARE_RENDERER"))
+ flags |= QRhi::PreferSoftwareRenderer;
+
if (m_config.api() == QPlatformBackingStoreRhiConfig::Null) {
QRhiNullInitParams params;
rhi = QRhi::create(QRhi::Null, &params, flags);