a347d009d1
The logic on page flips was inconsistent in the sense, that it should never release a GBM buffer before it's not used (i.e. viewable on the display) anymore. This happened unintended until now (on page flip we never really did something useful in the else statement, because if we're here it's not a GBM buffer anyway). With this patch we: * delete on page flips always only the old buffer, which is not used anymore * release the buffer earlier on interrupts like display disconnect in order to be able to destroy the EGL context Test Plan: Tested in non atomic mode (atomic mode is obsolete right now until my other WIP patch D4539 is ready to be merged): Login, logout, suspend, normal use. Reviewers: #kwin, graesslin Reviewed By: #kwin, graesslin Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D5060 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
drm.json | ||
drm_backend.cpp | ||
drm_backend.h | ||
drm_buffer.cpp | ||
drm_buffer.h | ||
drm_inputeventfilter.cpp | ||
drm_inputeventfilter.h | ||
drm_object.cpp | ||
drm_object.h | ||
drm_object_connector.cpp | ||
drm_object_connector.h | ||
drm_object_crtc.cpp | ||
drm_object_crtc.h | ||
drm_object_plane.cpp | ||
drm_object_plane.h | ||
drm_output.cpp | ||
drm_output.h | ||
drm_pointer.h | ||
egl_gbm_backend.cpp | ||
egl_gbm_backend.h | ||
logging.cpp | ||
logging.h | ||
scene_qpainter_drm_backend.cpp | ||
scene_qpainter_drm_backend.h | ||
screens_drm.cpp | ||
screens_drm.h |