From 1db4ec05462914096b1f243e9b2af7e71cf38622 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Tue, 29 May 2018 15:41:28 +0100 Subject: [PATCH] egl: rewire the build systems to use libwayland-egl Cc: Emil Velikov Cc: Daniel Stone Reviewed-by: Matt Turner Signed-off-by: Eric Engestrom --- configure.ac | 6 ++++-- meson.build | 3 +++ src/Makefile.am | 5 ----- src/egl/Makefile.am | 3 ++- src/egl/drivers/dri2/platform_wayland.c | 7 +++---- src/egl/meson.build | 10 ++-------- src/gallium/state_trackers/omx/tizonia/Makefile.am | 2 +- 7 files changed, 15 insertions(+), 21 deletions(-) diff --git a/configure.ac b/configure.ac index 600127af8f6..875c47fcd43 100644 --- a/configure.ac +++ b/configure.ac @@ -90,6 +90,7 @@ LIBOMXIL_TIZONIA_REQUIRED=0.10.0 LIBVA_REQUIRED=0.39.0 VDPAU_REQUIRED=1.1 WAYLAND_REQUIRED=1.11 +WAYLAND_EGL_REQUIRED=1.15 WAYLAND_PROTOCOLS_REQUIRED=1.8 XCB_REQUIRED=1.9.3 XCBDRI2_REQUIRED=1.8 @@ -1808,6 +1809,9 @@ for plat in $platforms; do PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= $WAYLAND_REQUIRED]) PKG_CHECK_MODULES([WAYLAND_SERVER], [wayland-server >= $WAYLAND_REQUIRED]) PKG_CHECK_MODULES([WAYLAND_PROTOCOLS], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED]) + if test "x$enable_egl" = xyes; then + PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl >= $WAYLAND_EGL_REQUIRED]) + fi WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], @@ -3022,8 +3026,6 @@ AC_CONFIG_FILES([Makefile src/egl/Makefile src/egl/main/egl.pc src/egl/wayland/wayland-drm/Makefile - src/egl/wayland/wayland-egl/Makefile - src/egl/wayland/wayland-egl/wayland-egl.pc src/gallium/Makefile src/gallium/auxiliary/Makefile src/gallium/auxiliary/pipe-loader/Makefile diff --git a/meson.build b/meson.build index 1d1b2a979b1..4d4ca5d5578 100644 --- a/meson.build +++ b/meson.build @@ -1201,6 +1201,9 @@ if with_platform_wayland dep_wl_protocols = dependency('wayland-protocols', version : '>= 1.8') dep_wayland_client = dependency('wayland-client', version : '>=1.11') dep_wayland_server = dependency('wayland-server', version : '>=1.11') + if with_egl + dep_wayland_egl = dependency('wayland-egl', version : '>=1.15') + endif wayland_dmabuf_xml = join_paths( dep_wl_protocols.get_pkgconfig_variable('pkgdatadir'), 'unstable', 'linux-dmabuf', 'linux-dmabuf-unstable-v1.xml' diff --git a/src/Makefile.am b/src/Makefile.am index fd5ae445502..9bb3bce3c07 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -95,11 +95,6 @@ if HAVE_GBM SUBDIRS += gbm endif -## Optionally required by EGL -if HAVE_PLATFORM_WAYLAND -SUBDIRS += egl/wayland/wayland-egl -endif - if HAVE_EGL SUBDIRS += egl endif diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am index 086a4a1e630..be3547d968f 100644 --- a/src/egl/Makefile.am +++ b/src/egl/Makefile.am @@ -84,6 +84,8 @@ drivers/dri2/egl_dri2.lo: drivers/dri2/linux-dmabuf-unstable-v1-client-protocol. AM_CFLAGS += $(WAYLAND_CLIENT_CFLAGS) libEGL_common_la_LIBADD += $(WAYLAND_CLIENT_LIBS) libEGL_common_la_LIBADD += $(LIBDRM_LIBS) +AM_CFLAGS += $(WAYLAND_EGL_CFLAGS) +libEGL_common_la_LIBADD += $(WAYLAND_EGL_LIBS) AM_CFLAGS += $(WAYLAND_SERVER_CFLAGS) libEGL_common_la_LIBADD += $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la libEGL_common_la_LIBADD += $(WAYLAND_SERVER_LIBS) @@ -114,7 +116,6 @@ AM_CFLAGS += \ -I$(top_builddir)/src/egl/drivers/dri2 \ -I$(top_srcdir)/src/egl/drivers/dri2 \ -I$(top_srcdir)/src/gbm/backends/dri \ - -I$(top_srcdir)/src/egl/wayland/wayland-egl \ -I$(top_builddir)/src/egl/wayland/wayland-drm \ -I$(top_srcdir)/src/egl/wayland/wayland-drm \ -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\" \ diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 63da21cdf55..11026f9fbf4 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -45,12 +45,11 @@ #include "util/u_vector.h" #include "eglglobals.h" +#include #include #include "wayland-drm-client-protocol.h" #include "linux-dmabuf-unstable-v1-client-protocol.h" -#include "wayland/wayland-egl/wayland-egl-backend.h" - #ifndef DRM_FORMAT_MOD_INVALID #define DRM_FORMAT_MOD_INVALID ((1ULL << 56) - 1) #endif @@ -298,7 +297,7 @@ dri2_wl_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp, dri2_surf->wl_queue); dri2_surf->wl_win = window; - dri2_surf->wl_win->private = dri2_surf; + dri2_surf->wl_win->driver_private = dri2_surf; dri2_surf->wl_win->destroy_window_callback = destroy_window_callback; if (dri2_dpy->flush) dri2_surf->wl_win->resize_callback = resize_callback; @@ -384,7 +383,7 @@ dri2_wl_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf) wl_callback_destroy(dri2_surf->throttle_callback); if (dri2_surf->wl_win) { - dri2_surf->wl_win->private = NULL; + dri2_surf->wl_win->driver_private = NULL; dri2_surf->wl_win->resize_callback = NULL; dri2_surf->wl_win->destroy_window_callback = NULL; } diff --git a/src/egl/meson.build b/src/egl/meson.build index 9050d763a6c..dc67b7b1536 100644 --- a/src/egl/meson.build +++ b/src/egl/meson.build @@ -116,7 +116,7 @@ if with_platform_surfaceless files_egl += files('drivers/dri2/platform_surfaceless.c') endif if with_platform_wayland - deps_for_egl += [dep_wayland_client, dep_wayland_server] + deps_for_egl += [dep_wayland_client, dep_wayland_server, dep_wayland_egl] link_for_egl += libwayland_drm files_egl += files('drivers/dri2/platform_wayland.c') files_egl += [ @@ -124,9 +124,7 @@ if with_platform_wayland linux_dmabuf_unstable_v1_client_protocol_h, wayland_drm_client_protocol_h, ] - incs_for_egl += include_directories( - 'wayland/wayland-egl', 'wayland/wayland-drm', - ) + incs_for_egl += include_directories('wayland/wayland-drm') endif if with_platform_android deps_for_egl += dep_android @@ -198,10 +196,6 @@ pkg.generate( extra_cflags : gl_pkgconfig_c_flags, ) -if with_platform_wayland - subdir('wayland/wayland-egl') -endif - if with_tests if with_glvnd # TODO: add glvnd symbol check diff --git a/src/gallium/state_trackers/omx/tizonia/Makefile.am b/src/gallium/state_trackers/omx/tizonia/Makefile.am index 0eac85a319e..ac72affa326 100644 --- a/src/gallium/state_trackers/omx/tizonia/Makefile.am +++ b/src/gallium/state_trackers/omx/tizonia/Makefile.am @@ -29,7 +29,6 @@ AM_CFLAGS = \ -I$(top_srcdir)/src/mesa/drivers/dri/common \ -I$(top_srcdir)/src/egl \ -I$(top_srcdir)/src/egl/drivers/dri2 \ - -I$(top_srcdir)/src/egl/wayland/wayland-egl \ -I$(top_srcdir)/src/egl/main \ -I$(top_srcdir)/src/gbm/main \ -I$(top_srcdir)/src/loader \ @@ -38,6 +37,7 @@ AM_CFLAGS = \ -I$(top_srcdir)/src/gallium/state_trackers/omx \ $(GALLIUM_CFLAGS) \ $(LIBDRM_CFLAGS) \ + $(WAYLAND_EGL_CFLAGS) \ $(VISIBILITY_CFLAGS) \ $(VL_CFLAGS) \ $(XCB_DRI3_CFLAGS) \ -- 2.30.2