
This way we can have separate types per modes of operation (e.g. if it's backed by an EGLSurface or single texture), instead of being dependent on a certain type (onscreen vs offscreen). Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1514>