Skip to content

backends/drm: Clear damage journal when switching between compositing and direct scanout

Vlad Zahorodnii requested to merge work/zzag/direct-scanout-damage-tracking into master

When returning back from direct scanout to compositing, the whole frame has to be repainted because the most recent buffer in the EGL swapchain contains outdated contents now.

This change works around it by purging the DamageJournal when scanning out a buffer. However, a nicer solution would be to assign a unique sequence number to every frame and use that to index the entries in the DamageJournal. It's a nicer design. With such absolute frame numbers, the DamageJournal could properly detect discontinueties.

Given the final release is in close proximity, this change doesn't go after such a refactoring.

Merge request reports