xserver/hw/xwayland
Erik Kurzinger 4f6fbd5009 xwayland-eglstream: fix X11 rendering to flipping GL / VK window
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 <ekurzinger@nvidia.com>
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
2021-04-30 11:08:41 -04:00
..
man xwayland: Add -verbose option as in xfree86 2021-01-29 10:02:14 +00:00
.gitignore xwayland: Add wp_viewport wayland extension support 2019-10-12 12:19:14 +02:00
Makefile.am mi: List extensions in usage message 2021-01-29 12:52:09 +00:00
drm.xml wayland: Sync drm.xml with Mesa 2017-07-05 10:13:04 -04:00
meson.build xwayland: Fix path in pkg-config with autoconf 2021-03-05 11:11:54 +01:00
xwayland-cursor.c xwayland: Delay cursor visibility update 2021-03-03 15:28:27 +01:00
xwayland-cursor.h xwayland: Move Xwayland cursor declarations 2019-12-20 16:19:01 +01:00
xwayland-cvt.c xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-cvt.h xwayland: Move Xwayland CVT declaration 2019-12-20 16:19:01 +01:00
xwayland-glamor-eglstream.c xwayland-eglstream: fix X11 rendering to flipping GL / VK window 2021-04-30 11:08:41 -04:00
xwayland-glamor-gbm.c xwayland: implement pixmap_from_buffers for the eglstream backend 2021-04-09 14:00:01 +00:00
xwayland-glamor-xv.c xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-glamor.c xwayland: implement pixmap_from_buffers for the eglstream backend 2021-04-09 14:00:01 +00:00
xwayland-glamor.h xwayland: implement pixmap_from_buffers for the eglstream backend 2021-04-09 14:00:01 +00:00
xwayland-glx.c xwayland: Set the vendor name for GLX_EXT_libglvnd 2020-06-05 14:50:55 -04:00
xwayland-glx.h xwayland: Move Xwayland GLX declaration 2019-12-20 16:19:01 +01:00
xwayland-input.c xwayland: Fix LeaveNotify for relative pointer 2021-03-05 07:48:57 +01:00
xwayland-input.h xwayland: Delay cursor visibility update 2021-03-03 15:28:27 +01:00
xwayland-output.c xwayland: Replace need_rotate boolean with simple check on xdg-output 2020-09-01 13:13:57 +00:00
xwayland-output.h xwayland: Move Xwayland output declarations 2019-12-20 16:19:01 +01:00
xwayland-pixmap.c xwayland: Rename xwl_pixmap_cb → xwl_buffer_release_cb 2020-07-07 13:47:11 +00:00
xwayland-pixmap.h xwayland: Rename xwl_pixmap_cb → xwl_buffer_release_cb 2020-07-07 13:47:11 +00:00
xwayland-present.c xwayland: implement pixmap_from_buffers for the eglstream backend 2021-04-09 14:00:01 +00:00
xwayland-present.h xwayland: Rename present event lists 2020-07-22 11:01:42 +02:00
xwayland-screen.c xwayland: non-rootless requires the XDG-WM-Base protocol 2020-11-09 08:48:16 +00:00
xwayland-screen.h xwayland: Move dmabuf interface to common glamor code 2021-04-09 14:00:01 +00:00
xwayland-shm.c xwayland: Remove harmless duplicated #include 2020-07-20 00:19:22 +00:00
xwayland-shm.h xwayland: Move SHM declarations to their own header 2019-12-20 16:19:01 +01:00
xwayland-types.h xwayland: Move Xwayland structures to their own header 2019-12-20 16:19:01 +01:00
xwayland-vidmode.c xwayland: Initialise values in xwlVidModeGetGamma() 2020-07-03 10:56:43 +00:00
xwayland-vidmode.h xwayland: Move Xwayland vidmode declaration 2019-12-20 16:19:01 +01:00
xwayland-window-buffers.c xwayland: Hold window buffer until released 2020-12-10 13:49:42 +01:00
xwayland-window-buffers.h xwayland: Cleanup and remove `xwayland.h` 2019-12-20 16:19:01 +01:00
xwayland-window.c xwayland: remove unused parameter of xwl_glamor_pixmap_get_wl_buffer 2021-01-08 06:17:51 -08:00
xwayland-window.h xwayland: port rooted xwayland from wl_shell to xdg-shell protocol 2020-02-28 16:23:58 +00:00
xwayland.c xwayland: remove wl_log_set_handler_client workaround 2021-03-24 08:13:11 +01:00
xwayland.pc.in xwayland: Fix path in pkg-config with autoconf 2021-03-05 11:11:54 +01:00