Skip to content
Commits on Source (31)
......@@ -210,6 +210,7 @@ EGL\_EXT\_device\_enumeration.
In order to find the available vendor libraries, each vendor provides a JSON
file in a well-known directory, similar to how Vulkan ICD's are loaded.
Please see [EGL ICD enumeration](src/EGL/icd_enumeration.md) for more details.
When the application calls eglGetPlatformDisplay, EGL will simply call into
each vendor library until it finds one that succeeds. After that, whichever
......
......@@ -2,7 +2,7 @@ dnl configure.ac
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.63])
AC_INIT([libglvnd], [1.1.1], [kbrenneman@nvidia.com])
AC_INIT([libglvnd], [1.2.0], [kbrenneman@nvidia.com])
AC_CONFIG_SRCDIR([config.h.in])
AC_CONFIG_HEADERS([config.h])
......@@ -27,6 +27,7 @@ AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL
AC_PROG_MKDIR_P
PKG_PROG_PKG_CONFIG
# The tarball from "make dist" already contains all of the generated files. If
# we're building from that, then we won't need Python.
......@@ -49,14 +50,26 @@ AC_ARG_ENABLE([egl],
)
AM_CONDITIONAL([ENABLE_EGL], [test "x$enable_egl" = "xyes"])
AC_ARG_ENABLE([x11],
[AS_HELP_STRING([--disable-x11],
[Disable X11 support. Implies --disable-glx @<:@default=enabled@:>@])],
[enable_x11="$enableval"],
[enable_x11=yes]
)
AM_CONDITIONAL([ENABLE_X11], [test "x$enable_x11" = "xyes"])
AC_ARG_ENABLE([glx],
[AS_HELP_STRING([--disable-glx],
[Disable GLX support @<:@default=enabled@:>@])],
[enable_glx="$enableval"],
[enable_glx=yes]
[enable_glx="$enable_x11"]
)
AM_CONDITIONAL([ENABLE_GLX], [test "x$enable_glx" = "xyes"])
if test "x$enable_x11" != "xyes" -a "x$enable_glx" = "xyes" ; then
AC_MSG_ERROR([Can't build GLX without X11.])
fi
AC_ARG_ENABLE([gles],
[AS_HELP_STRING([--disable-gles],
[Do not build the libGLES*.so libraries @<:@default=enabled@:>@])],
......@@ -65,6 +78,17 @@ AC_ARG_ENABLE([gles],
)
AM_CONDITIONAL([ENABLE_GLES], [test "x$enable_gles" = "xyes"])
AC_ARG_ENABLE([headers],
[AS_HELP_STRING([--disable-headers],
[Do not install the GL/GLES/GLX/EGL header files @<:@default=enabled@:>@])],
[enable_headers="$enableval"],
[enable_headers=yes]
)
AM_CONDITIONAL([ENABLE_GL_HEADERS], [test "x$enable_headers" = "xyes"])
AM_CONDITIONAL([ENABLE_EGL_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_egl" = "xyes"])
AM_CONDITIONAL([ENABLE_GLX_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_glx" = "xyes"])
AM_CONDITIONAL([ENABLE_GLES_HEADERS], [test "x$enable_headers" = "xyes" -a "x$enable_gles" = "xyes"])
dnl
dnl Arch/platform-specific settings. Copied from mesa
dnl
......@@ -98,7 +122,7 @@ if test "x$enable_asm" = xyes; then
;;
esac
;;
armv7*l)
armv7*l | armv8*l)
asm_arch=armv7l
;;
aarch64)
......@@ -143,9 +167,19 @@ dnl
dnl Checks for libraries.
AX_PTHREAD()
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.])
fi
if test "x$enable_glx" = "xyes" ; then
PKG_CHECK_MODULES([XEXT], [xext])
PKG_CHECK_MODULES([GLPROTO], [glproto])
fi
AS_IF([test "x$gldispatch_use_tls" = "xyes"],
[AC_DEFINE([GLDISPATCH_USE_TLS], 1,
[Define to 1 if libGLdispatch should use a TLS variable for the dispatch table.])])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_TYPEOF
......@@ -296,11 +330,33 @@ AS_IF([test "x$HAVE_RTLD_NOLOAD" = "xyes"],
[AC_DEFINE([HAVE_RTLD_NOLOAD], 1,
[Define to 1 if the compiler supports RTLD_NOLOAD.])])
AC_MSG_CHECKING([for dirent.d_type])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
#include <dirent.h>
void foo(struct dirent *ent)
{
(void) ent->d_type;
}
])],
[HAVE_DIRENT_DTYPE=yes],[HAVE_DIRENT_DTYPE=no])
AC_MSG_RESULT($HAVE_DIRENT_DTYPE)
AS_IF([test "x$HAVE_DIRENT_DTYPE" = "xyes"],
[AC_DEFINE([HAVE_DIRENT_DTYPE], 1,
[Define to 1 if struct dirent has a d_type member.])])
# See if the linker supports the --no-undefined flag.
AX_CHECK_LINK_FLAG([-Xlinker --no-undefined],
[AC_SUBST([LINKER_FLAG_NO_UNDEFINED], ["-Xlinker --no-undefined"])],
[AC_SUBST([LINKER_FLAG_NO_UNDEFINED], [""])])
AC_ARG_VAR([GLDISPATCH_PAGE_SIZE],
[Page size to align static dispatch stubs])
AS_IF([test "x$GLDISPATCH_PAGE_SIZE" != "x"],
[AC_DEFINE_UNQUOTED([GLDISPATCH_PAGE_SIZE], [$GLDISPATCH_PAGE_SIZE],
[Page size to align static dispatch stubs.])])
dnl default CFLAGS
CFLAGS="$CFLAGS -Wall -Werror -include config.h -fvisibility=hidden $DEFINES"
......@@ -309,11 +365,17 @@ AC_CONFIG_FILES([Makefile
include/Makefile
src/Makefile
src/GL/Makefile
src/GL/gl.pc
src/OpenGL/opengl.pc
src/OpenGL/Makefile
src/GLESv1/glesv1_cm.pc
src/GLESv1/Makefile
src/GLESv2/glesv2.pc
src/GLESv2/Makefile
src/GLX/glx.pc
src/GLX/Makefile
src/EGL/Makefile
src/EGL/egl.pc
src/GLdispatch/Makefile
src/GLdispatch/vnd-glapi/Makefile
src/util/Makefile
......
libglvnd (1.1.1-1) UNRELEASED; urgency=medium
libglvnd (1.2.0-1) UNRELEASED; urgency=medium
* New upstream release. (LP: #1816004)
* add-pkgconfig-support-for-libs.patch: Add missing pkgconfig files for
EGL, GL, GLX, GLESv1, GLESv2 and OpenGL. (Closes: #930514)
* control: Bump libglvnd-dev Breaks/Replaces for libgles2-mesa-dev,
glesv2.pc moved here.
* New upstream release. (Closes: #930514) (LP: #1816004)
* Package lib{egl,gl,gles,glx,opengl}-dev, headers etc moved here from
mesa.
* libgl1.symbols: Updated.
* Fold libglvnd-core-dev into libglvnd-dev.
* control: Drop old Breaks/Replaces.
* libgles1: Override package-name-doesnt-match-sonames.
-- Timo Aaltonen <tjaalton@debian.org> Wed, 13 Mar 2019 20:05:49 +0200
......
......@@ -23,24 +23,11 @@ Section: libdevel
Architecture: any
Depends:
libglvnd0 (= ${binary:Version}),
libglvnd-core-dev (= ${binary:Version}),
libegl1 (= ${binary:Version}),
libgles1 (= ${binary:Version}),
libgles2 (= ${binary:Version}),
libgl1 (= ${binary:Version}),
libglx0 (= ${binary:Version}),
libopengl0 (= ${binary:Version}),
${misc:Depends},
Breaks:
libegl1-mesa-dev (<< 17.2.0~rc4-1),
libgl1-mesa-dev (<< 17.2.0~rc4-1),
libgles1-mesa-dev (<< 17.0.0~rc3-1),
libgles2-mesa-dev (<< 19.1.0-1),
libglvnd-core-dev (<< 1.2.0-1),
Replaces:
libegl1-mesa-dev (<< 17.2.0~rc4-1),
libgl1-mesa-dev (<< 17.2.0~rc4-1),
libgles1-mesa-dev (<< 17.0.0~rc3-1),
libgles2-mesa-dev (<< 19.1.0-1),
libglvnd-core-dev (<< 1.2.0-1),
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- development files
This is an implementation of the vendor-neutral dispatch layer for
......@@ -48,21 +35,6 @@ Description: Vendor neutral GL dispatch library -- development files
.
This package contains the development files for libglvnd.
Package: libglvnd-core-dev
Section: libdevel
Architecture: any
Depends:
${misc:Depends},
Breaks: libglvnd-dev (<< 0.2.999+git20170201-1)
Replaces: libglvnd-dev (<< 0.2.999+git20170201-1)
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- core development files
This is an implementation of the vendor-neutral dispatch layer for
arbitrating OpenGL API calls between multiple vendors on a per-screen basis.
.
This package contains the header files for libglvnd split in a separate
package for Mesa.
Package: libglvnd0
Architecture: any
Pre-Depends: ${misc:Pre-Depends},
......@@ -88,12 +60,6 @@ Depends:
${misc:Depends},
libglvnd0 (= ${binary:Version}),
libegl-mesa0,
Replaces:
libegl1-mesa (<< 17.2.0~rc4-1),
libglvnd0 (<< 0.2.999+git20170201-1)
Breaks:
libegl1-mesa (<< 17.2.0~rc4-1),
libglvnd0 (<< 0.2.999+git20170201-1)
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- EGL support
This is an implementation of the vendor-neutral dispatch layer for
......@@ -101,6 +67,25 @@ Description: Vendor neutral GL dispatch library -- EGL support
.
This package contains support for EGL.
Package: libegl-dev
Architecture: any
Depends:
libegl1 (= ${binary:Version}),
${misc:Depends},
Replaces:
libegl1-mesa-dev (<< 19.2.0-1),
libglvnd-dev (<< 1.2.0-1),
Breaks:
libegl1-mesa-dev (<< 19.2.0-1),
libglvnd-dev (<< 1.2.0-1),
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- EGL development files
This is an implementation of the vendor-neutral dispatch layer for
arbitrating OpenGL API calls between multiple vendors on a per-screen basis.
.
This package provides the development environment for compiling programs
against the EGL library.
Package: libgles1
Architecture: any
Pre-Depends: ${misc:Pre-Depends},
......@@ -108,12 +93,6 @@ Depends:
${shlibs:Depends},
${misc:Depends},
libglvnd0 (= ${binary:Version}),
Replaces:
libgles1-mesa (<< 17.0.0~rc3-1),
libgles2 (<< 1.0.0+git20180308-5),
Breaks:
libgles1-mesa (<< 17.0.0~rc3-1),
libgles2 (<< 1.0.0+git20180308-5),
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- GLESv1 support
This is an implementation of the vendor-neutral dispatch layer for
......@@ -128,10 +107,6 @@ Depends:
${shlibs:Depends},
${misc:Depends},
libglvnd0 (= ${binary:Version}),
Replaces:
libgles2-mesa (<< 17.2.0~rc4-1),
Breaks:
libgles2-mesa (<< 17.2.0~rc4-1),
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- GLESv2 support
This is an implementation of the vendor-neutral dispatch layer for
......@@ -139,6 +114,26 @@ Description: Vendor neutral GL dispatch library -- GLESv2 support
.
This package contains support for GLESv2.
Package: libgles-dev
Architecture: any
Depends:
libgles1 (= ${binary:Version}),
libgles2 (= ${binary:Version}),
${misc:Depends},
Replaces:
libgles2-mesa-dev (<< 19.2.0-1),
libglvnd-dev (<< 1.2.0-1),
Breaks:
libgles2-mesa-dev (<< 19.2.0-1),
libglvnd-dev (<< 1.2.0-1),
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- GLES development files
This is an implementation of the vendor-neutral dispatch layer for
arbitrating OpenGL API calls between multiple vendors on a per-screen basis.
.
This package provides the development environment for compiling programs
against the GLES libraries.
Package: libgl1
Architecture: any
Pre-Depends: ${misc:Pre-Depends},
......@@ -147,13 +142,6 @@ Depends:
${misc:Depends},
libglvnd0 (= ${binary:Version}),
libglx0 (= ${binary:Version}),
Replaces:
libgl1-mesa-glx (<< 17.2.0~rc4-1),
libglvnd0 (<< 0.2.999+git20170201-1)
Breaks:
libgl1-mesa-glx (<< 17.2.0~rc4-1),
libglvnd0 (<< 0.2.999+git20170201-1),
glx-diversions (<< 0.8),
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- legacy GL support
This is an implementation of the vendor-neutral dispatch layer for
......@@ -161,6 +149,27 @@ Description: Vendor neutral GL dispatch library -- legacy GL support
.
This package contains support for old libGL for compatibility reasons.
Package: libgl-dev
Architecture: any
Depends:
libgl1 (= ${binary:Version}),
${misc:Depends},
Replaces:
libgl1-mesa-dev (<< 19.2.0-1),
libglvnd-dev (<< 1.2.0-1),
mesa-common-dev (<< 19.2.0-1),
Breaks:
libgl1-mesa-dev (<< 19.2.0-1),
libglvnd-dev (<< 1.2.0-1),
mesa-common-dev (<< 19.2.0-1),
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- GL development files
This is an implementation of the vendor-neutral dispatch layer for
arbitrating OpenGL API calls between multiple vendors on a per-screen basis.
.
This package provides the development environment for compiling programs
against the GL library.
Package: libglx0
Architecture: any
Pre-Depends: ${misc:Pre-Depends},
......@@ -169,12 +178,6 @@ Depends:
${misc:Depends},
libglvnd0 (= ${binary:Version}),
libglx-mesa0,
Replaces:
libgl1-mesa-glx (<< 17.2.0~rc4-1),
libglvnd0 (<< 0.2.999+git20170201-1)
Breaks:
libgl1-mesa-glx (<< 17.2.0~rc4-1),
libglvnd0 (<< 0.2.999+git20170201-1)
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- GLX support
This is an implementation of the vendor-neutral dispatch layer for
......@@ -182,6 +185,25 @@ Description: Vendor neutral GL dispatch library -- GLX support
.
This package contains support for GLX.
Package: libglx-dev
Architecture: any
Depends:
libglx0 (= ${binary:Version}),
${misc:Depends},
Replaces:
libglvnd-dev (<< 1.2.0-1),
mesa-common-dev (<< 19.2.0-1),
Breaks:
libglvnd-dev (<< 1.2.0-1),
mesa-common-dev (<< 19.2.0-1),
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- GLX development files
This is an implementation of the vendor-neutral dispatch layer for
arbitrating OpenGL API calls between multiple vendors on a per-screen basis.
.
This package provides the development environment for compiling programs
against the GLX library.
Package: libopengl0
Architecture: any
Pre-Depends: ${misc:Pre-Depends},
......@@ -189,11 +211,26 @@ Depends:
${shlibs:Depends},
${misc:Depends},
libglvnd0 (= ${binary:Version}),
Replaces: libglvnd0 (<< 0.2.999+git20170201-1)
Breaks: libglvnd0 (<< 0.2.999+git20170201-1)
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- OpenGL support
This is an implementation of the vendor-neutral dispatch layer for
arbitrating OpenGL API calls between multiple vendors on a per-screen basis.
.
This package contains support for OpenGL.
Package: libopengl-dev
Architecture: any
Depends:
libopengl0 (= ${binary:Version}),
${misc:Depends},
Replaces:
libglvnd-dev (<< 1.2.0-1),
Breaks:
libglvnd-dev (<< 1.2.0-1),
Multi-Arch: same
Description: Vendor neutral GL dispatch library -- OpenGL development files
This is an implementation of the vendor-neutral dispatch layer for
arbitrating OpenGL API calls between multiple vendors on a per-screen basis.
.
This package provides the development environment for compiling programs
against the OpenGL library.
usr/include/EGL
usr/lib/*/libEGL.so
usr/lib/*/pkgconfig/egl.pc
usr/include/GL
usr/include/KHR
usr/lib/*/libGL.so
usr/lib/*/pkgconfig/gl.pc
......@@ -25,6 +25,8 @@ libGL.so.1 libgl1 #MINVER#
glArrayElement@Base 0
glArrayElementEXT@Base 0
glArrayObjectATI@Base 0
glAsyncCopyBufferSubDataNVX@Base 1.2.0
glAsyncCopyImageSubDataNVX@Base 1.2.0
glAsyncMarkerSGIX@Base 0
glAttachObjectARB@Base 0
glAttachShader@Base 0
......@@ -84,6 +86,7 @@ libGL.so.1 libgl1 #MINVER#
glBindRenderbufferOES@Base 0
glBindSampler@Base 0
glBindSamplers@Base 0
glBindShadingRateImageNV@Base 1.2.0
glBindTexGenParameterEXT@Base 0
glBindTexture@Base 0
glBindTextureEXT@Base 0
......@@ -158,6 +161,7 @@ libGL.so.1 libgl1 #MINVER#
glBlitFramebufferNV@Base 0
glBlitNamedFramebuffer@Base 0
glBufferAddressRangeNV@Base 0
glBufferAttachMemoryNV@Base 1.2.0
glBufferData@Base 0
glBufferDataARB@Base 0
glBufferDataSysmem@Base 0
......@@ -218,6 +222,7 @@ libGL.so.1 libgl1 #MINVER#
glClientActiveTextureARB@Base 0
glClientActiveVertexStreamATI@Base 0
glClientAttribDefaultEXT@Base 0
glClientWaitSemaphoreui64NVX@Base 1.2.0
glClientWaitSync@Base 0
glClientWaitSyncAPPLE@Base 0
glClientWaitSyncValueuiNVX@Base 0
......@@ -425,6 +430,7 @@ libGL.so.1 libgl1 #MINVER#
glCreateProgram@Base 0
glCreateProgramObjectARB@Base 0
glCreateProgramPipelines@Base 0
glCreateProgressFenceNVX@Base 1.2.0
glCreateQueries@Base 0
glCreateRenderbuffers@Base 0
glCreateSamplers@Base 0
......@@ -593,6 +599,8 @@ libGL.so.1 libgl1 #MINVER#
glDrawElementsInstancedNV@Base 0
glDrawMeshArraysSUN@Base 0
glDrawMeshNV@Base 0
glDrawMeshTasksIndirectNV@Base 1.2.0
glDrawMeshTasksNV@Base 1.2.0
glDrawPixels@Base 0
glDrawRangeElementArrayAPPLE@Base 0
glDrawRangeElementArrayATI@Base 0
......@@ -767,6 +775,7 @@ libGL.so.1 libgl1 #MINVER#
glFramebufferFoveationConfigQCOM@Base 1.1.0
glFramebufferFoveationParametersQCOM@Base 1.1.0
glFramebufferParameteri@Base 0
glFramebufferParameteriMESA@Base 1.2.0
glFramebufferPixelLocalStorageSizeEXT@Base 1.1.0
glFramebufferReadBufferEXT@Base 0
glFramebufferRenderbuffer@Base 0
......@@ -955,6 +964,7 @@ libGL.so.1 libgl1 #MINVER#
glGetFramebufferParameterfvAMD@Base 1.1.0
glGetFramebufferParameteriv@Base 0
glGetFramebufferParameterivEXT@Base 0
glGetFramebufferParameterivMESA@Base 1.2.0
glGetFramebufferPixelLocalStorageSizeEXT@Base 1.1.0
glGetGraphicsResetStatus@Base 0
glGetGraphicsResetStatusARB@Base 0
......@@ -1013,6 +1023,7 @@ libGL.so.1 libgl1 #MINVER#
glGetMaterialxOES@Base 0
glGetMaterialxv@Base 0
glGetMaterialxvOES@Base 0
glGetMemoryObjectDetachedResourcesuivNV@Base 1.2.0
glGetMemoryObjectParameterivEXT@Base 1.1.0
glGetMinmax@Base 0
glGetMinmaxEXT@Base 0
......@@ -1183,6 +1194,8 @@ libGL.so.1 libgl1 #MINVER#
glGetShaderSource@Base 0
glGetShaderSourceARB@Base 0
glGetShaderiv@Base 0
glGetShadingRateImagePaletteNV@Base 1.2.0
glGetShadingRateSampleLocationivNV@Base 1.2.0
glGetSharpenTexFuncSGIS@Base 0
glGetStageIndexNV@Base 0
glGetString@Base 0
......@@ -1653,6 +1666,8 @@ libGL.so.1 libgl1 #MINVER#
glMultiDrawElementsIndirectCount@Base 1.1.0
glMultiDrawElementsIndirectCountARB@Base 0
glMultiDrawElementsIndirectEXT@Base 0
glMultiDrawMeshTasksIndirectCountNV@Base 1.2.0
glMultiDrawMeshTasksIndirectNV@Base 1.2.0
glMultiDrawRangeElementArrayAPPLE@Base 0
glMultiModeDrawArraysIBM@Base 0
glMultiModeDrawElementsIBM@Base 0
......@@ -1795,8 +1810,12 @@ libGL.so.1 libgl1 #MINVER#
glMulticastGetQueryObjectivNV@Base 1.1.0
glMulticastGetQueryObjectui64vNV@Base 1.1.0
glMulticastGetQueryObjectuivNV@Base 1.1.0
glMulticastScissorArrayvNVX@Base 1.2.0
glMulticastViewportArrayvNVX@Base 1.2.0
glMulticastViewportPositionWScaleNVX@Base 1.2.0
glMulticastWaitSyncNV@Base 1.1.0
glNVENCInterOpFunctionNVX@Base 0
glNamedBufferAttachMemoryNV@Base 1.2.0
glNamedBufferData@Base 0
glNamedBufferDataEXT@Base 0
glNamedBufferPageCommitmentARB@Base 0
......@@ -1841,6 +1860,7 @@ libGL.so.1 libgl1 #MINVER#
glNamedRenderbufferStorage@Base 0
glNamedRenderbufferStorageEXT@Base 0
glNamedRenderbufferStorageMultisample@Base 0
glNamedRenderbufferStorageMultisampleAdvancedAMD@Base 1.2.0
glNamedRenderbufferStorageMultisampleCoverageEXT@Base 0
glNamedRenderbufferStorageMultisampleEXT@Base 0
glNamedStringARB@Base 0
......@@ -2266,6 +2286,7 @@ libGL.so.1 libgl1 #MINVER#
glRenderbufferStorageMultisample@Base 0
glRenderbufferStorageMultisampleANGLE@Base 0
glRenderbufferStorageMultisampleAPPLE@Base 0
glRenderbufferStorageMultisampleAdvancedAMD@Base 1.2.0
glRenderbufferStorageMultisampleCoverageNV@Base 0
glRenderbufferStorageMultisampleEXT@Base 0
glRenderbufferStorageMultisampleIMG@Base 0
......@@ -2297,6 +2318,7 @@ libGL.so.1 libgl1 #MINVER#
glRequestResidentProgramsNV@Base 0
glResetHistogram@Base 0
glResetHistogramEXT@Base 0
glResetMemoryObjectParameterNV@Base 1.2.0
glResetMinmax@Base 0
glResetMinmaxEXT@Base 0
glResizeBuffersMESA@Base 0
......@@ -2338,6 +2360,8 @@ libGL.so.1 libgl1 #MINVER#
glScissorArrayv@Base 0
glScissorArrayvNV@Base 0
glScissorArrayvOES@Base 1.1.0
glScissorExclusiveArrayvNV@Base 1.2.0
glScissorExclusiveNV@Base 1.2.0
glScissorIndexed@Base 0
glScissorIndexedNV@Base 0
glScissorIndexedOES@Base 1.1.0
......@@ -2403,8 +2427,13 @@ libGL.so.1 libgl1 #MINVER#
glShaderSource@Base 0
glShaderSourceARB@Base 0
glShaderStorageBlockBinding@Base 0
glShadingRateImageBarrierNV@Base 1.2.0
glShadingRateImagePaletteNV@Base 1.2.0
glShadingRateSampleOrderCustomNV@Base 1.2.0
glShadingRateSampleOrderNV@Base 1.2.0
glSharpenTexFuncSGIS@Base 0
glSignalSemaphoreEXT@Base 1.1.0
glSignalSemaphoreui64NVX@Base 1.2.0
glSignalVkFenceNV@Base 1.1.0
glSignalVkSemaphoreNV@Base 1.1.0
glSpecializeShader@Base 1.1.0
......@@ -2457,6 +2486,7 @@ libGL.so.1 libgl1 #MINVER#
glTestFenceAPPLE@Base 0
glTestFenceNV@Base 0
glTestObjectAPPLE@Base 0
glTexAttachMemoryNV@Base 1.2.0
glTexBuffer@Base 0
glTexBufferARB@Base 0
glTexBufferEXT@Base 0
......@@ -2622,6 +2652,7 @@ libGL.so.1 libgl1 #MINVER#
glTexSubImage3DNV@Base 0
glTexSubImage3DOES@Base 0
glTexSubImage4DSGIS@Base 0
glTextureAttachMemoryNV@Base 1.2.0
glTextureBarrier@Base 0
glTextureBarrierNV@Base 0
glTextureBuffer@Base 0
......@@ -2828,6 +2859,7 @@ libGL.so.1 libgl1 #MINVER#
glUnmapObjectBufferATI@Base 0
glUnmapTexture2DINTEL@Base 0
glUpdateObjectBufferATI@Base 0
glUploadGpuMaskNVX@Base 1.2.0
glUseProgram@Base 0
glUseProgramObjectARB@Base 0
glUseProgramStages@Base 0
......@@ -2840,6 +2872,7 @@ libGL.so.1 libgl1 #MINVER#
glVDPAUMapSurfacesNV@Base 0
glVDPAURegisterOutputSurfaceNV@Base 0
glVDPAURegisterVideoSurfaceNV@Base 0
glVDPAURegisterVideoSurfaceWithPictureStructureNV@Base 1.2.0
glVDPAUSurfaceAccessNV@Base 0
glVDPAUUnmapSurfacesNV@Base 0
glVDPAUUnregisterSurfaceNV@Base 0
......@@ -3225,6 +3258,7 @@ libGL.so.1 libgl1 #MINVER#
glViewportPositionWScaleNV@Base 1.1.0
glViewportSwizzleNV@Base 0
glWaitSemaphoreEXT@Base 1.1.0
glWaitSemaphoreui64NVX@Base 1.2.0
glWaitSync@Base 0
glWaitSyncAPPLE@Base 0
glWaitSyncValueuiNVX@Base 0
......@@ -3371,6 +3405,7 @@ libGL.so.1 libgl1 #MINVER#
glXGetScreenDriver@Base 0
glXGetSelectedEvent@Base 0
glXGetSelectedEventSGIX@Base 0
glXGetSwapIntervalMESA@Base 1.2.0
glXGetSyncValuesOML@Base 0
glXGetTransparentIndexSUN@Base 0
glXGetVideoDeviceNV@Base 0
......@@ -3426,6 +3461,7 @@ libGL.so.1 libgl1 #MINVER#
glXSwapBuffers@Base 0
glXSwapBuffersMscOML@Base 0
glXSwapIntervalEXT@Base 0
glXSwapIntervalMESA@Base 1.2.0
glXSwapIntervalSGI@Base 0
glXUseXFont@Base 0
glXWaitForMscOML@Base 0
......
usr/include/GLES
usr/include/GLES2
usr/include/GLES3
usr/lib/*/libGLESv1_CM.so
usr/lib/*/libGLESv2.so
usr/lib/*/pkgconfig/glesv1_cm.pc
usr/lib/*/pkgconfig/glesv2.pc
package-name-doesnt-match-sonames libGLESv1-CM1
usr/include/glvnd/*.h
usr/lib/*/pkgconfig/libglvnd.pc
usr/lib/*/*.so
usr/lib/*/pkgconfig/egl.pc
usr/lib/*/pkgconfig/gl.pc
usr/lib/*/pkgconfig/glx.pc
usr/lib/*/pkgconfig/glesv1_cm.pc
usr/lib/*/pkgconfig/glesv2.pc
usr/lib/*/pkgconfig/opengl.pc
usr/include/glvnd/*.h
usr/lib/*/libGLdispatch.so
usr/lib/*/pkgconfig/libglvnd.pc
usr/lib/*/libGLX.so
usr/lib/*/pkgconfig/glx.pc
usr/lib/*/libOpenGL.so
usr/lib/*/pkgconfig/opengl.pc
https://github.com/NVIDIA/libglvnd/pull/86
--- a/configure.ac
+++ b/configure.ac
@@ -308,11 +308,17 @@ AC_CONFIG_FILES([Makefile
libglvnd.pc
include/Makefile
src/Makefile
+ src/GL/gl.pc
src/GL/Makefile
+ src/OpenGL/opengl.pc
src/OpenGL/Makefile
+ src/GLESv1/glesv1_cm.pc
src/GLESv1/Makefile
+ src/GLESv2/glesv2.pc
src/GLESv2/Makefile
+ src/GLX/glx.pc
src/GLX/Makefile
+ src/EGL/egl.pc
src/EGL/Makefile
src/GLdispatch/Makefile
src/GLdispatch/vnd-glapi/Makefile
--- a/src/EGL/Makefile.am
+++ b/src/EGL/Makefile.am
@@ -67,6 +67,9 @@ libEGL_la_LIBADD += $(UTIL_DIR)/libcJSON
libEGL_la_LIBADD += $(UTIL_DIR)/libwinsys_dispatch.la
libEGL_la_LIBADD += libEGL_dispatch_stubs.la
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = egl.pc
+
libEGL_la_LDFLAGS = -shared -Wl,-Bsymbolic -version-info 2:0:1 $(LINKER_FLAG_NO_UNDEFINED)
libEGL_la_SOURCES = \
--- /dev/null
+++ b/src/EGL/egl.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=@libdir@
+includedir=@includedir@
+
+Name: egl
+Description: EGL library and headers
+Version: 1.5
+Libs: -L${libdir} -lEGL
+Cflags: -I${includedir}
--- a/src/GL/Makefile.am
+++ b/src/GL/Makefile.am
@@ -70,3 +70,6 @@ libGL_la_LIBADD += ../GLdispatch/libGLdi
libGL_la_LIBADD += ../GLdispatch/vnd-glapi/libglapi_gl.la
libGL_la_LIBADD += ../util/libutils_misc.la
libGL_la_LIBADD += @LIB_DL@
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = gl.pc
--- /dev/null
+++ b/src/GL/gl.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=@libdir@
+includedir=@includedir@
+
+Name: gl
+Description: Legacy OpenGL and GLX library and headers
+Version: 1.2
+Libs: -L${libdir} -lGL
+Cflags: -I${includedir}
--- a/src/GLESv1/Makefile.am
+++ b/src/GLESv1/Makefile.am
@@ -38,3 +38,5 @@ libGLESv1_CM_la_LIBADD = \
../GLdispatch/vnd-glapi/libglapi_glesv1.la \
../util/libutils_misc.la
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = glesv1_cm.pc
--- /dev/null
+++ b/src/GLESv1/glesv1_cm.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=@libdir@
+includedir=@includedir@
+
+Name: glesv1_cm
+Description: OpenGL ES-CM v1 library and headers
+Version: 1.0
+Libs: -L${libdir} -lGLESv1_CM
+Cflags: -I${includedir}
--- a/src/GLESv2/Makefile.am
+++ b/src/GLESv2/Makefile.am
@@ -38,3 +38,5 @@ libGLESv2_la_LIBADD = \
../GLdispatch/vnd-glapi/libglapi_glesv2.la \
../util/libutils_misc.la
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = glesv2.pc
--- /dev/null
+++ b/src/GLESv2/glesv2.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=@libdir@
+includedir=@includedir@
+
+Name: gles2
+Description: OpenGL ES v2/v3 library and headers
+Version: 3.2
+Libs: -L${libdir} -lGLESv2
+Cflags: -I${includedir}
--- /dev/null
+++ b/src/GLX/glx.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=@libdir@
+includedir=@includedir@
+
+Name: glx
+Description: GLX library and headers
+Version: 1.4
+Libs: -L${libdir} -lGLX
+Cflags: -I${includedir}
--- /dev/null
+++ b/src/OpenGL/opengl.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=@libdir@
+includedir=@includedir@
+
+Name: opengl
+Description: OpenGL (without GLX) headers and interface
+Version: 4.5
+Libs: -L${libdir} -lOpenGL
+Cflags: -I${includedir}
--- a/src/GLX/Makefile.am
+++ b/src/GLX/Makefile.am
@@ -69,3 +69,5 @@ libGLX_la_SOURCES = \
libglxmapping.c \
libglxproto.c
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = glx.pc
--- a/src/OpenGL/Makefile.am
+++ b/src/OpenGL/Makefile.am
@@ -47,3 +47,5 @@ libOpenGL_la_LIBADD = \
../GLdispatch/vnd-glapi/libglapi_opengl.la \
../util/libutils_misc.la
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = opengl.pc
add-pkgconfig-support-for-libs.patch
# placeholder
......@@ -6,7 +6,7 @@ extern "C" {
#endif
/*
** Copyright (c) 2013-2015 The Khronos Group Inc.
** Copyright (c) 2013-2017 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
......@@ -28,17 +28,21 @@ extern "C" {
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
*/
/*
** This header is generated from the Khronos OpenGL / OpenGL ES XML
** API Registry. The current version of the Registry, generator scripts
** This header is generated from the Khronos EGL XML API Registry.
** The current version of the Registry, generator scripts
** used to make the header, and the header can be found at
** http://www.opengl.org/registry/
** http://www.khronos.org/registry/egl
**
** Khronos $Revision: 32075 $ on $Date: 2015-09-30 10:36:35 -0700 (Wed, 30 Sep 2015) $
** Khronos $Git commit SHA1: cb927ca98d $ on $Git commit date: 2019-08-08 01:05:38 -0700 $
*/
#include <EGL/eglplatform.h>
/* Generated on date 20150930 */
#ifndef EGL_EGL_PROTOTYPES
#define EGL_EGL_PROTOTYPES 1
#endif
/* Generated on date 20190808 */
/* Generated C header for:
* API: egl
......@@ -78,7 +82,7 @@ typedef void (*__eglMustCastToProperFunctionPointerType)(void);
#define EGL_CONFIG_ID 0x3028
#define EGL_CORE_NATIVE_ENGINE 0x305B
#define EGL_DEPTH_SIZE 0x3025
#define EGL_DONT_CARE ((EGLint)-1)
#define EGL_DONT_CARE EGL_CAST(EGLint,-1)
#define EGL_DRAW 0x3059
#define EGL_EXTENSIONS 0x3055
#define EGL_FALSE 0
......@@ -95,9 +99,9 @@ typedef void (*__eglMustCastToProperFunctionPointerType)(void);
#define EGL_NONE 0x3038
#define EGL_NON_CONFORMANT_CONFIG 0x3051
#define EGL_NOT_INITIALIZED 0x3001
#define EGL_NO_CONTEXT ((EGLContext)0)
#define EGL_NO_DISPLAY ((EGLDisplay)0)
#define EGL_NO_SURFACE ((EGLSurface)0)
#define EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
#define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0)
#define EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
#define EGL_PBUFFER_BIT 0x0001
#define EGL_PIXMAP_BIT 0x0002
#define EGL_READ 0x305A
......@@ -118,6 +122,31 @@ typedef void (*__eglMustCastToProperFunctionPointerType)(void);
#define EGL_VERSION 0x3054
#define EGL_WIDTH 0x3057
#define EGL_WINDOW_BIT 0x0004
typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETCURRENTDISPLAYPROC) (void);
typedef EGLSurface (EGLAPIENTRYP PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw);
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id);
typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void);
typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine);
#if EGL_EGL_PROTOTYPES
EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
......@@ -142,6 +171,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface
EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
#endif
#endif /* EGL_VERSION_1_0 */
#ifndef EGL_VERSION_1_1
......@@ -160,10 +190,16 @@ EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
#define EGL_TEXTURE_RGB 0x305D
#define EGL_TEXTURE_RGBA 0x305E
#define EGL_TEXTURE_TARGET 0x3081
typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval);
#if EGL_EGL_PROTOTYPES
EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
#endif
#endif /* EGL_VERSION_1_1 */
#ifndef EGL_VERSION_1_2
......@@ -197,13 +233,20 @@ typedef void *EGLClientBuffer;
#define EGL_RGB_BUFFER 0x308E
#define EGL_SINGLE_BUFFER 0x3085
#define EGL_SWAP_BEHAVIOR 0x3093
#define EGL_UNKNOWN ((EGLint)-1)
#define EGL_UNKNOWN EGL_CAST(EGLint,-1)
#define EGL_VERTICAL_RESOLUTION 0x3091
typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api);
typedef EGLenum (EGLAPIENTRYP PFNEGLQUERYAPIPROC) (void);
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETHREADPROC) (void);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITCLIENTPROC) (void);
#if EGL_EGL_PROTOTYPES
EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
#endif
#endif /* EGL_VERSION_1_2 */
#ifndef EGL_VERSION_1_3
......@@ -224,7 +267,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
#ifndef EGL_VERSION_1_4
#define EGL_VERSION_1_4 1
#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
#define EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0)
#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
#define EGL_MULTISAMPLE_RESOLVE 0x3099
#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
......@@ -232,7 +275,10 @@ EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
#define EGL_OPENGL_API 0x30A2
#define EGL_OPENGL_BIT 0x0008
#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
typedef EGLContext (EGLAPIENTRYP PFNEGLGETCURRENTCONTEXTPROC) (void);
#if EGL_EGL_PROTOTYPES
EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
#endif
#endif /* EGL_VERSION_1_4 */
#ifndef EGL_VERSION_1_5
......@@ -266,7 +312,7 @@ typedef void *EGLImage;
#define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull
#define EGL_TIMEOUT_EXPIRED 0x30F5
#define EGL_CONDITION_SATISFIED 0x30F6
#define EGL_NO_SYNC ((EGLSync)0)
#define EGL_NO_SYNC EGL_CAST(EGLSync,0)
#define EGL_SYNC_FENCE 0x30F9
#define EGL_GL_COLORSPACE 0x309D
#define EGL_GL_COLORSPACE_SRGB 0x3089
......@@ -283,7 +329,18 @@ typedef void *EGLImage;
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
#define EGL_IMAGE_PRESERVED 0x30D2
#define EGL_NO_IMAGE ((EGLImage)0)
#define EGL_NO_IMAGE EGL_CAST(EGLImage,0)
typedef EGLSync (EGLAPIENTRYP PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync);
typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
typedef EGLImage (EGLAPIENTRYP PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image);
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags);
#if EGL_EGL_PROTOTYPES
EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
......@@ -294,6 +351,7 @@ EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *nat
EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
#endif
#endif /* EGL_VERSION_1_5 */
#ifdef __cplusplus
......
This diff is collapsed.
......@@ -2,7 +2,7 @@
#define __eglplatform_h_
/*
** Copyright (c) 2007-2013 The Khronos Group Inc.
** Copyright (c) 2007-2016 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
......@@ -77,23 +77,46 @@ typedef HDC EGLNativeDisplayType;
typedef HBITMAP EGLNativePixmapType;
typedef HWND EGLNativeWindowType;
#elif defined(__APPLE__) || defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
#elif defined(__EMSCRIPTEN__)
typedef int EGLNativeDisplayType;
typedef int EGLNativePixmapType;
typedef int EGLNativeWindowType;
#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
typedef int EGLNativeDisplayType;
typedef void *EGLNativeWindowType;
typedef void *EGLNativePixmapType;
typedef void *EGLNativeWindowType;
#elif defined(__ANDROID__) || defined(ANDROID)
#elif defined(WL_EGL_PLATFORM)
#include <android/native_window.h>
typedef struct wl_display *EGLNativeDisplayType;
typedef struct wl_egl_pixmap *EGLNativePixmapType;
typedef struct wl_egl_window *EGLNativeWindowType;
#elif defined(__GBM__)
typedef struct gbm_device *EGLNativeDisplayType;
typedef struct gbm_bo *EGLNativePixmapType;
typedef void *EGLNativeWindowType;
#elif defined(__ANDROID__) || defined(ANDROID)
struct ANativeWindow;
struct egl_native_pixmap_t;
typedef struct ANativeWindow* EGLNativeWindowType;
typedef struct egl_native_pixmap_t* EGLNativePixmapType;
typedef void* EGLNativeDisplayType;
typedef struct egl_native_pixmap_t* EGLNativePixmapType;
typedef struct ANativeWindow* EGLNativeWindowType;
#elif defined(__unix__)
#elif defined(USE_OZONE)
typedef intptr_t EGLNativeDisplayType;
typedef intptr_t EGLNativePixmapType;
typedef intptr_t EGLNativeWindowType;
#elif defined(__unix__) || defined(USE_X11)
/* X11 (tentative) */
#include <X11/Xlib.h>
......@@ -103,6 +126,20 @@ typedef Display *EGLNativeDisplayType;
typedef Pixmap EGLNativePixmapType;
typedef Window EGLNativeWindowType;
#elif defined(__APPLE__)
typedef int EGLNativeDisplayType;
typedef void *EGLNativePixmapType;
typedef void *EGLNativeWindowType;
#elif defined(__HAIKU__)
#include <kernel/image.h>
typedef void *EGLNativeDisplayType;
typedef khronos_uintptr_t EGLNativePixmapType;
typedef khronos_uintptr_t EGLNativeWindowType;
#else
#error "Platform not recognized"
#endif
......@@ -122,4 +159,12 @@ typedef EGLNativeWindowType NativeWindowType;
*/
typedef khronos_int32_t EGLint;
/* C++ / C typecast macros for special EGL handle values */
#if defined(__cplusplus)
#define EGL_CAST(type, value) (static_cast<type>(value))
#else
#define EGL_CAST(type, value) ((type) (value))
#endif
#endif /* __eglplatform_h */
This diff is collapsed.
This diff is collapsed.