Skip to content
  • Kristian Høgsberg's avatar
    composite: Add exception mechanism for implicit redirection policy · 4ba7b594
    Kristian Høgsberg authored
    
    
    Normally composite will decide to add implicit redirection when a
    window with an alternate visual is a parent of a window with a regular
    visual or vice versa.  This uses extra pixmap memory and incurs an extra
    copy.  This exception mechanism provides a way for a DDX to override this
    if the DDX knows that its acceleration architecture will render correctly.
    
    The relevant case is that of an RGB window reparented into a ARGB parent
    frame window.  If the DDX knows that the acceleration architecture in use
    will pad the alpha channel to opaque when rendering to the RGB window,
    the implicit redirection can be avoided.
    
    This patch adds a new composite function:
    
      CompositeRegisterImplicitRedirectionException()
    
    which lets a DDX register a pair of parent and child window visuals, that
    will not be implicitly redirected even if the normal policy would have
    made that choice.
    
    Signed-off-by: default avatarKristian Høgsberg <krh@bitplanet.net>
    Reviewed-by: default avatarKeith Packard <keithp@keithp.com>
    4ba7b594