Skip to content

backends/drm: refactor surface handling

Xaver Hugl requested to merge work/output-layer-6 into work/output-layer-1

In order to support layered rendering and tiled outputs KWin needs to be able to split rendering of outputs into multiple surfaces. This commit prepares the drm backend for that, by moving most of the code in EglGbmBackend out to a EglGbmSurface class, which will later be used for overlay surfaces and rendering to multiple connectors side by side.

In doing that, this commit also cleans up the code a bit, removes a lot of now unnecessary multi-gpu stuff and potentially makes modesets a little bit more efficient by re-using resources more often.

based on !1815 (merged)

Merge request reports