7459aabcac
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
24 lines
623 B
CMake
24 lines
623 B
CMake
set(SCENE_OPENGL_BACKEND_SRCS
|
|
abstract_egl_backend.cpp
|
|
backend.cpp
|
|
egl_dmabuf.cpp
|
|
swap_profiler.cpp
|
|
texture.cpp
|
|
)
|
|
|
|
include_directories(${CMAKE_SOURCE_DIR})
|
|
|
|
include(ECMQtDeclareLoggingCategory)
|
|
ecm_qt_declare_logging_category(SCENE_OPENGL_BACKEND_SRCS
|
|
HEADER
|
|
logging.h
|
|
IDENTIFIER
|
|
KWIN_OPENGL
|
|
CATEGORY_NAME
|
|
kwin_scene_opengl
|
|
DEFAULT_SEVERITY
|
|
Critical
|
|
)
|
|
|
|
add_library(SceneOpenGLBackend STATIC ${SCENE_OPENGL_BACKEND_SRCS})
|
|
target_link_libraries(SceneOpenGLBackend Qt5::Core Qt5::Widgets KF5::CoreAddons KF5::ConfigCore KF5::WindowSystem KF5::WaylandServer)
|