kwin/plugins/platforms/drm
Roman Gilg a347d009d1 [DrmBackend] Straighten out EGL surface buffer release logic on page flip
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
2017-03-17 20:41:46 +01:00
..
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