Blame SOURCES/0021-xwayland-eglstream-allow-commits-to-dma-buf-backed-p.patch

5f5628
From 64deb9471c7d9cad4c2ec1de1fba6a35c9af8e68 Mon Sep 17 00:00:00 2001
5f5628
From: Erik Kurzinger <ekurzinger@nvidia.com>
5f5628
Date: Fri, 14 May 2021 08:26:49 -0400
5f5628
Subject: [PATCH xserver 21/27] xwayland/eglstream: allow commits to dma-buf
5f5628
 backed pixmaps
5f5628
MIME-Version: 1.0
5f5628
Content-Type: text/plain; charset=UTF-8
5f5628
Content-Transfer-Encoding: 8bit
5f5628
5f5628
As of commit 098e0f52 xwl_glamor_eglstream_allow_commits will not allow commits
5f5628
if the xwl_pixmap does not have an EGLSurface. This is valid for pixmaps backed
5f5628
by an EGLStream, however pixmaps backed by a dma-buf for OpenGL or Vulkan
5f5628
rendering will never have an EGLSurface.  Unlike EGLStream backed pixmaps,
5f5628
though, glamor will render directly to the buffer that Xwayland passes to the
5f5628
compositor. Hence, they don't require the intermediate copy in
5f5628
xwl_glamor_eglstream_post_damage that EGLStream backed pixmaps do, so there is
5f5628
no need for an EGLSurface.
5f5628
5f5628
Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
5f5628
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
5f5628
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
5f5628
(cherry picked from commit 3d33d885fcd1215a74c1819278cf6f9557c9860b)
5f5628
---
5f5628
 hw/xwayland/xwayland-glamor-eglstream.c | 3 ++-
5f5628
 1 file changed, 2 insertions(+), 1 deletion(-)
5f5628
5f5628
diff --git a/hw/xwayland/xwayland-glamor-eglstream.c b/hw/xwayland/xwayland-glamor-eglstream.c
5f5628
index 2094d293a..2d0827709 100644
5f5628
--- a/hw/xwayland/xwayland-glamor-eglstream.c
5f5628
+++ b/hw/xwayland/xwayland-glamor-eglstream.c
5f5628
@@ -681,7 +681,8 @@ xwl_glamor_eglstream_allow_commits(struct xwl_window *xwl_window)
5f5628
 
5f5628
             return FALSE;
5f5628
         } else {
5f5628
-            if (xwl_pixmap->surface != EGL_NO_SURFACE)
5f5628
+            if (xwl_pixmap->surface != EGL_NO_SURFACE ||
5f5628
+                xwl_pixmap->type == XWL_PIXMAP_DMA_BUF)
5f5628
                 return TRUE;
5f5628
 
5f5628
             /* The pending stream got removed, we have a xwl_pixmap and
5f5628
-- 
5f5628
2.31.1
5f5628