diff options
Diffstat (limited to 'src/spice-widget-egl.c')
-rw-r--r-- | src/spice-widget-egl.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/spice-widget-egl.c b/src/spice-widget-egl.c index 1748189..1b3cd07 100644 --- a/src/spice-widget-egl.c +++ b/src/spice-widget-egl.c @@ -29,6 +29,7 @@ #include <libdrm/drm_fourcc.h> #include <gdk/gdkx.h> +#include <gdk/gdkwayland.h> #define VERTS_ARRAY_SIZE (sizeof(GLfloat) * 4 * 4) #define TEX_ARRAY_SIZE (sizeof(GLfloat) * 4 * 2) @@ -200,6 +201,14 @@ gboolean spice_egl_init(SpiceDisplay *display, GError **err) EGLNativeDisplayType dpy = 0; GdkDisplay *gdk_dpy = gdk_display_get_default(); +#ifdef GDK_WINDOWING_WAYLAND + if (GDK_IS_WAYLAND_DISPLAY(gdk_dpy)) { + d->egl.ctx = eglGetCurrentContext(); + dpy = (EGLNativeDisplayType)gdk_wayland_display_get_wl_display(gdk_dpy); + d->egl.display = eglGetDisplay(dpy); + return spice_egl_init_shaders(display, err); + } +#endif #ifdef GDK_WINDOWING_X11 if (GDK_IS_X11_DISPLAY(gdk_dpy)) { dpy = (EGLNativeDisplayType)gdk_x11_display_get_xdisplay(gdk_dpy); |