cogl/cogl/meson.build       | 2 +-
 src/backends/meta-egl-ext.h | 1 +
 src/backends/meta-egl.c     | 1 +
 src/backends/meta-egl.h     | 1 +
 4 files changed, 4 insertions(+), 1 deletion(-)

diff --git c/cogl/cogl/meson.build i/cogl/cogl/meson.build
index 1057ef955..9a642947d 100644
--- c/cogl/cogl/meson.build
+++ i/cogl/cogl/meson.build
@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file(
 built_headers += [cogl_gl_header_h]
 
 if have_egl
-  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
+  cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
 else
   cogl_egl_includes_string = ''
 endif
diff --git c/src/backends/meta-egl-ext.h i/src/backends/meta-egl-ext.h
index 8705e7d5b..db0b74f76 100644
--- c/src/backends/meta-egl-ext.h
+++ i/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 c/src/backends/meta-egl.c i/src/backends/meta-egl.c
index 6554be935..fdeff4f77 100644
--- c/src/backends/meta-egl.c
+++ i/src/backends/meta-egl.c
@@ -27,6 +27,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 c/src/backends/meta-egl.h i/src/backends/meta-egl.h
index f2a816445..4591e7d85 100644
--- c/src/backends/meta-egl.h
+++ i/src/backends/meta-egl.h
@@ -28,6 +28,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 ()