st/egl: Add wayland platform
[mesa.git] / src / gallium / state_trackers / egl / common / egl_g3d.c
index 9024f945b8cd774e12f3202a3fd4b8b9202bffe5..ddca1408b0a0cbfe5b7c34eb8f0dc545e07e77bb 100644 (file)
@@ -101,6 +101,11 @@ egl_g3d_get_platform(_EGLDriver *drv, _EGLPlatformType plat)
          plat_name = "X11";
 #ifdef HAVE_X11_BACKEND
          nplat = native_get_x11_platform();
+#endif
+      case _EGL_PLATFORM_WAYLAND:
+         plat_name = "wayland";
+#ifdef HAVE_WAYLAND_BACKEND
+         nplat = native_get_wayland_platform();
 #endif
          break;
       case _EGL_PLATFORM_DRM:
@@ -546,6 +551,9 @@ egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy)
          dpy->Extensions.MESA_drm_image = EGL_TRUE;
    }
 
+   if (dpy->Platform == _EGL_PLATFORM_WAYLAND && gdpy->native->buffer)
+      dpy->Extensions.MESA_drm_image = EGL_TRUE;
+
    if (egl_g3d_add_configs(drv, dpy, 1) == 1) {
       _eglError(EGL_NOT_INITIALIZED, "eglInitialize(unable to add configs)");
       goto fail;