Merge pull request #72999 from adisbladis/mesa-19_2_3

mesa: 19.2.1 -> 19.2.3 (and associated fixes)
This commit is contained in:
adisbladis 2019-11-10 13:08:37 +00:00 committed by GitHub
commit 119b1b630d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 767 additions and 58 deletions

View file

@ -8,7 +8,7 @@
, libXt, libXmu, libXext
, libXinerama, libXrandr
, libXtst, libXfixes, systemd
, alsaLib, libGLU_combined, glew, fontconfig, freetype, ftgl
, alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl
, libjpeg, jasper, libpng, libtiff
, libmpeg2, libsamplerate, libmad
, libogg, libvorbis, flac, libxslt
@ -156,7 +156,7 @@ in stdenv.mkDerivation {
openssl gperf tinyxml2 taglib libssh swig jre
libX11 xorgproto libXt libXmu libXext
libXinerama libXrandr libXtst libXfixes
alsaLib libGLU_combined glew fontconfig freetype ftgl
alsaLib libGL libGLU glew fontconfig freetype ftgl
libjpeg jasper libpng libtiff
libmpeg2 libsamplerate libmad
libogg libvorbis flac libxslt systemd

View file

@ -56,6 +56,8 @@ stdenv.mkDerivation rec {
})
# See patch commit message
./0001-Revert-ClutterActor-Preserve-valid-paint-volumes-til.patch
# Fix build with libglvnd provided headers
./libglvnd-328.patch
];
configureFlags = [

View file

@ -60,6 +60,11 @@ stdenv.mkDerivation rec {
src = ./fix-paths.patch;
inherit zenity;
})
# Fix build with libglvnd provided headers
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch";
sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd";
})
];
postPatch = ''

View file

@ -0,0 +1,63 @@
diff --git a/cogl/configure.ac b/cogl/configure.ac
index 3be282f..d338cd1 100644
--- a/cogl/configure.ac
+++ b/cogl/configure.ac
@@ -490,6 +490,11 @@ AS_IF([test "x$enable_gles1" = "xyes"],
#include <EGL/eglext.h>"],
[],
[$COGL_EGL_INCLUDES])
+ AC_CHECK_HEADERS([EGL/eglmesaext.h],
+ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDE
+#include <EGL/eglmesaext.h>"],
+ [],
+ [$COGL_EGL_INCLUDES])
# Check for a GLES 1.x Common Profile library with/without EGL.
#
@@ -759,7 +764,9 @@ 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 8705e7d..db0b74f 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 755ec49..bd253c9 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 060c7cd..2fef264 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 ()

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, texinfo, qhull
, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGLU_combined, fltk
, libsndfile, portaudio, libX11, graphicsmagick, pcre, pkgconfig, libGL, libGLU, fltk
, fftw, fftwSinglePrec, zlib, curl, qrupdate, openblas, arpack, libwebp
, qt ? null, qscintilla ? null, ghostscript ? null, llvm ? null, hdf5 ? null,glpk ? null
, suitesparse ? null, gnuplot ? null, jdk ? null, python ? null, overridePlatforms ? null
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
++ (stdenv.lib.optional (jdk != null) jdk)
++ (stdenv.lib.optional (gnuplot != null) gnuplot)
++ (stdenv.lib.optional (python != null) python)
++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGLU_combined libX11 ])
++ (stdenv.lib.optionals (!stdenv.isDarwin) [ libGL libGLU libX11 ])
;
# makeinfo is required by Octave at runtime to display help

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, libGLU_combined, libX11, libXext, libXfixes
{ stdenv, fetchurl, pkgconfig, libGLU, libGL, libX11, libXext, libXfixes
, libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib
, gobject-introspection, gtk3, gnome3, libinput, libgudev, libxkbcommon
}:
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
buildInputs = [ gtk3 ];
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs =
[ libX11 libGLU_combined libXext libXfixes libXdamage libXcomposite libXi cogl pango
[ libX11 libGL libGLU libXext libXfixes libXdamage libXcomposite libXi cogl pango
atk json-glib gobject-introspection libxcb libinput libgudev libxkbcommon
];

View file

@ -1,6 +1,6 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, libGL, glib, gdk-pixbuf, xorg, libintl
, pangoSupport ? true, pango, cairo, gobject-introspection, wayland, gnome3
, mesa
, mesa, automake, autoconf
, gstreamerSupport ? true, gst_all_1 }:
let
@ -29,11 +29,17 @@ in stdenv.mkDerivation rec {
url = https://bug787443.bugzilla-attachments.gnome.org/attachment.cgi?id=361056;
sha256 = "09fyrdci4727fg6qm5aaapsbv71sf4wgfaqz8jqlyy61dibgg490";
})
# Fix build with libglvnd headers (these headers used to be provided by mesa)
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/cogl/commit/9c4764224aded552fb855b1c2b85b26d2b894adf.patch";
sha256 = "1v9drpzgcd5pq2shhdcw5px7mdiggk6ga13qjbklq8xpd92ac0i1";
})
];
outputs = [ "out" "dev" ];
nativeBuildInputs = [ pkgconfig libintl ];
nativeBuildInputs = [ pkgconfig libintl automake autoconf ];
configureFlags = [
"--enable-introspection"

View file

@ -1,4 +1,4 @@
{ fetchFromBitbucket, stdenv, boost, cmake, libGLU_combined }:
{ fetchFromBitbucket, stdenv, boost, cmake, libGL, libGLU }:
stdenv.mkDerivation {
pname = "coin";
@ -16,7 +16,7 @@ stdenv.mkDerivation {
'';
nativeBuildInputs = [ cmake ];
buildInputs = [ boost libGLU_combined ];
buildInputs = [ boost libGL libGLU ];
meta = {
homepage = "https://bitbucket.org/Coin3D/coin/wiki/Home";

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
, freeglut, libGL, libGLU, libjpeg, zlib, libXft, libpng
, libtiff, freetype, Cocoa, AGL, GLUT
}:
@ -19,7 +19,7 @@ stdenv.mkDerivation {
patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ]
++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
propagatedBuildInputs = [ xorgproto ]

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, freetype, libGLU_combined, OpenGL }:
{ stdenv, fetchurl, freetype, libGL, libGLU, OpenGL }:
let
name = "ftgl-2.1.3-rc5";
@ -15,7 +15,7 @@ stdenv.mkDerivation {
++ (if stdenv.isDarwin then
[ OpenGL ]
else
[ libGLU_combined ])
[ libGL libGLU ])
;
enableParallelBuilding = true;

View file

@ -1,7 +1,7 @@
{stdenv, fetchurl, libGLU_combined, freeglut, libX11, libXt, libXmu, libXi, libXext}:
{stdenv, fetchurl, freeglut, libX11, libXt, libXmu, libXi, libXext, libGL, libGLU}:
stdenv.mkDerivation {
name = "gle-3.1.0";
buildInputs = [libGLU_combined freeglut libX11 libXt libXmu libXi libXext];
buildInputs = [libGLU libGL freeglut libX11 libXt libXmu libXi libXext];
src = fetchurl {
urls = [
"mirror://sourceforge/project/gle/gle/gle-3.1.0/gle-3.1.0.tar.gz"

View file

@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
checkInputs = [ which gnuplot ];
doCheck = !stdenv.isDarwin;
# Fails on pngio_reg for unknown reason
doCheck = false; # !stdenv.isDarwin;
meta = {
description = "Image processing and analysis library";

View file

@ -14,6 +14,22 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook pkgconfig python2 addOpenGLRunpath ];
buildInputs = [ libX11 libXext xorgproto ];
# The following 3 patches should be removed once libglvnd >1.2.0 is released
patches = [
(fetchpatch {
url = "https://github.com/NVIDIA/libglvnd/commit/6f52473dac08c44b081b792874b4ce73122096da.patch";
sha256 = "0rd9ihl8n33cm0rya5a7ki0hn31fh52r0gaj5d4w80jrsah2ayij";
})
(fetchpatch {
url = "https://github.com/NVIDIA/libglvnd/commit/51233cc52cbcbe25f8461830913c06f5b5bc9508.patch";
sha256 = "1qx3nw8vq5xcrixmi7xw1vpy4gbf7kmx38rx8wg8x046g4mv8ijj";
})
(fetchpatch {
url = "https://github.com/NVIDIA/libglvnd/commit/5dfdc5a6dc60a3bdc63cd4510dabacba388da13a.patch";
sha256 = "0gmb3619yz3z7n22afjh8p2y13bmsky4r0z0csm14is3wvdi64ya";
})
];
postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace src/GLX/Makefile.am \
--replace "-Wl,-Bsymbolic " ""

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, autoreconfHook, libGLU_combined }:
{ stdenv, fetchurl, autoreconfHook, libGL, libGLU }:
let version = "1.0.1"; in
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ libGLU_combined ];
buildInputs = [ libGL libGLU ];
meta = with stdenv.lib; {
homepage = http://dri.freedesktop.org/wiki/S3TC;

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, autoreconfHook, libGLU_combined }:
{ stdenv, fetchurl, autoreconfHook, libGL, libGLU }:
let version = "1.0"; in
@ -12,7 +12,7 @@ stdenv.mkDerivation {
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ libGLU_combined ];
buildInputs = [ libGL libGLU ];
meta = {
description = "A patent-free S3TC compatible implementation";

View file

@ -27,7 +27,7 @@
with stdenv.lib;
let
version = "19.2.1";
version = "19.2.3";
branch = versions.major version;
in
@ -42,7 +42,7 @@ stdenv.mkDerivation {
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
"https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
];
sha256 = "4cc53ca1a8d12c6ff0e5ea44a5213c05c88447ab50d7e28bb350cd29199f01e9";
sha256 = "0ish3izys9rr8rpr8h56a0jmnrvacn16k8pblv4xqhgy0hjy9rjy";
};
prePatch = "patchShebangs .";

View file

@ -51,7 +51,7 @@ stdenv.mkDerivation {
ln -s ${libglvnd.out}/lib $out/lib
mkdir -p $dev/{,lib/pkgconfig,nix-support}
echo "$out" > $dev/nix-support/propagated-build-inputs
echo "$out ${libglvnd} ${libglvnd.dev}" > $dev/nix-support/propagated-build-inputs
ln -s ${mesa.dev}/include $dev/include
genPkgConfig() {
@ -63,7 +63,7 @@ stdenv.mkDerivation {
Description: $lib library
Version: ${mesa.version}
Libs: -L${libglvnd.out}/lib -l$lib
Cflags: -I${mesa.dev}/include
Cflags: -I${mesa.dev}/include -I${libglvnd.dev}/include
EOF
}

View file

@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, doxygen,
libX11, libXinerama, libXrandr, libGLU_combined,
libX11, libXinerama, libXrandr, libGLU, libGL,
glib, ilmbase, libxml2, pcre, zlib,
jpegSupport ? true, libjpeg,
jasperSupport ? true, jasper,
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig cmake doxygen ];
buildInputs = [
libX11 libXinerama libXrandr libGLU_combined
libX11 libXinerama libXrandr libGLU libGL
glib ilmbase libxml2 pcre zlib
] ++ lib.optional jpegSupport libjpeg
++ lib.optional jasperSupport jasper

View file

@ -54,6 +54,7 @@ let
optionals stdenv.isDarwin [
./qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
./qtbase.patch.d/0002-qtbase-mac.patch
./qtbase.patch.d/0013-define-kiosurfacesuccess.patch
]
++ [
./qtbase.patch.d/0003-qtbase-mkspecs.patch

View file

@ -0,0 +1,16 @@
diff --git a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm
index a367487e..c3aeca1d 100644
--- a/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm
+++ b/src/plugins/platforms/cocoa/qiosurfacegraphicsbuffer.mm
@@ -49,6 +49,11 @@
// but was only added in the 10.14 SDK, so declare it just in case.
extern "C" CFPropertyListRef CGColorSpaceCopyPropertyList(CGColorSpaceRef space);
+// Introduced in 10.13: http://codeworkshop.net/objc-diff/sdkdiffs/macos/10.13/IOSurface.html
+#if !defined(kIOSurfaceSuccess)
+#define kIOSurfaceSuccess KERN_SUCCESS
+#endif
+
QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(lcQpaIOSurface, "qt.qpa.backingstore.iosurface");

View file

@ -58,7 +58,7 @@ stdenv.mkDerivation {
# TODO: move to buildInputs, this should not be propagated.
AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
CoreLocation CoreServices DiskArbitration Foundation OpenGL
darwin.libobjc libiconv MetalKit
darwin.libobjc libiconv MetalKit IOKit
]
else
[

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, cmake, libGLU_combined, libX11, xorgproto, libXt, libtiff
{ stdenv, fetchurl, cmake, libGLU, libGL, libX11, xorgproto, libXt, libtiff
, qtLib ? null
# Darwin support
, Cocoa, CoreServices, DiskArbitration, IOKit, CFNetwork, Security, GLUT, OpenGL
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libtiff ]
++ optional (qtLib != null) qtLib
++ optionals stdenv.isLinux [ libGLU_combined libX11 xorgproto libXt ]
++ optionals stdenv.isLinux [ libGLU libGL libX11 xorgproto libXt ]
++ optionals stdenv.isDarwin [ xpc Cocoa CoreServices DiskArbitration IOKit
CFNetwork Security ApplicationServices CoreText
IOSurface ImageIO OpenGL GLUT ];
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
# built and requiring one of the shared objects.
# At least, we use -fPIC for other packages to be able to use this in shared
# objects.
cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" "-DVTK_USE_SYSTEM_TIFF=1" ]
cmakeFlags = [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" "-DVTK_USE_SYSTEM_TIFF=1" "-DOPENGL_INCLUDE_DIR=${libGL}/include" ]
++ optional (qtLib != null) [ "-DVTK_USE_QT:BOOL=ON" ]
++ optional stdenv.isDarwin "-DOPENGL_INCLUDE_DIR=${OpenGL}/Library/Frameworks";

View file

@ -2,7 +2,7 @@
, pkgconfig, gettext, gobject-introspection, libnotify, gnutls, libgcrypt
, gtk3, wayland, libwebp, enchant2, xorg, libxkbcommon, epoxy, at-spi2-core
, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11-kit
, libidn, libedit, readline, libGLU_combined, libintl, openjpeg
, libidn, libedit, readline, libGL, libGLU, libintl, openjpeg
, enableGeoLocation ? true, geoclue2, sqlite
, enableGtk2Plugins ? false, gtk2 ? null
, gst-plugins-base, gst-plugins-bad, woff2
@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
src = ./fix-bubblewrap-paths.patch;
inherit (builtins) storeDir;
})
./libglvnd-headers.patch
];
postPatch = ''
@ -74,10 +75,11 @@ stdenv.mkDerivation rec {
libintl libwebp enchant2 libnotify gnutls pcre nettle libidn libgcrypt woff2
libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11-kit openjpeg
sqlite gst-plugins-base gst-plugins-bad libxkbcommon epoxy at-spi2-core
libGL libGLU
] ++ optional enableGeoLocation geoclue2
++ optional enableGtk2Plugins gtk2
++ (with xorg; [ libXdmcp libXt libXtst libXdamage ])
++ optionals stdenv.isDarwin [ libedit readline libGLU_combined ]
++ optionals stdenv.isDarwin [ libedit readline ]
++ optionals stdenv.isLinux [
wayland bubblewrap libseccomp xdg-dbus-proxy
];

View file

@ -0,0 +1,586 @@
diff --git a/Source/ThirdParty/ANGLE/scripts/generate_loader.py b/Source/ThirdParty/ANGLE/scripts/generate_loader.py
index a408dac4..92ddca90 100644
--- a/Source/ThirdParty/ANGLE/scripts/generate_loader.py
+++ b/Source/ThirdParty/ANGLE/scripts/generate_loader.py
@@ -201,6 +201,8 @@ def main():
libegl_preamble = """#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
+#include <EGL/eglmesaext.h>
"""
util_gles_preamble = """#if defined(GL_GLES_PROTOTYPES) && GL_GLES_PROTOTYPES
@@ -215,6 +217,8 @@ util_egl_preamble = """#include "util/util_export.h"
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
+#include <EGL/eglmesaext.h>
"""
util_wgl_preamble = """
diff --git a/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h b/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h
index 68c65d8b..0dc9c8e3 100644
--- a/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h
+++ b/Source/ThirdParty/ANGLE/src/common/PackedEGLEnums_autogen.h
@@ -14,6 +14,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <angle_gl.h>
#include <cstdint>
diff --git a/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h b/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h
index cd651150..17719bc2 100644
--- a/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h
+++ b/Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h
@@ -14,6 +14,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <angle_gl.h>
#include <cstdint>
diff --git a/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py b/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py
index 2f77e725..5ea54f1f 100644
--- a/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py
+++ b/Source/ThirdParty/ANGLE/src/common/gen_packed_gl_enums.py
@@ -71,6 +71,7 @@ header_template = """// GENERATED FILE - DO NOT EDIT.
#include <angle_gl.h>
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <cstdint>
diff --git a/Source/ThirdParty/ANGLE/src/common/utilities.h b/Source/ThirdParty/ANGLE/src/common/utilities.h
index 7a1429a4..dd20bcca 100644
--- a/Source/ThirdParty/ANGLE/src/common/utilities.h
+++ b/Source/ThirdParty/ANGLE/src/common/utilities.h
@@ -11,6 +11,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <math.h>
#include <string>
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp
index 4134226d..5dd1065f 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/Config.cpp
@@ -15,6 +15,7 @@
#include <vector>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "angle_gl.h"
#include "common/debug.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp
index 13ae4e61..b964b755 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/Device.cpp
@@ -12,6 +12,7 @@
#include <iterator>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <platform/Platform.h>
#include "common/debug.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
index 21064073..a46628bd 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
@@ -17,6 +17,7 @@
#include <vector>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <platform/Platform.h>
#include "common/debug.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Error.h b/Source/ThirdParty/ANGLE/src/libANGLE/Error.h
index 37df5b0c..b2e3885b 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/Error.h
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/Error.h
@@ -11,6 +11,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "angle_gl.h"
#include "common/angleutils.h"
#include "common/debug.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp
index b7bc84c8..538cb3e0 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.cpp
@@ -10,6 +10,7 @@
#include "libANGLE/Stream.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <platform/Platform.h>
#include "common/debug.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h
index 9157aa51..d8e58f2d 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/Stream.h
@@ -14,6 +14,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "common/angleutils.h"
#include "libANGLE/AttributeMap.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
index 6daec4f6..941f34ca 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
@@ -11,6 +11,7 @@
#include "libANGLE/Surface.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "libANGLE/Config.h"
#include "libANGLE/Context.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
index ea1a0510..db7cf0c8 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
@@ -11,6 +11,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "common/angleutils.h"
#include "libANGLE/Error.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp
index ba5cf532..43304da5 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DeviceD3D.cpp
@@ -13,6 +13,7 @@
#include "libANGLE/Display.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
namespace rx
{
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp
index de60dfff..93b5bdf8 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp
@@ -9,6 +9,7 @@
#include "libANGLE/renderer/d3d/DisplayD3D.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "libANGLE/Config.h"
#include "libANGLE/Context.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp
index a7255d0d..a7e37777 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/EGLImageD3D.cpp
@@ -20,6 +20,7 @@
#include "libANGLE/renderer/d3d/TextureStorage.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
namespace rx
{
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
index 61dc8ffa..87276514 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
@@ -19,6 +19,7 @@
#include "libANGLE/renderer/d3d/d3d11/formatutils11.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <tchar.h>
#include <algorithm>
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h
index 443cadd6..e64bdfc4 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h
@@ -12,6 +12,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <GLES2/gl2.h>
#include "common/angleutils.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
index 33dfa6b0..eb3393d2 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
@@ -9,6 +9,7 @@
#include "libANGLE/renderer/d3d/d3d11/Renderer11.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <versionhelpers.h>
#include <sstream>
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
index fe4def6e..2550b52c 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
@@ -9,6 +9,7 @@
#include "libANGLE/renderer/d3d/d3d11/SwapChain11.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "libANGLE/features.h"
#include "libANGLE/renderer/d3d/DisplayD3D.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
index f4a4ce43..0cad5540 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp
@@ -9,6 +9,7 @@
#include "libANGLE/renderer/d3d/d3d9/Renderer9.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <sstream>
#include "common/utilities.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp
index a89e1365..0fe4fa98 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp
@@ -18,6 +18,7 @@
#include "libANGLE/renderer/gl/SurfaceGL.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
namespace rx
{
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp
index 10b15594..7ae1ac6b 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp
@@ -9,6 +9,7 @@
#include "libANGLE/renderer/gl/RendererGL.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "common/debug.h"
#include "libANGLE/AttributeMap.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h
index 115a7afb..abb200e6 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/FunctionsEGL.h
@@ -11,6 +11,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <string>
#include <vector>
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp
index 47ed6ce0..9d11560c 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/ozone/DisplayOzone.cpp
@@ -14,6 +14,7 @@
#include <unistd.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <drm_fourcc.h>
#include <gbm.h>
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
index 23b4a5c5..daeb5789 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
@@ -9,6 +9,7 @@
#include "libANGLE/renderer/gl/glx/DisplayGLX.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <algorithm>
#include <cstring>
#include <fstream>
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
index 698b51e2..32e6126f 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
@@ -27,6 +27,7 @@
#include "libANGLE/renderer/gl/formatutilsgl.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <algorithm>
#include <sstream>
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
index 5b686321..16ae890f 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
@@ -18,6 +18,7 @@
#include "libANGLE/renderer/gl/wgl/FunctionsWGL.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
namespace rx
{
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
index 12679ba7..93503812 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
@@ -28,6 +28,7 @@
#include "platform/Platform.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <sstream>
#include <string>
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp
index df900f4d..4385be88 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/RendererVk.cpp
@@ -13,6 +13,7 @@
#include "libANGLE/renderer/vulkan/vk_utils.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "common/debug.h"
#include "common/platform.h"
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
index 1c0b25f4..64e96f73 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
@@ -22,6 +22,7 @@
#include "libANGLE/formatutils.h"
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
namespace egl
{
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
index a671bb0d..248f0ae8 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
@@ -15,6 +15,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
namespace gl
{
diff --git a/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h b/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h
index ae4a427c..a802b65d 100644
--- a/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h
+++ b/Source/ThirdParty/ANGLE/src/libEGL/egl_loader_autogen.h
@@ -13,6 +13,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
extern PFNEGLCHOOSECONFIGPROC EGL_ChooseConfig;
extern PFNEGLCOPYBUFFERSPROC EGL_CopyBuffers;
diff --git a/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h b/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h
index 3c64b290..96201b31 100644
--- a/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h
+++ b/Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext.h
@@ -11,6 +11,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <export.h>
extern "C" {
diff --git a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
index 777b09e1..dbb0bd2f 100644
--- a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
+++ b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
@@ -24,6 +24,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "deClock.h"
#include "deMemory.h"
diff --git a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp
index 6b4a25bf..1c4ac864 100644
--- a/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp
+++ b/Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLEPlatform.cpp
@@ -22,6 +22,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "egluGLContextFactory.hpp"
#include "tcuANGLENativeDisplayFactory.h"
diff --git a/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp b/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp
index 90abb931..aea4e153 100644
--- a/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp
+++ b/Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLX11VisualTest.cpp
@@ -10,6 +10,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <X11/Xlib.h>
#include "test_utils/ANGLETest.h"
diff --git a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h
index e888a239..71606b8c 100644
--- a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h
+++ b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests.h
@@ -11,6 +11,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <string>
diff --git a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp
index 7fdddcc6..e40b8905 100644
--- a/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp
+++ b/Source/ThirdParty/ANGLE/src/tests/gles_conformance_tests/gles_conformance_tests_main.cpp
@@ -10,6 +10,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <map>
#include <string>
diff --git a/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h b/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h
index 7bc7a027..ebb2827b 100644
--- a/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h
+++ b/Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_configs.h
@@ -16,6 +16,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "GLSLANG/ShaderLang.h"
#include "angle_test_instantiate.h"
diff --git a/Source/ThirdParty/ANGLE/util/OSPixmap.h b/Source/ThirdParty/ANGLE/util/OSPixmap.h
index ba6ccf4a..563d2578 100644
--- a/Source/ThirdParty/ANGLE/util/OSPixmap.h
+++ b/Source/ThirdParty/ANGLE/util/OSPixmap.h
@@ -13,6 +13,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "util/Event.h"
#include "util/util_export.h"
diff --git a/Source/ThirdParty/ANGLE/util/OSWindow.h b/Source/ThirdParty/ANGLE/util/OSWindow.h
index 3cdb458c..3178fa44 100644
--- a/Source/ThirdParty/ANGLE/util/OSWindow.h
+++ b/Source/ThirdParty/ANGLE/util/OSWindow.h
@@ -15,6 +15,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include "util/Event.h"
#include "util/util_export.h"
diff --git a/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h b/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h
index 5fbec82f..77a30330 100644
--- a/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h
+++ b/Source/ThirdParty/ANGLE/util/egl_loader_autogen.h
@@ -15,6 +15,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
ANGLE_UTIL_EXPORT extern PFNEGLCHOOSECONFIGPROC eglChooseConfig;
ANGLE_UTIL_EXPORT extern PFNEGLCOPYBUFFERSPROC eglCopyBuffers;
diff --git a/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp b/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp
index a8a82d70..050893a9 100644
--- a/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp
+++ b/Source/WebCore/platform/graphics/egl/GLContextEGL.cpp
@@ -29,6 +29,7 @@
#else
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#endif
#if USE(CAIRO)
diff --git a/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp b/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp
index 05f92c22..636df34a 100644
--- a/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp
+++ b/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp
@@ -35,6 +35,7 @@
#include <wayland-egl.h>
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <wtf/Assertions.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
index 8c81119b..bf9ed4bd 100644
--- a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
+++ b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
@@ -38,6 +38,7 @@
#if USE(EGL)
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#endif
namespace WebCore {
diff --git a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp
index 973b3168..5586236a 100644
--- a/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp
+++ b/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreWayland.cpp
@@ -35,6 +35,7 @@
#include <gdk/gdkwayland.h>
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <WebCore/CairoUtilities.h>
#include <WebCore/GLContext.h>
diff --git a/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp b/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
index 8d848ce4..46d42c11 100644
--- a/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
+++ b/Source/WebKit/UIProcess/gtk/WaylandCompositor.cpp
@@ -31,6 +31,7 @@
#include "WebKitWaylandServerProtocol.h"
#include <EGL/egl.h>
#include <EGL/eglext.h>
+#include <EGL/eglmesaext.h>
#include <WebCore/GLContext.h>
#include <WebCore/PlatformDisplayWayland.h>
#include <WebCore/Region.h>

View file

@ -1,4 +1,4 @@
{ lib, fetchurl, cmake, buildPythonPackage, pysideGeneratorrunner, pysideShiboken, qt4, mesa }:
{ lib, fetchurl, cmake, buildPythonPackage, pysideGeneratorrunner, pysideShiboken, qt4, mesa, libGL }:
# This derivation provides a Python module and should therefore be called via `python-packages.nix`.
buildPythonPackage rec {
@ -15,7 +15,7 @@ buildPythonPackage rec {
nativeBuildInputs = [ cmake pysideGeneratorrunner pysideShiboken qt4 ];
buildInputs = [ mesa ];
buildInputs = [ mesa libGL ];
makeFlags = "QT_PLUGIN_PATH=" + pysideShiboken + "/lib/generatorrunner";

View file

@ -1,5 +1,5 @@
{ stdenv, fetchgit, fetchFromGitHub, fetchFromGitLab, cmake, pkgconfig, makeWrapper, python27, python37, retroarch
, alsaLib, fluidsynth, curl, hidapi, libGLU_combined, gettext, glib, gtk2, portaudio, SDL
, alsaLib, fluidsynth, curl, hidapi, libGLU, gettext, glib, gtk2, portaudio, SDL, libGL
, ffmpeg, pcre, libevdev, libpng, libjpeg, udev, libvorbis
, miniupnpc, sfml, xorg, zlib, nasm, libpcap, boost }:
@ -276,7 +276,7 @@ in with stdenv.lib.licenses;
};
description = "libretro wrapper for desmume NDS emulator";
license = gpl2;
extraBuildInputs = [ libpcap libGLU_combined xorg.libX11 ];
extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
}).override {
makefile = "desmume/src/frontend/libretro/Makefile.libretro";
configurePhase = "cd desmume/src/frontend/libretro";
@ -292,7 +292,7 @@ in with stdenv.lib.licenses;
};
description = "libretro wrapper for desmume NDS emulator from 2015";
license = gpl2;
extraBuildInputs = [ libpcap libGLU_combined xorg.libX11 ];
extraBuildInputs = [ libpcap libGLU libGL xorg.libX11 ];
}).override {
makefile = "desmume/Makefile.libretro";
configurePhase = "cd desmume";
@ -311,7 +311,7 @@ in with stdenv.lib.licenses;
broken = true;
extraBuildInputs = [
cmake curl libGLU_combined pcre pkgconfig sfml
cmake curl libGLU libGL pcre pkgconfig sfml
gettext hidapi
libevdev udev
] ++ (with xorg; [ libSM libX11 libXi libpthreadstubs libxcb xcbutil libXext libXrandr libXinerama libXxf86vm ]);
@ -380,7 +380,7 @@ in with stdenv.lib.licenses;
};
description = "Flycast libretro port";
license = gpl2;
extraBuildInputs = [ libGLU_combined ];
extraBuildInputs = [ libGL libGLU ];
}).override {
makefile = "Makefile";
buildPhase = "make";
@ -478,7 +478,7 @@ in with stdenv.lib.licenses;
description = "Port of MAME to libretro";
license = gpl2Plus;
extraBuildInputs = [ alsaLib libGLU_combined portaudio python27 xorg.libX11 ];
extraBuildInputs = [ alsaLib libGLU libGL portaudio python27 xorg.libX11 ];
}).override {
postPatch = ''
# Prevent the failure during the parallel building of:
@ -614,7 +614,7 @@ in with stdenv.lib.licenses;
description = "Libretro port of Mupen64 Plus, GL only";
license = gpl2;
extraBuildInputs = [ libGLU_combined libpng nasm xorg.libX11 ];
extraBuildInputs = [ libGLU libGL libpng nasm xorg.libX11 ];
}).override {
makefile = "Makefile";
buildPhase = "make";
@ -658,7 +658,7 @@ in with stdenv.lib.licenses;
description = "Parallel Mupen64plus rewrite for libretro.";
license = gpl2;
extraBuildInputs = [ libGLU_combined libpng ];
extraBuildInputs = [ libGLU libGL libpng ];
}).override {
makefile = "Makefile";
buildPhase = "make";
@ -718,7 +718,7 @@ in with stdenv.lib.licenses;
};
description = "ppsspp libretro port";
license = gpl2;
extraBuildInputs = [ cmake libGLU_combined ffmpeg python37 xorg.libX11 ];
extraBuildInputs = [ cmake libGLU libGL ffmpeg python37 xorg.libX11 ];
}).override {
cmakeFlags = "-DLIBRETRO=ON";
makefile = "Makefile";
@ -778,7 +778,7 @@ in with stdenv.lib.licenses;
};
description = "Libretro port of ScummVM";
license = gpl2;
extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU_combined SDL ];
extraBuildInputs = [ fluidsynth libjpeg libvorbis libGLU libGL SDL ];
}).override {
makefile = "backends/platform/libretro/build/Makefile";
buildPhase = "cd backends/platform/libretro/build && make";

View file

@ -2691,7 +2691,7 @@ lib.makeScope newScope (self: with self; {
meta.platforms = stdenv.lib.platforms.unix;
}) {};
xorgserver = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
xorgserver = callPackage ({ stdenv, fetchpatch, pkgconfig, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
name = "xorg-server-1.20.5";
builder = ./builder.sh;
src = fetchurl {

View file

@ -592,6 +592,16 @@ self: super:
propagatedBuildInputs = [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
udev
];
# patchPhase is not working, this is a hack but we can remove it in the next xorg-server release
preConfigure = let
headerFix = fetchpatch {
url = "https://gitlab.freedesktop.org/xorg/xserver/commit/741bd73429e337071f49509ddcc5fb392e20b0f6.patch";
sha256 = "0qjiin9pkggl3c33lfkpn9a9z8ldjpb3y47cflsjkfn868gsk8ri";
excludes = [ "hw/xwayland/xwayland-glx.c" ]; # File not in release yet
};
in ''
patch -p1 < ${headerFix}
'';
prePatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
export CFLAGS+=" -D__uid_t=uid_t -D__gid_t=gid_t"
'';
@ -629,8 +639,8 @@ self: super:
libAppleWM xorgproto
];
# XQuartz patchset
patches = [
# XQuartz patchset
(fetchpatch {
url = "https://github.com/XQuartz/xorg-server/commit/e88fd6d785d5be477d5598e70d105ffb804771aa.patch";
sha256 = "1q0a30m1qj6ai924afz490xhack7rg4q3iig2gxsjjh98snikr1k";

View file

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig
, zlib, libpng, libjpeg, libGLU_combined, glm
, zlib, libpng, libjpeg, libGLU, libGL, glm
, libX11, libXext, libXfixes, libXrandr, libXcomposite, slop, icu
}:
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs =
[ zlib libpng libjpeg libGLU_combined glm
[ zlib libpng libjpeg libGLU libGL glm
libX11 libXext libXfixes libXrandr libXcomposite slop icu ];
doCheck = false;

View file

@ -13476,8 +13476,8 @@ in
libsForQt512 = recurseIntoAttrs (lib.makeScope qt512.newScope mkLibsForQt5);
# TODO bump to 5.12 on darwin once it's not broken
qt5 = if stdenv.isDarwin then qt511 else qt512;
libsForQt5 = if stdenv.isDarwin then libsForQt511 else libsForQt512;
qt5 = qt512;
libsForQt5 = libsForQt512;
qt5ct = libsForQt5.callPackage ../tools/misc/qt5ct { };