Glitches with partial damage in fullscreen GTK4 clients
I see some heavy glitches when fullscreening certain clients that do partial damage:
Screencast_from_01.02.2022_22_01_52
This is with latest GTK4/Mutter from main.
Wild guess: GTK gets new empty buffer from EGL and doesn't fully repaint. This should be done via a Buffer age seem to be valid.buffer_age == 0
check somewhere. If that is already in place, there's maybe something wrong deeper in the stack.
Additional notes:
-
GSK_DEBUG=full-redraw
reliably works around the issue. - So far I can only reproduce with Mutter
- On Mutter after fullscreening there's first double buffering for some frames, then triple buffering. This has likely to do with the dynamic frame scheduling there (or Mutter just takes some frames before sending the scanout trench). Potentially the error does not happen without this and the related 2-to-3 buffer switching (mesa bug?)
Edited by Robert Mader