summaryrefslogtreecommitdiffstats
path: root/src/spice-widget-egl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/spice-widget-egl.c')
-rw-r--r--src/spice-widget-egl.c9
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);