[mutter/gnome-3-28] EGL: Include EGL/eglmesaext.h



commit a532eeb07faa69c5700368d2280c402703512a20
Author: Jan Alexander Steffens (heftig) <jan steffens gmail com>
Date:   Sun Oct 20 12:04:31 2019 +0200

    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)

 cogl/configure.ac           | 13 ++++++++++---
 src/backends/meta-egl-ext.h |  1 +
 src/backends/meta-egl.c     |  1 +
 src/backends/meta-egl.h     |  1 +
 4 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/cogl/configure.ac b/cogl/configure.ac
index 3be282fc23..7c72d8140f 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 8705e7d5b3..db0b74f769 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 755ec49089..bd253c956f 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 060c7cd2dd..2fef2642eb 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 ()


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]