blob: 2048af882cd216b9aefdadc946e0f8e9e33961e4 [file] [log] [blame]
From 1db4ec05462914096b1f243e9b2af7e71cf38622 Mon Sep 17 00:00:00 2001
From: Eric Engestrom <eric.engestrom@intel.com>
Date: Tue, 29 May 2018 15:41:28 +0100
Subject: [PATCH 1/2] egl: rewire the build systems to use libwayland-egl
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Cc: Daniel Stone <daniels@collabora.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
---
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 600127af8f..875c47fcd4 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 1d1b2a979b..4d4ca5d557 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 fd5ae44550..9bb3bce3c0 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 086a4a1e63..be3547d968 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 63da21cdf5..11026f9fbf 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 <wayland-egl-backend.h>
#include <wayland-client.h>
#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 9050d763a6..dc67b7b153 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 0eac85a319..ac72affa32 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.19.0.rc2.392.g5ba43deb5a-goog