kwin/platformsupport/scenes/opengl
Roman Gilg 7459aabcac Dmabuf recovery on EGL reset
Summary:
The EGL platform might go away at any time through reconfiguration or because
of a graphic error. KWin then resets the graphics. The dmabuf implementation
must respect that and recover from a graphics reset by recreating all EGL
images for existing buffer.

This assumes that we won't change our graphics API mid-session and that
supported plane and modifier configuration stays constant.

In practise we remember all current dmabufs in a single map and only remove
them if the client did destroy the resource.

BUG: 411980
CCBUG: 413403
FIXED-IN: 5.17.2

Test Plan: Applied screenedge configuration without crash.

Reviewers: #kwin, zzag

Reviewed By: #kwin, zzag

Subscribers: fvogt, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D24954
2019-10-29 12:10:15 +01:00
..
abstract_egl_backend.cpp Dmabuf recovery on EGL reset 2019-10-29 12:10:15 +01:00
abstract_egl_backend.h
backend.cpp Use nullptr everywhere 2019-09-19 17:48:21 +03:00
backend.h Split Compositor class in Wayland and X11 child classes 2019-08-07 21:06:53 +02:00
CMakeLists.txt Dmabuf recovery on EGL reset 2019-10-29 12:10:15 +01:00
drm_fourcc.h
egl_dmabuf.cpp Dmabuf recovery on EGL reset 2019-10-29 12:10:15 +01:00
egl_dmabuf.h Dmabuf recovery on EGL reset 2019-10-29 12:10:15 +01:00
swap_profiler.cpp
swap_profiler.h
texture.cpp
texture.h