Commit 11760da2 authored by Erik Kurzinger's avatar Erik Kurzinger
Browse files

xwayland-eglstream: disallow commits for flipping GL / VK windows

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 backed by a
dma-buf 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.

The implication is that X rendering on a flipping OpenGL or Vulkan window isn't
possible with the eglstream backend. Currently, if an application tries to do
this, it will trigger an assert in xwl_glamor_eglstream_allow_commits. With
this commit, xwl_glamor_eglstream_allow_commits will instead just return false.
Signed-off-by: Erik Kurzinger's avatarErik Kurzinger <>
Acked-by: default avatarOlivier Fourdan <>
parent a50a0e34
Pipeline #309301 passed with stages
in 5 minutes and 11 seconds
......@@ -576,7 +576,12 @@ xwl_glamor_eglstream_allow_commits(struct xwl_window *xwl_window)
struct xwl_pixmap *xwl_pixmap = xwl_pixmap_get(pixmap);
if (xwl_pixmap) {
assert(xwl_pixmap->type == XWL_PIXMAP_EGLSTREAM);
if (xwl_pixmap->type != XWL_PIXMAP_EGLSTREAM)
/* This can happen if a client tries to do X11 rendering
* on a flipping OpenGL or Vulkan window. Unfortunately
* this is not currently supported. */
return FALSE;
if (pending) {
/* Wait for the compositor to finish connecting the consumer for
* this eglstream */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment