• Erik Kurzinger's avatar
    xwayland: implement pixmap_from_buffers for the eglstream backend · 38e87590
    Erik Kurzinger authored and Michel Dänzer's avatar Michel Dänzer committed
    Provides an implementation for the pixmap_from_buffers DRI3 function for
    xwayland's eglstream backend. This will be used by the NVIDIA GLX driver
    to pass buffers from client applications to the server. These can then
    be presented using the PRESENT extension.
    To hopefully make this less error-prone, we also introduce a "type"
    field for this struct to distinguish between xwl_pixmaps for the new
    DRI3-created pixmaps and those for the existing glamor-created pixmaps.
    Additionally, the patch enables wnmd present mode with the eglstream backend.
    This involves creating a wl_buffer for the provided dma-buf before importing it
    into EGL and passing this to the compositor so it can be scanned out directly
    if possible.
    Since both backends now support this present mode, the HAS_PRESENT_FLIP flag is
    no longer needed, so it can be removed.
    Reviewed-by: Michel Dänzer's avatarMichel Dänzer <mdaenzer@redhat.com>
    Acked-by: Olivier Fourdan's avatarOlivier Fourdan <ofourdan@redhat.com>
    Signed-off-by: Erik Kurzinger's avatarErik Kurzinger <ekurzinger@nvidia.com>