summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@pelagicore.com>2018-11-06 15:14:45 +0100
committerJani Heikkinen <jani.heikkinen@qt.io>2019-01-08 16:35:40 +0000
commit280cc2befba99ffde25fe7c287174143a9539d32 (patch)
treec3a7df713b3e8d9f52ffb229f8832b7d6c2ac5c6
parent6258c4994200348220be6f35667a2c0f4b705539 (diff)
Fix flickering (black frames) of wayland clients on NVIDIA
When using the threaded render loop rendering the texture we acquired from the eglstream is done in a different thread. This rendering needs to be finished before the next acquire call for the eglstream is done otherwise we might end up rendering a broken (black) frame and see the client flicker. To fix this, make sure to send the frame callbacks after the rendering was completed and not before the rendering starts. Change-Id: I5a75914d14d2df7fa8b6bbd526f87e3ef6208cd6 Task-number: QTBUG-71697 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
-rw-r--r--src/compositor/compositor_api/qwaylandquickoutput.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compositor/compositor_api/qwaylandquickoutput.cpp b/src/compositor/compositor_api/qwaylandquickoutput.cpp
index 79e4fdec..c6294eea 100644
--- a/src/compositor/compositor_api/qwaylandquickoutput.cpp
+++ b/src/compositor/compositor_api/qwaylandquickoutput.cpp
@@ -66,7 +66,7 @@ void QWaylandQuickOutput::initialize()
this, &QWaylandQuickOutput::updateStarted,
Qt::DirectConnection);
- connect(quickWindow, &QQuickWindow::beforeRendering,
+ connect(quickWindow, &QQuickWindow::afterRendering,
this, &QWaylandQuickOutput::doFrameCallbacks);
}