Skip to content

Move more output layer stuff to higher levels

Xaver Hugl requested to merge work/zamundaaa/higher-level-output-layer into master

Commit 1: split Compositor::composite into X11 and Wayland implementations. Sharing it doesn't really make sense, since they're so different

Commit 2: put damage into OutputFrame. This removes the m_lastDamage things from the output layers, makes it no longer be dependent on a single primary layer covering the whole screen and makes damage tracking actually work with direct scanout

Commit 3: move a few more things up a level, namely the buffer source rect, buffer and hardware transforms, and the centering of the primary plane with direct scanout. This is a small)step towards finally using overlay planes, as the Compositor can use this to specify the coordinates for each output layer.

With this, doAttemptScanout only has the GraphicsBuffer and ColorDescription left over. I still want to move the ColorDescription out of the method, but as it's decided by the output layer when compositing and changing that is a bit more involved, it'll have to be done later

Merge request reports