diff --git a/.gitignore b/.gitignore
index dc176ee..6200ec5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/libglvnd-5baa1e5.tar.gz
+SOURCES/libglvnd-1.2.0.tar.gz
diff --git a/.libglvnd.metadata b/.libglvnd.metadata
index 8a52842..07007ee 100644
--- a/.libglvnd.metadata
+++ b/.libglvnd.metadata
@@ -1 +1 @@
-24d2da61c11750acd880ee3f9ad4ee9ca4d4f521 SOURCES/libglvnd-5baa1e5.tar.gz
+719e1001e235f84d104a2c6ae922f145f3276d20 SOURCES/libglvnd-1.2.0.tar.gz
diff --git a/SOURCES/egl-sync-with-khronos.patch b/SOURCES/egl-sync-with-khronos.patch
new file mode 100644
index 0000000..9f048e4
--- /dev/null
+++ b/SOURCES/egl-sync-with-khronos.patch
@@ -0,0 +1,42 @@
+diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
+index 29ab288b57eb6ccce0476f0e76c8b4da94225091..5ab49c1d4ea4564cc5d94a2a7ffa842ac6b3eeb1 100644
+--- a/include/EGL/eglplatform.h
++++ b/include/EGL/eglplatform.h
+@@ -116,6 +116,12 @@ typedef intptr_t EGLNativeDisplayType;
+ typedef intptr_t EGLNativePixmapType;
+ typedef intptr_t EGLNativeWindowType;
+
++#elif defined(__unix__) && defined(EGL_NO_X11)
++
++typedef void *EGLNativeDisplayType;
++typedef khronos_uintptr_t EGLNativePixmapType;
++typedef khronos_uintptr_t EGLNativeWindowType;
++
+ #elif defined(__unix__) || defined(USE_X11)
+
+ /* X11 (tentative) */
+diff --git a/src/generate/xml/egl.xml b/src/generate/xml/egl.xml
+index c27f1726b677f311d792a136e86c5e01ae467e5f..6bc2ea2886aaf628d9741a7de2629bd8e38f37c8 100644
+--- a/src/generate/xml/egl.xml
++++ b/src/generate/xml/egl.xml
+@@ -1002,6 +1002,9 @@
+
+
+
++
++
++
+
+
+-
+-
++
++
+
+
+
diff --git a/SOURCES/update-gl-h-to-match-mesa.patch b/SOURCES/update-gl-h-to-match-mesa.patch
new file mode 100644
index 0000000..9e1f26a
--- /dev/null
+++ b/SOURCES/update-gl-h-to-match-mesa.patch
@@ -0,0 +1,245 @@
+From 5dfdc5a6dc60a3bdc63cd4510dabacba388da13a Mon Sep 17 00:00:00 2001
+From: Kyle Brenneman
+Date: Tue, 22 Oct 2019 16:46:09 -0600
+Subject: [PATCH] Update GL/gl.h to match Mesa.
+
+Updated GL/gl.h to match the copy from Mesa at commit
+a0829cf23b307ca44ab8c4505974fb7c8d71a35a.
+---
+ include/GL/gl.h | 147 ++++++------------------------------------------
+ 1 file changed, 17 insertions(+), 130 deletions(-)
+
+diff --git a/include/GL/gl.h b/include/GL/gl.h
+index 3f8cb62..2518dfb 100644
+--- a/include/GL/gl.h
++++ b/include/GL/gl.h
+@@ -27,40 +27,24 @@
+ #ifndef __gl_h_
+ #define __gl_h_
+
+-#if defined(USE_MGL_NAMESPACE)
+-#include "gl_mangle.h"
+-#endif
+-
+-
+ /**********************************************************************
+- * Begin system-specific stuff. Do not do any of this when building
+- * for SciTech SNAP, as this is all done before this header file is
+- * included.
++ * Begin system-specific stuff.
+ */
+-#if !defined(__SCITECH_SNAP__)
+-
+-#if defined(__BEOS__)
+-#include /* to get some BeOS-isms */
+-#endif
+-
+-#if !defined(OPENSTEP) && (defined(NeXT) || defined(NeXT_PDO))
+-#define OPENSTEP
+-#endif
+
+ #if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__)
+ #define __WIN32__
+ #endif
+
+-#if !defined(OPENSTEP) && (defined(__WIN32__) && !defined(__CYGWIN__))
++#if defined(__WIN32__) && !defined(__CYGWIN__)
+ # if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
+ # define GLAPI __declspec(dllexport)
+ # elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
+ # define GLAPI __declspec(dllimport)
+ # else /* for use with static link lib build of Win32 edition only */
+ # define GLAPI extern
+-# endif /* _STATIC_MESA support */
++# endif
+ # if defined(__MINGW32__) && defined(GL_NO_STDCALL) || defined(UNDER_CE) /* The generated DLLs by MingW with STDCALL are not compatible with the ones done by Microsoft's compilers */
+-# define GLAPIENTRY
++# define GLAPIENTRY
+ # else
+ # define GLAPIENTRY __stdcall
+ # endif
+@@ -72,10 +56,6 @@
+ # define GLAPIENTRY
+ #endif /* WIN32 && !CYGWIN */
+
+-#if (defined(__BEOS__) && defined(__POWERPC__)) || defined(__QUICKDRAW__)
+-# define PRAGMA_EXPORT_SUPPORTED 1
+-#endif
+-
+ /*
+ * WINDOWS: Include windows.h here to define APIENTRY.
+ * It is also useful when applications include this file by
+@@ -91,10 +71,6 @@
+ #include
+ #endif
+
+-#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
+-#pragma import on
+-#endif
+-
+ #ifndef GLAPI
+ #define GLAPI extern
+ #endif
+@@ -116,15 +92,6 @@
+ #define GLAPIENTRYP GLAPIENTRY *
+ #endif
+
+-#ifdef CENTERLINE_CLPP
+-#define signed
+-#endif
+-
+-#if defined(PRAGMA_EXPORT_SUPPORTED)
+-#pragma export on
+-#endif
+-
+-#endif /* !__SCITECH_SNAP__ */
+ /*
+ * End system-specific stuff.
+ **********************************************************************/
+@@ -718,7 +685,7 @@ typedef double GLclampd; /* double precision float in [0,1] */
+ #define GL_LIST_BIT 0x00020000
+ #define GL_TEXTURE_BIT 0x00040000
+ #define GL_SCISSOR_BIT 0x00080000
+-#define GL_ALL_ATTRIB_BITS 0x000FFFFF
++#define GL_ALL_ATTRIB_BITS 0xFFFFFFFF
+
+
+ /* OpenGL 1.1 */
+@@ -1738,6 +1705,7 @@ GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
+
+
+
++
+ /*
+ * OpenGL 1.3
+ */
+@@ -2085,26 +2053,6 @@ typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLsh
+
+
+
+-#if GL_ARB_shader_objects
+-
+-#ifndef GL_MESA_shader_debug
+-#define GL_MESA_shader_debug 1
+-
+-#define GL_DEBUG_OBJECT_MESA 0x8759
+-#define GL_DEBUG_PRINT_MESA 0x875A
+-#define GL_DEBUG_ASSERT_MESA 0x875B
+-
+-GLAPI GLhandleARB GLAPIENTRY glCreateDebugObjectMESA (void);
+-GLAPI void GLAPIENTRY glClearDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
+-GLAPI void GLAPIENTRY glGetDebugLogMESA (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength,
+- GLsizei *length, GLcharARB *debugLog);
+-GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logType, GLenum shaderType);
+-
+-#endif /* GL_MESA_shader_debug */
+-
+-#endif /* GL_ARB_shader_objects */
+-
+-
+ /*
+ * ???. GL_MESA_packed_depth_stencil
+ * XXX obsolete
+@@ -2121,60 +2069,6 @@ GLAPI GLsizei GLAPIENTRY glGetDebugLogLengthMESA (GLhandleARB obj, GLenum logTyp
+ #endif /* GL_MESA_packed_depth_stencil */
+
+
+-#ifndef GL_MESA_program_debug
+-#define GL_MESA_program_debug 1
+-
+-#define GL_FRAGMENT_PROGRAM_POSITION_MESA 0x8bb0
+-#define GL_FRAGMENT_PROGRAM_CALLBACK_MESA 0x8bb1
+-#define GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA 0x8bb2
+-#define GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA 0x8bb3
+-#define GL_VERTEX_PROGRAM_POSITION_MESA 0x8bb4
+-#define GL_VERTEX_PROGRAM_CALLBACK_MESA 0x8bb5
+-#define GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA 0x8bb6
+-#define GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA 0x8bb7
+-
+-typedef void (*GLprogramcallbackMESA)(GLenum target, GLvoid *data);
+-
+-GLAPI void GLAPIENTRY glProgramCallbackMESA(GLenum target, GLprogramcallbackMESA callback, GLvoid *data);
+-
+-GLAPI void GLAPIENTRY glGetProgramRegisterfvMESA(GLenum target, GLsizei len, const GLubyte *name, GLfloat *v);
+-
+-#endif /* GL_MESA_program_debug */
+-
+-
+-#ifndef GL_MESA_texture_array
+-#define GL_MESA_texture_array 1
+-
+-/* GL_MESA_texture_array uses the same enum values as GL_EXT_texture_array.
+- */
+-#ifndef GL_EXT_texture_array
+-
+-#ifdef GL_GLEXT_PROTOTYPES
+-GLAPI void APIENTRY glFramebufferTextureLayerEXT(GLenum target,
+- GLenum attachment, GLuint texture, GLint level, GLint layer);
+-#endif /* GL_GLEXT_PROTOTYPES */
+-
+-#if 0
+-/* (temporarily) disabled because of collision with typedef in glext.h
+- * that happens if apps include both gl.h and glext.h
+- */
+-typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target,
+- GLenum attachment, GLuint texture, GLint level, GLint layer);
+-#endif
+-
+-#define GL_TEXTURE_1D_ARRAY_EXT 0x8C18
+-#define GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19
+-#define GL_TEXTURE_2D_ARRAY_EXT 0x8C1A
+-#define GL_PROXY_TEXTURE_2D_ARRAY_EXT 0x8C1B
+-#define GL_TEXTURE_BINDING_1D_ARRAY_EXT 0x8C1C
+-#define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D
+-#define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF
+-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT 0x8CD4
+-#endif
+-
+-#endif
+-
+-
+ #ifndef GL_ATI_blend_equation_separate
+ #define GL_ATI_blend_equation_separate 1
+
+@@ -2186,27 +2080,20 @@ typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLen
+ #endif /* GL_ATI_blend_equation_separate */
+
+
+-/**
+- ** NOTE!!!!! If you add new functions to this file, or update
+- ** glext.h be sure to regenerate the gl_mangle.h file. See comments
+- ** in that file for details.
+- **/
+-
+-
+-
+-/**********************************************************************
+- * Begin system-specific stuff
+- */
+-#if defined(PRAGMA_EXPORT_SUPPORTED)
+-#pragma export off
++/* GL_OES_EGL_image */
++#if !defined(GL_OES_EGL_image) && !defined(GL_EXT_EGL_image_storage)
++typedef void* GLeglImageOES;
+ #endif
+
+-#if defined(macintosh) && PRAGMA_IMPORT_SUPPORTED
+-#pragma import off
++#ifndef GL_OES_EGL_image
++#define GL_OES_EGL_image 1
++#ifdef GL_GLEXT_PROTOTYPES
++GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
++GLAPI void APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
++#endif
++typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
++typedef void (APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
+ #endif
+-/*
+- * End system-specific stuff
+- **********************************************************************/
+
+
+ #ifdef __cplusplus
+--
+2.22.0
+
diff --git a/SPECS/libglvnd.spec b/SPECS/libglvnd.spec
index f9045fd..dd951d2 100644
--- a/SPECS/libglvnd.spec
+++ b/SPECS/libglvnd.spec
@@ -1,23 +1,25 @@
-%global commit0 5baa1e5cfc422eb53e66f12ffb80c93d4a693cd9
-%global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
+#global commit0 5baa1e5cfc422eb53e66f12ffb80c93d4a693cd9
+#global shortcommit0 %%(c=%%{commit0}; echo ${c:0:7})
%if 0%{?rhel} && 0%{?rhel} <= 7
%global _without_mesa_glvnd_default 1
%endif
Name: libglvnd
-Version: 1.0.1
-Release: 0.9%{?commit0:.git%{shortcommit0}}%{?dist}
+Version: 1.2.0
+Release: 6%{?commit0:.git%{shortcommit0}}%{?dist}
# Provide an upgrade path from the negativo17.org pkgs which have Epoch 1
Epoch: 1
Summary: The GL Vendor-Neutral Dispatch library
License: MIT
URL: https://github.com/NVIDIA/libglvnd
-#Source0: %%{url}/archive/v%%{version}/%%{name}-%%{version}.tar.gz
-Source0: %{url}/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz
+Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
+#Source0: %%{url}/archive/%%{commit0}.tar.gz#/%%{name}-%%{shortcommit0}.tar.gz
Patch0: libglvnd-python3.patch
Patch1: 0001-glx-Add-another-fallback-library-name.patch
+Patch2: egl-sync-with-khronos.patch
+Patch3: update-gl-h-to-match-mesa.patch
BuildRequires: libtool
BuildRequires: gcc
@@ -62,6 +64,21 @@ Requires: %{name}-gles%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-glx%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-egl%{?_isa} = %{epoch}:%{version}-%{release}
Requires: %{name}-core-devel%{?_isa} = %{epoch}:%{version}-%{release}
+# Required by any glx.h users.
+Requires: libX11-devel%{?_isa}
+# We might split into more sub-packages
+Obsoletes: mesa-libGLES-devel < 19.3.0~rc1
+Provides: mesa-libGLES-devel = %{epoch}:%{version}-%{release}
+Provides: mesa-libGLES-devel%{?_isa} = %{epoch}:%{version}-%{release}
+Obsoletes: mesa-khr-devel < 19.3.0~rc1
+Provides: mesa-khr-devel = %{epoch}:%{version}-%{release}
+Provides: mesa-khr-devel%{?_isa} = %{epoch}:%{version}-%{release}
+Provides: libGLES-devel = %{epoch}:%{version}-%{release}
+Provides: libGLES-devel%{?_isa} = %{epoch}:%{version}-%{release}
+Conflicts: mesa-libEGL-devel < 19.3.0-rc1
+Conflicts: mesa-libGL-devel < 19.3.0-rc1
+Conflicts: mesa-libGLES-devel < 19.3.0-rc1
+Conflicts: mesa-khr-devel < 19.3.0-rc1
%description devel
The %{name}-devel package contains libraries and header files for
@@ -92,6 +109,9 @@ Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
%{!?_without_mesa_glvnd_default:
# mesa is the default EGL implementation provider
Requires: mesa-libEGL%{?_isa} >= 13.0.4-1
+Obsoletes: mesa-libGLES < 19.2.2-2
+Provides: mesa-libGLES
+Provides: mesa-libGLES%{?_isa}
Provides: libGLES
Provides: libGLES%{?_isa}
}
@@ -224,16 +244,49 @@ xvfb-run -s '-screen 0 640x480x24' -d make check V=1 || \
%files core-devel
%dir %{_includedir}/glvnd/
%{_includedir}/glvnd/*.h
-%{_libdir}/pkgconfig/*.pc
+%{_libdir}/pkgconfig/libglvnd.pc
%files devel
+%dir %{_includedir}/EGL/
+%dir %{_includedir}/GL/
+%dir %{_includedir}/GLES/
+%dir %{_includedir}/GLES2/
+%dir %{_includedir}/GLES3/
+%dir %{_includedir}/KHR/
+%{_includedir}/EGL/*.h
+%{_includedir}/GL/*.h
+%{_includedir}/GLES/*.h
+%{_includedir}/GLES2/*.h
+%{_includedir}/GLES3/*.h
+%{_includedir}/KHR/*.h
%{_libdir}/lib*.so
%if 0%{?_without_mesa_glvnd_default}
%{_libdir}/%{name}/lib*.so
%endif
+%{_libdir}/pkgconfig/gl*.pc
+%{_libdir}/pkgconfig/egl.pc
+%{_libdir}/pkgconfig/opengl.pc
%changelog
+* Mon Nov 25 2019 Dave Airlie - 1.2.0-6
+- version provides
+
+* Sat Nov 23 2019 Dave Airlie - 1.2.0-5
+- Add another conflict
+
+* Sat Nov 23 2019 Dave Airlie - 1.2.0-4
+- conflict
+
+* Fri Nov 22 2019 Dave Airlie - 1.2.0-3
+- more conflicts
+
+* Fri Nov 22 2019 Dave Airlie - 1.2.0-2
+- add conflicts
+
+* Fri Nov 22 2019 Dave Airlie - 1.2.0-1
+- libglvnd 1.2.0
+
* Tue Aug 14 2018 Petr Viktorin - 1.0.1-0.9.git5baa1e5
- Fix BuildRequires for /usr/bin/python3
- Resolves: #1615543