Add texture update regions
This is an experiment that adds texture diffing and exposes it via GdkGLTextureBuilder::update-region
and GdkGLTextureBuilder::update-texture
. It is built on top of !5862 (merged).
The code by itself looks fine to me, but I do not like exposing cairo_region_t
there. We could switch the API to use GdkRectangle
or graphene_rect_t
instead, but then we couldn't expose regions.
Also, I added my testing commit if anyone wants to play with it, it produces output like this (with debug updates enabled, left is Cairo, right is GL): Screencast_from_2023-04-28_06-08-25
The main usecase for this API is https://gitlab.gnome.org/chergert/libmks and @chergert and @bilelmoussaoui have asked for it.