• Erik Kurzinger's avatar
    xwayland-eglstream: fix X11 rendering to flipping GL / VK window · 4f6fbd50
    Erik Kurzinger authored
    
    
    If a window is being used for direct rendering with OpenGL or Vulkan, and is
    using the flipping path for presentation, it's pixmap will be set to a dma-buf
    backed pixmap created by the client-side GL driver. However, this means that
    xwl_glamor_eglstream_post_damage won't work since it requires that the pixmap
    has an EGLSurface that it can render to, which dma-buf backed pixmaps do not.
    
    In this case, though, xwl_glamor_eglstream_post_damage is not necessary since
    glamor will have rendered directly to the pixmap, so we can simply pass it
    directly to the compositor. There's no need for the intermediate copy we
    normally do in that function.
    
    Therefore, this change adds an early-return case to post_damage for dma-buf
    backed pixmaps, and removes the corresponding asserts from that function and
    allow_commits.
    Signed-off-by: Erik Kurzinger's avatarErik Kurzinger <ekurzinger@nvidia.com>
    Acked-by: Olivier Fourdan's avatarOlivier Fourdan <ofourdan@redhat.com>
    Reviewed-by: Michel Dänzer's avatarMichel Dänzer <mdaenzer@redhat.com>
    4f6fbd50
xwayland-glamor-eglstream.c 37.5 KB