extra/libglvnd to 1.2.0-5

This commit is contained in:
Kevin Mihelich 2019-10-25 12:38:22 +00:00
parent af19fa425a
commit 2d7630924c
4 changed files with 401 additions and 1 deletions

View file

@ -0,0 +1,100 @@
From 158cd95a086398b60310227f2feca31838576750 Mon Sep 17 00:00:00 2001
From: Kyle Brenneman <kbrenneman@nvidia.com>
Date: Fri, 18 Oct 2019 09:30:30 -0600
Subject: [PATCH 1/2] EGL: Set EGL_NO_X11 macro if --disable-x11 is used.
Change the configure script so that it will set the macro EGL_NO_X11 if X11 is
disabled instead of setting USE_X11 if X11 is enabled.
Using EGL_NO_X11 means that EGL/eglplatform.h won't try to include the Xlib
headers.
---
configure.ac | 6 +++---
src/EGL/libegl.c | 8 ++++----
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
index eb68d3b..ebe497c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -174,10 +174,10 @@ dnl
dnl Checks for libraries.
AX_PTHREAD()
-if test "x$enable_x11" = "xyes" ; then
+if test "x$enable_x11" != "xyes" ; then
PKG_CHECK_MODULES([X11], [x11])
- AC_DEFINE([USE_X11], 1,
- [Define to 1 if X11 support is enabled.])
+ AC_DEFINE([EGL_NO_X11], 1,
+ [Define to 1 if X11 support is disabled.])
fi
if test "x$enable_glx" = "xyes" ; then
PKG_CHECK_MODULES([XEXT], [xext])
diff --git a/src/EGL/libegl.c b/src/EGL/libegl.c
index 5f742cb..c0e4dd8 100644
--- a/src/EGL/libegl.c
+++ b/src/EGL/libegl.c
@@ -36,7 +36,7 @@
#include <unistd.h>
#include <sys/mman.h>
-#if defined(USE_X11)
+#if !defined(EGL_NO_X11)
#include <X11/Xlib.h>
#endif
@@ -180,7 +180,7 @@ static EGLBoolean IsGbmDisplay(void *native_display)
static EGLBoolean IsX11Display(void *dpy)
{
-#if defined(USE_X11)
+#if !defined(EGL_NO_X11)
void *alloc;
void *handle;
void *XAllocID = NULL;
@@ -197,9 +197,9 @@ static EGLBoolean IsX11Display(void *dpy)
}
return (XAllocID != NULL && XAllocID == alloc);
-#else // defined(USE_X11)
+#else // !defined(EGL_NO_X11)
return EGL_FALSE;
-#endif // defined(USE_X11)
+#endif // !defined(EGL_NO_X11)
}
static EGLBoolean IsWaylandDisplay(void *native_display)
--
2.22.0
From 0b09d6222265be115d3102348b5da68ae0e92f77 Mon Sep 17 00:00:00 2001
From: Kyle Brenneman <kbrenneman@nvidia.com>
Date: Sat, 19 Oct 2019 08:38:25 -0600
Subject: [PATCH 2/2] configure: Fix the pkg-config check for Xlib.
Fix an error in the previous commit so that the configure script runs
pkg-config for x11 when it's enabled, not when it's disabled.
---
configure.ac | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index ebe497c..31188b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -174,8 +174,9 @@ dnl
dnl Checks for libraries.
AX_PTHREAD()
-if test "x$enable_x11" != "xyes" ; then
+if test "x$enable_x11" = "xyes" ; then
PKG_CHECK_MODULES([X11], [x11])
+else
AC_DEFINE([EGL_NO_X11], 1,
[Define to 1 if X11 support is disabled.])
fi
--
2.22.0

View file

@ -5,7 +5,7 @@
pkgname=libglvnd
pkgver=1.2.0
pkgrel=3
pkgrel=5
pkgdesc="The GL Vendor-Neutral Dispatch library"
arch=('x86_64')
url="https://github.com/NVIDIA/libglvnd"
@ -14,9 +14,15 @@ makedepends=('libxext' 'libx11' 'glproto' 'python')
provides=('libgl' 'libegl' 'libgles')
source=("$pkgname-$pkgver.tar.gz::https://github.com/NVIDIA/libglvnd/archive/v$pkgver.tar.gz"
0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch
update-gl-h-to-match-mesa.patch
egl-sync-with-khronos.patch
EGL-Set-EGL_NO_X11-macro.patch
LICENSE)
sha512sums=('0e0e9c3f303739c73f5bee4c2aaef9eff56440345f2f1ce285ee98eb94c1e5e740774dd501aeeed1299aa25a449d813a850e95282999a3ca4648d2381d6c8fa6'
'b2d2e8fd7ea92bfc913d0b808d15c801e7c3ceb484bdd60700fd1c9ce27b4fbd4b68e568e967599f2e5132cc1ed382ec87a07c16bd3bfa5c4d920f2d9600e689'
'46c73df9ae0b730eedcaf44b5c4ea8e70d2fa5652d9e410b757eede3e6defb334e07ce6652cc54d65653521b1e244e3e206eedb2c7c61efd6ae6409774fd9229'
'2099ba851e32cbae79e234e5b695de2441c27aa213bc192f20a02be124179a2d2f4bf098e185715befd4a6a548262a7fced06b57dcfc4eaac375cd7915e27da8'
'ce11a4ef523c26a650fa926826b430ea561d5b3fef5e61b388258616b7d87e017f2537035e48a5b177b36ca6dc99d4d88b26d6de7135f49fb4150fe1d2f3b3a9'
'bf0f4a7e04220a407400f89226ecc1f798cc43035f2538cc8860e5088e1f84140baf0d4b0b28f66e4b802d4d6925769a1297c24e1ba39c1c093902b2931781a5')
prepare() {
@ -25,6 +31,13 @@ prepare() {
# merged upstream
patch -Np1 -i ../0001-Add-a-configure-option-to-disable-glesv1-or-glesv2.patch
# https://gitlab.freedesktop.org/glvnd/libglvnd/issues/194
patch -Np1 -i ../update-gl-h-to-match-mesa.patch
# https://gitlab.freedesktop.org/glvnd/libglvnd/merge_requests/193 - FS#64228
patch -Np1 -i ../egl-sync-with-khronos.patch
patch -Np1 -i ../EGL-Set-EGL_NO_X11-macro.patch
./autogen.sh
}

View file

@ -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 @@
<enum value="0x3490" name="EGL_GL_COLORSPACE_DISPLAY_P3_PASSTHROUGH_EXT"/>
<unused start="0x3491" end="0x349F"/>
</enums>
+ <enums namespace="EGL" start="0x34A0" end="0x34AF" vendor="ANGLE" comment="Reserved for Ken Russell - ANGLE (via github pull request)">
+ <unused start="0x34A0" end="0x34AF"/>
+ </enums>
<!-- Please remember that new enumerant allocations must be obtained by
request to the Khronos API registrar (see comments at the top of this
@@ -1012,8 +1015,8 @@
<!-- Reservable for future use. To generate a new range, allocate multiples
of 16 starting at the lowest available point in this block. -->
- <enums namespace="EGL" start="0x34A0" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
- <unused start="0x34A0" end="0x3FFF"/>
+ <enums namespace="EGL" start="0x34B0" end="0x3FFF" vendor="KHR" comment="Reserved for future use">
+ <unused start="0x34B0" end="0x3FFF"/>
</enums>
<enums namespace="EGL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with GL.">

View file

@ -0,0 +1,245 @@
From 5dfdc5a6dc60a3bdc63cd4510dabacba388da13a Mon Sep 17 00:00:00 2001
From: Kyle Brenneman <kbrenneman@nvidia.com>
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 <stdlib.h> /* 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 <windows.h>
#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