summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Alexander Steffens (heftig) <jan.steffens@gmail.com>2019-10-20 12:04:31 +0200
committerMarco Trevisan (TreviƱo) <mail@3v1n0.net>2020-09-23 21:28:34 +0200
commita532eeb07faa69c5700368d2280c402703512a20 (patch)
treecb9ccc8914bb452774f9c05820144764746c1cd4
parent079a625eaa39ee3adbd8b7e5bc206f3153ee3fd2 (diff)
downloadmutter-a532eeb07faa69c5700368d2280c402703512a20.tar.gz
EGL: Include EGL/eglmesaext.h
The eglext.h shipped by libglvnd does not include the Mesa extensions, unlike the header shipped in Mesa. Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876 (cherry-picked from commit a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90)
-rw-r--r--cogl/configure.ac13
-rw-r--r--src/backends/meta-egl-ext.h1
-rw-r--r--src/backends/meta-egl.c1
-rw-r--r--src/backends/meta-egl.h1
4 files changed, 13 insertions, 3 deletions
diff --git a/cogl/configure.ac b/cogl/configure.ac
index 3be282fc2..7c72d8140 100644
--- a/cogl/configure.ac
+++ b/cogl/configure.ac
@@ -485,9 +485,10 @@ AS_IF([test "x$enable_gles1" = "xyes"],
[AC_MSG_ERROR([Unable to locate EGL header])])
AC_SUBST([COGL_EGL_INCLUDES])
- AC_CHECK_HEADERS([EGL/eglext.h],
+ AC_CHECK_HEADERS([EGL/eglext.h EGL/eglmesaext.h],
[COGL_EGL_INCLUDES="$COGL_EGL_INCLUDE
-#include <EGL/eglext.h>"],
+#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>"],
[],
[$COGL_EGL_INCLUDES])
@@ -749,6 +750,11 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
[],
[AC_MSG_ERROR([Unable to locate required EGL headers])],
[#include <EGL/egl.h>])
+ AC_CHECK_HEADERS(
+ [EGL/eglmesaext.h],
+ [],
+ [AC_MSG_ERROR([Unable to locate required EGL headers])],
+ [#include <EGL/eglmesaext.h>])
AC_CHECK_LIB(EGL, [eglInitialize],
[COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"],
@@ -759,7 +765,8 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
)
COGL_EGL_INCLUDES="#include <EGL/egl.h>
-#include <EGL/eglext.h>"
+#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>"
AC_SUBST([COGL_EGL_INCLUDES])
])
diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
index 8705e7d5b..db0b74f76 100644
--- a/src/backends/meta-egl-ext.h
+++ b/src/backends/meta-egl-ext.h
@@ -29,6 +29,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
/*
* This is a little different to the tests shipped with EGL implementations,
diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
index 755ec4908..bd253c956 100644
--- a/src/backends/meta-egl.c
+++ b/src/backends/meta-egl.c
@@ -31,6 +31,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <gio/gio.h>
#include <glib.h>
#include <glib-object.h>
diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
index 060c7cd2d..2fef2642e 100644
--- a/src/backends/meta-egl.h
+++ b/src/backends/meta-egl.h
@@ -27,6 +27,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <glib-object.h>
#define META_EGL_ERROR meta_egl_error_quark ()