diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2019-11-08 11:41:16 +0100 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2019-11-13 16:23:27 +0100 |
commit | 5bd48047de4abecc47187d938c5e6ed8b8304aaf (patch) | |
tree | 02f6ab1a7ca38d275cd0f62326787759a2a9665b /src/gui | |
parent | 782df5b41dd3ab098fd1d3233339079487e1812f (diff) |
eglfs: kms: Make threaded atomic drm work
The atomic modesetting support was not prepared for page flips being
issued from different (per-screen) threads.
This could be seen with the threaded render loop of Qt Quick: having a
QQuickWindow per screen means having a dedicated render thread for each
screen. QKmsDevice used simply instance variables to keep track of the
request. This leads to the commit failing with EBUSY sooner or later.
Make the atomic request and related variables thread local.
This prevents failing drmModeAtomicCommit() with 2 or more screens and
the threaded render loop. It does not fix other potential issues when
waiting for page flips to complete, that is to be tackled separately.
Task-number: QTBUG-74953
Change-Id: I2dac10d5e9bdc0cb556ac78c9643c96d40d692e4
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Diffstat (limited to 'src/gui')
0 files changed, 0 insertions, 0 deletions