Skip to content
  • Martin Flöser's avatar
    Introduce an EffectsHandler::animationsSupported -> bool · 142aab2e
    Martin Flöser authored
    Summary:
    A new method to tell the effects system whether the compositor scene
    is able to drive animations. E.g. on software emulation (llvmpipe) it's
    better to not do any animations at all.
    
    This information can be used by effects to adjust their behavior, e.g.
    PresentWindows could skip transitions or effects can use it in their
    supported check to completely disable themselves.
    
    As a first step all scripted effects are considered to be unsupported
    if animations are not supported. They inherit AnimationEffect and are
    all about driving animations.
    
    The information whether animations are supported comes from the Scene.
    It's implemented in the following way:
     * XRender: animations are always supported
     * QPainter: animations are never supported
     * OpenGL: animations are supported, except for software emulation
    
    In addition - for easier testing - there is a new env variable
    KWIN_EFFECTS_FORCE_ANIMATIONS to overwrite the selection.
    
    Reviewers: #kwin, #pla...
    142aab2e