xwayland/window-buffers: Add xwl_window_buffer_release()

We want to decorrelate the explicit buffer synchronization from the
window buffers, and move that to the GLAMOR/GBM code instead.

To do that, we need to be able to invoke the xwl_window_buffer's
release_callback() routine from outside the window buffer code.

For that purpose, introduce xwl_window_buffer_release() which calls
xwl_window_buffer_release_callback() for us.

This is preparation work for the following changes, no functional change
intended at this point.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1571>
This commit is contained in:
Olivier Fourdan 2024-06-18 11:05:16 +02:00 committed by Marge Bot
parent 0e0472a005
commit b5082073b0
2 changed files with 7 additions and 0 deletions

View File

@ -238,6 +238,12 @@ xwl_window_buffer_release_callback(void *data)
xwl_window);
}
void
xwl_window_buffer_release(struct xwl_window_buffer *xwl_window_buffer)
{
xwl_window_buffer_release_callback(xwl_window_buffer);
}
#ifdef XWL_HAS_GLAMOR
static void
xwl_window_buffers_release_fence_avail(int fd, int xevents, void *data)

View File

@ -32,6 +32,7 @@
#include "xwayland-types.h"
void xwl_window_buffer_add_damage_region(struct xwl_window *xwl_window);
void xwl_window_buffer_release(struct xwl_window_buffer *xwl_window_buffer);
void xwl_window_buffers_init(struct xwl_window *xwl_window);
void xwl_window_buffers_dispose(struct xwl_window *xwl_window);
void xwl_window_realloc_pixmap(struct xwl_window *xwl_window);