scene/workspacescene: special case fullscreen windows for direct scanout

In general, we should avoid doing direct scanout for slowly updating windows, since using additional planes increases power usage. For fullscreen windows with bandwidth requirements similar to KWin's own compositing buffer however, this logic just makes things worse rather than better. With the overview effect specifically, this causes KWin to flip back and forth between compositing and scanout, which increases power use rather than improving it.

To fix that, this just adds a special case for slowly updating items covering the entire screen that use buffer formats with at most 32 bits per pixel.

Merge request reports

Loading