summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch')
-rw-r--r--dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch b/dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch
new file mode 100644
index 000000000000..f7f7607024c5
--- /dev/null
+++ b/dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch
@@ -0,0 +1,30 @@
+Backport from 6.6 branch which failed to make it in 6.6.2.
+
+https://bugreports.qt.io/browse/QTBUG-95817
+https://codereview.qt-project.org/c/qt/qtwayland/+/536732
+https://github.com/qt/qtwayland/commit/e4156bad6398dcbe8740041148d95ee9ed437d8b
+From: David Redondo <qt@david-redondo.de>
+Date: Wed, 31 Jan 2024 09:01:48 +0100
+Subject: [PATCH] client: Disable threaded GL on desktop NVIDIA
+
+Otherwise QtQuick windows freeze when resized.
+In order to still use threaded rendering on
+embedded platforms where resizing is not required
+we check if XDG_CURRENT_DESKTOP which should be
+set by desktop environments.
+--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
++++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
+@@ -92,6 +92,13 @@ void QWaylandEglClientBufferIntegration::initialize(QWaylandDisplay *display)
+ break;
+ }
+ }
++
++ // On desktop NVIDIA resizing QtQuick freezes them when using threaded rendering QTBUG-95817
++ // In order to support threaded rendering on embedded platforms where resizing is not needed
++ // we check if XDG_CURRENT_DESKTOP is set which desktop environments should set
++ if (qstrcmp(vendor, "NVIDIA") == 0 && qEnvironmentVariableIsSet("XDG_CURRENT_DESKTOP")) {
++ m_supportsThreading = false;
++ }
+ }
+
+ bool QWaylandEglClientBufferIntegration::isValid() const