From: Benjamin Franzke Date: Fri, 4 Feb 2011 11:22:58 +0000 (+0100) Subject: egl: Add wayland platform X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e586c4b7634f856a350f029709adc8a32271562c;p=mesa.git egl: Add wayland platform --- diff --git a/configure.ac b/configure.ac index 9c6ce3f2150..67cdb157559 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 50f227f07da..52daf2efa7e 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 c710631688c..a5b92995020 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 565e44d2d23..30592947297 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 dbc5d32d910..ce035eb2ef1 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,