703bbe0e99
The absolute modelview contains OpenGL coordinates, which have a higher chance to not be invertible or, when doing so, introduce rounding errors. These again often result in relative transforms becoming 3D instead of 2D, making us miss optimized code paths down the line. Thus cache stage-relative matrices instead, improving correctness and possibly performance. While on it also add some fast paths for cases where we can skip calculating inverted matrices altogether and change variable names to be more precise. Fixes: dfd58ca8f1 ("clutter/actor: Extend caching in apply_relative_transformation_matrix") Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3286>