Skip to content
  • Robert Mader's avatar
    clutter/actor: Cache stage-relative instead of absolute modelviews · 703bbe0e
    Robert Mader authored and Marge Bot's avatar Marge Bot committed
    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: dfd58ca8 ("clutter/actor: Extend caching in apply_relative_transformation_matrix")
    Part-of: <GNOME/mutter!3286>
    703bbe0e