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

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