
Some detailed overview of this change: I was trying to use the wl_surface_damage_buffer() [1] function, like in this [2] code, but there were some problems with calling it; even more, we also need to check the compositor version before calling it. Next approach was using full damage like described here [3]. This was working fine, but it was of course suboptimal. Finally: looking at chromium/ozone code [4] I ended up with correctly calculating the damage region within surface coordinates. Refs: [1] https://wayland-client-d.dpldocs.info/wayland.client.protocol.wl_surface_damage_buffer.html [2]b01c31b24f/clients/simple-damage.c (L585)
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=1648872#c21 [4]6763b7710c/ui/ozone/platform/wayland/host/wayland_surface.cc (118)