egl: Add helper for eglBindWaylandDisplayWL

Lets us untangle awkward Cogl setup dependencies.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1863>
This commit is contained in:
Jonas Ådahl 2021-05-06 12:11:36 +02:00 committed by Marge Bot
parent ebfeb106bc
commit 5c77b640d4
2 changed files with 25 additions and 0 deletions

View File

@ -46,6 +46,7 @@ struct _MetaEgl
PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR;
PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR;
PFNEGLBINDWAYLANDDISPLAYWL eglBindWaylandDisplayWL;
PFNEGLQUERYWAYLANDBUFFERWL eglQueryWaylandBufferWL;
PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXT;
@ -699,6 +700,24 @@ meta_egl_swap_buffers (MetaEgl *egl,
return TRUE;
}
gboolean
meta_egl_bind_wayland_display (MetaEgl *egl,
EGLDisplay display,
struct wl_display *wayland_display,
GError **error)
{
if (!is_egl_proc_valid (egl->eglBindWaylandDisplayWL, error))
return FALSE;
if (!egl->eglBindWaylandDisplayWL (display, wayland_display))
{
set_egl_error (error);
return FALSE;
}
return TRUE;
}
gboolean
meta_egl_query_wayland_buffer (MetaEgl *egl,
EGLDisplay display,
@ -1077,6 +1096,7 @@ meta_egl_constructed (GObject *object)
GET_EGL_PROC_ADDR (eglCreateImageKHR);
GET_EGL_PROC_ADDR (eglDestroyImageKHR);
GET_EGL_PROC_ADDR (eglBindWaylandDisplayWL);
GET_EGL_PROC_ADDR (eglQueryWaylandBufferWL);
GET_EGL_PROC_ADDR (eglQueryDevicesEXT);

View File

@ -154,6 +154,11 @@ gboolean meta_egl_swap_buffers (MetaEgl *egl,
EGLSurface surface,
GError **error);
gboolean meta_egl_bind_wayland_display (MetaEgl *egl,
EGLDisplay display,
struct wl_display *wayland_display,
GError **error);
gboolean meta_egl_query_wayland_buffer (MetaEgl *egl,
EGLDisplay display,
struct wl_resource *buffer,