Skip to content
  • Roman Gilg's avatar
    xwayland: Preliminary support for Present's new window flip mode · 0fb2cca1
    Roman Gilg authored and Adam Jackson's avatar Adam Jackson committed
    
    
    Introduce support for Present's window flip mode. The support is not yet
    complete, but works reasonable well for the most important use case, that
    is fullscreen applications.
    
    We take a Present flip and if the xwl_window->window has the same dimensions
    as the presenting window, the flip is represented by a wl_buffer and attached
    to the main wl_surface of the xwl_window.
    
    After commit we are listening for the sync callback in order to tell Present,
    that the pixmap flip is not longer pending, for the frame callback in order
    to update the msc counter and for the buffer release callback in order to tell
    Present that the pixmap is idle again.
    
    The following functionality is missing from this patch:
    * (slowed down) flips in case the compositor is not sending frame callbacks,
    * queuing events to MSC times,
    * per window flips for child windows with smaller size than the xwl_window.
    
    To make use of this functionality Xwayland must run rootless and with
    Glamor/GBM.
    
    Signed-off-by: default avatarRoman Gilg <subdiff@gmail.com>
    Reviewed-by: default avatarAdam Jackson <ajax@redhat.com>
    0fb2cca1