Skip to content

xwayland/eglstream: allow commits to dma-buf backed pixmaps

Erik Kurzinger requested to merge ekurzinger/xserver:xwayland-quick-fix into master

This fixes a small issue in the interaction between the recently merged !663 (merged) and !646 (merged)

Without it, applications that perform both X11 and GL rendering to the same drawable may hang if that drawable is also presenting using the flipping path. In particular, it affects the Steam client.

As of commit 098e0f52 xwl_glamor_eglstream_allow_commits will not allow commits if the xwl_pixmap does not have an EGLSurface. This is valid for pixmaps backed by an EGLStream, however pixmaps backed by a dma-buf for OpenGL or Vulkan rendering will never have an EGLSurface. Unlike EGLStream backed pixmaps, though, glamor will render directly to the buffer that Xwayland passes to the compositor. Hence, they don't require the intermediate copy in xwl_glamor_eglstream_post_damage that EGLStream backed pixmaps do, so there is no need for an EGLSurface.

Merge request reports