Skip to content

backends: Set up swap_region without damage history

Erico Nunes requested to merge enunes/mutter:swap-region-2 into main

This is a followup to !2089 (merged) which got reverted due to a regression when using multiple monitors. @rmader

I tried several configurations with Arm/Intel, Xorg/Wayland and now also multiple monitors. It turns out that this code path is very sensitive, most of my attempts to refactor and "simplify" the code managing the regions ended up causing a regression in one of those configurations.

This resulting patch seems to be the simplest change that accomplishes what I wanted with no other disruption to the flow and with the least managing and copying of regions around. Basically just use fb_clip_region from right before appending the damage history to it, and leave the rest of the code as-is.

It still has a good reduction on the total amount of regions passed down which can help optimizing composition on X11 and I have observed no regressions with it with any of the setups this time.

Merge request reports

Loading