aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
diff options
context:
space:
mode:
authorJulien Olivain <juju@cotds.org>2020-05-11 08:58:30 +0200
committerGitHub <noreply@github.com>2020-05-11 08:58:30 +0200
commitc2288a7b88240e4377bfc1c67b44efb58f704a42 (patch)
treeafe501cf5ed4d0f028d250bac30bb7dffa188e49 /include/wlr
parent1139234117f045e6e37ac585f8026b3c125d2ceb (diff)
render/egl: include EGL/eglmesaext.h only if present
This patch will make the EGL renderer work on any EGL/GLESv2 driver providing the EGL_WL_bind_wayland_display extensions. Mesa used to declare provisional EGL_WL_bind_wayland_display directly in <EGL/eglext.h>. Then, all unofficial extensions were moved to <EGL/eglmesaext.h>, to have a cleaner implementation. See: https://gitlab.freedesktop.org/mesa/mesa/-/commit/ab7bb10a2af711086319ce35815acd797b86fe27 The extension was then approved at Khronos Group, and reached the official <EGL/eglext.h>. See: https://www.khronos.org/registry/EGL/extensions/WL/EGL_WL_bind_wayland_display.txt https://github.com/KhronosGroup/EGL-Registry/commit/aa9b63f3ab18aee92c95786a2478156430f809e4 In order to make sure the renderer will work on any version of any implementation providing the extension, only include the mesa-specific header if it's present. Signed-off-by: Julien Olivain <juju@cotds.org>
Diffstat (limited to 'include/wlr')
-rw-r--r--include/wlr/config.h.in2
-rw-r--r--include/wlr/render/egl.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/include/wlr/config.h.in b/include/wlr/config.h.in
index 94273fac..a7691ff9 100644
--- a/include/wlr/config.h.in
+++ b/include/wlr/config.h.in
@@ -1,6 +1,8 @@
#ifndef WLR_CONFIG_H
#define WLR_CONFIG_H
+#mesondefine WLR_HAS_EGLMESAEXT_H
+
#mesondefine WLR_HAS_LIBCAP
#mesondefine WLR_HAS_SYSTEMD
diff --git a/include/wlr/render/egl.h b/include/wlr/render/egl.h
index 50432887..c810b08e 100644
--- a/include/wlr/render/egl.h
+++ b/include/wlr/render/egl.h
@@ -16,10 +16,14 @@
#define EGL_NO_X11
#endif
+#include <wlr/config.h>
+
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#if WLR_HAS_EGLMESAEXT_H
// TODO: remove eglmesaext.h
#include <EGL/eglmesaext.h>
+#endif
#include <pixman.h>
#include <stdbool.h>
#include <wayland-server-core.h>