diff options
author | Dominik Holland <dominik.holland@pelagicore.com> | 2018-11-06 15:14:45 +0100 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2019-01-08 16:35:40 +0000 |
commit | 280cc2befba99ffde25fe7c287174143a9539d32 (patch) | |
tree | c3a7df713b3e8d9f52ffb229f8832b7d6c2ac5c6 | |
parent | 6258c4994200348220be6f35667a2c0f4b705539 (diff) | |
download | qtwayland-280cc2befba99ffde25fe7c287174143a9539d32.tar.gz |
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.cpp | 2 |
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); } |