Skip to content
  • Simon Ser's avatar
    xwayland: allow using linux-dmabuf with DRM_FORMAT_MOD_INVALID · d6558477
    Simon Ser authored and Michel Dänzer's avatar Michel Dänzer committed
    When the linux-dmabuf protocol is available, prefer it over the old
    wl_drm protocol. Previously wl_drm was used when modifiers aren't
    supported, however linux-dmabuf supports formats without modifiers too.
    In this case, linux-dmabuf will send a DRM_FORMAT_MOD_INVALID modifier
    for each supported format [1].
    
    This allows compositors to better handle these buffers, getting a
    DMA-BUF and implementing features like direct scan-out.
    
    A similar logic has been implemented for EGL [2].
    
    DRM_FORMAT_MOD_INVALID is now stored in the xwl_screen->formats list.
    glamor_get_modifiers still returns FALSE with zero modifiers if the
    only advertised modifier is DRM_FORMAT_MOD_INVALID.
    
    [1]: wayland/wayland-protocols@fb9b2a87
    [2]: mesa/mesa@c376865f
    
    
    
    Signed-off-by: Simon Ser's avatarSimon Ser <contact@emersion.fr>
    Reviewed-by: default avatarMichel Dänzer <mdaenzer@redhat.com>
    d6558477