[Mesa-dev] [PATCH 04/11] egl: Add wayland platform

Benjamin Franzke benjaminfranzke at googlemail.com
Fri Feb 4 08:31:18 PST 2011


---
 configure.ac              |    4 ++++
 src/egl/Makefile          |    4 ++++
 src/egl/main/Makefile     |    5 ++++-
 src/egl/main/egldisplay.c |    1 +
 src/egl/main/egldisplay.h |    1 +
 5 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/configure.ac b/configure.ac
index 46938f4..a5ca85d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1536,6 +1536,10 @@ yes)
         if test "$plat" = "fbdev"; then
                 GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/fbdev"
         fi
+	if test "$plat" = "wayland"; then
+		PKG_CHECK_MODULES([WAYLAND], [wayland-client],, \
+				  [AC_MSG_ERROR([cannot find libwayland-client])])
+	fi
     done
     EGL_PLATFORMS="$egl_platforms"
     ;;
diff --git a/src/egl/Makefile b/src/egl/Makefile
index 50f227f..52daf2e 100644
--- a/src/egl/Makefile
+++ b/src/egl/Makefile
@@ -5,6 +5,10 @@ include $(TOP)/configs/current
 
 SUBDIRS = drivers main
 
+ifneq ($(findstring wayland, $(EGL_PLATFORMS)),)
+SUBDIRS += wayland
+endif
+
 
 default: subdirs
 
diff --git a/src/egl/main/Makefile b/src/egl/main/Makefile
index c710631..a5b9299 100644
--- a/src/egl/main/Makefile
+++ b/src/egl/main/Makefile
@@ -58,7 +58,7 @@ LOCAL_LIBS =
 ifeq ($(filter dri2, $(EGL_DRIVERS_DIRS)),dri2)
 LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2
 LOCAL_LIBS += $(TOP)/src/egl/drivers/dri2/libegl_dri2.a
-EGL_LIB_DEPS += $(XCB_DRI2_LIBS) $(LIBUDEV_LIBS) $(DLOPEN_LIBS) $(LIBDRM_LIB)
+EGL_LIB_DEPS += $(XCB_DRI2_LIBS) $(LIBUDEV_LIBS) $(DLOPEN_LIBS) $(LIBDRM_LIB) $(WAYLAND_LIBS)
 endif
 ifeq ($(filter glx, $(EGL_DRIVERS_DIRS)),glx)
 LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_GLX
@@ -71,6 +71,9 @@ EGL_NATIVE_PLATFORM=_EGL_INVALID_PLATFORM
 ifeq ($(firstword $(EGL_PLATFORMS)),x11)
 EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11
 endif
+ifeq ($(firstword $(EGL_PLATFORMS)),wayland)
+EGL_NATIVE_PLATFORM=_EGL_PLATFORM_WAYLAND
+endif
 ifeq ($(firstword $(EGL_PLATFORMS)),drm)
 EGL_NATIVE_PLATFORM=_EGL_PLATFORM_DRM
 endif
diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c
index 565e44d..3059294 100644
--- a/src/egl/main/egldisplay.c
+++ b/src/egl/main/egldisplay.c
@@ -27,6 +27,7 @@ _eglGetNativePlatformFromEnv(void)
    } egl_platforms[_EGL_NUM_PLATFORMS] = {
       { _EGL_PLATFORM_WINDOWS, "gdi" },
       { _EGL_PLATFORM_X11, "x11" },
+      { _EGL_PLATFORM_WAYLAND, "wayland" },
       { _EGL_PLATFORM_DRM, "drm" },
       { _EGL_PLATFORM_FBDEV, "fbdev" }
    };
diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h
index dbc5d32..ce035eb 100644
--- a/src/egl/main/egldisplay.h
+++ b/src/egl/main/egldisplay.h
@@ -11,6 +11,7 @@
 enum _egl_platform_type {
    _EGL_PLATFORM_WINDOWS,
    _EGL_PLATFORM_X11,
+   _EGL_PLATFORM_WAYLAND,
    _EGL_PLATFORM_DRM,
    _EGL_PLATFORM_FBDEV,
 
-- 
1.7.3.4



More information about the mesa-dev mailing list