
Go one step further and pass regions. Sometimes the rectangles were already a region, e.g. the swap-buffer case, and sometimes it still potentially needs to pass through a rectangle array, e.g. damage with a view transform. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4103>