nvidia-tegra23: new package
PATCH 1/1 nvidia-tegra23: new package
This patch adds a new package for all libraries, drivers and codecs provided by Nvidia Linux 4 Tegra release 16.4.0.
--- package/Config.in | 1 + package/jpeg/Config.in | 10 + package/nvidia-tegra23/Config.in | 2 + .../nvidia-tegra23-binaries/Config.in | 119 + .../nvidia-tegra23-binaries-000-headers.patch | 14047 +++++++++++++++++++ .../nvidia-tegra23-binaries-001-pkgconfig.patch | 42 + .../nvidia-tegra23-binaries.hash | 3 + .../nvidia-tegra23-binaries.mk | 187 + .../nvidia-tegra23/nvidia-tegra23-codecs/Config.in | 9 + .../nvidia-tegra23-codecs.hash | 3 + .../nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk | 42 + package/nvidia-tegra23/nvidia-tegra23.mk | 10 + 12 files changed, 14475 insertions(+) create mode 100644 package/nvidia-tegra23/Config.in create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries-000-headers.patch create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries-001-pkgconfig.patch create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk create mode 100644 package/nvidia-tegra23/nvidia-tegra23.mk
package/Config.in +1 -0
@@ -344,6 +344,7 @@ endif source "package/minicom/Config.in" source "package/nanocom/Config.in" source "package/neard/Config.in" + source "package/nvidia-tegra23/Config.in" source "package/ofono/Config.in" source "package/ola/Config.in" source "package/on2-8170-modules/Config.in"
package/jpeg/Config.in +10 -0
@@ -30,6 +30,15 @@ config BR2_PACKAGE_JPEG_TURBO http://www.libjpeg-turbo.org +config BR2_PACKAGE_JPEG_TEGRA23 + bool "jpeg accelerated for tegra2 or tegra3" + depends on BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES + select BR2_PACKAGE_HAS_JPEG + help + Accelerated libjpeg for tegra + + https://developer.nvidia.com/linux-tegra + endchoice config BR2_PACKAGE_HAS_JPEG
@@ -39,5 +48,6 @@ config BR2_PACKAGE_PROVIDES_JPEG string default "libjpeg" if BR2_PACKAGE_LIBJPEG default "jpeg-turbo" if BR2_PACKAGE_JPEG_TURBO + default "nvidia-tegra23-binaries" if BR2_PACKAGE_JPEG_TEGRA23 endif
package/nvidia-tegra23/Config.in new file +2 -0
@@ -0,0 +1,2 @@ +source "package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in" +source "package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in"
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file +119 -0
119 lines not on this page · raw message
package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries-000-headers.patch new file +14047 -0
2,851 lines not on this page · raw message
package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries-001-pkgconfig.patch new file +42 -0
42 lines not on this page · raw message
package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash new file +3 -0
Lines of this file are not shown. View the raw message.
package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk new file +187 -0
187 lines not on this page · raw message
package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in new file +9 -0
Lines of this file are not shown. View the raw message.
package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash new file +3 -0
Lines of this file are not shown. View the raw message.
package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk new file +42 -0
42 lines not on this page · raw message
package/nvidia-tegra23/nvidia-tegra23.mk new file +10 -0
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Signature · 1 line
2.1.3
Part of the diff is not shown here. View the raw message.
PATCH 1/1 nvidia-tegra23: new package
Nicolas, All,
On 2014-11-05 16:52 +0100, Nicolas Serafini spake thusly:
Quoted 2 lines
This patch adds a new package for all libraries, drivers and codecs provided by Nvidia Linux 4 Tegra release 16.4.0.
I'm already working on a package for the Nvidia blobs for i386 and x86_64, so I think your submision could fit in that effort.
I'll take a look at this patch and carry it in my branch to see if it was posible to commonalise stuff between the Tegra and PC worlds.
Regards,
Yann E. MORIN.
Quoted 14,597 lines
Signed-off-by Nicolas Serafini <[email protected]>--- package/Config.in | 1 + package/jpeg/Config.in | 10 + package/nvidia-tegra23/Config.in | 2 + .../nvidia-tegra23-binaries/Config.in | 119 + .../nvidia-tegra23-binaries-000-headers.patch | 14047 +++++++++++++++++++ .../nvidia-tegra23-binaries-001-pkgconfig.patch | 42 + .../nvidia-tegra23-binaries.hash | 3 + .../nvidia-tegra23-binaries.mk | 187 + .../nvidia-tegra23/nvidia-tegra23-codecs/Config.in | 9 + .../nvidia-tegra23-codecs.hash | 3 + .../nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk | 42 + package/nvidia-tegra23/nvidia-tegra23.mk | 10 + 12 files changed, 14475 insertions(+) create mode 100644 package/nvidia-tegra23/Config.in create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries-000-headers.patch create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries-001-pkgconfig.patch create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash create mode 100644 package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash create mode 100644 package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk create mode 100644 package/nvidia-tegra23/nvidia-tegra23.mkpackage/Config.in +1
-0@@ -344,6 +344,7 @@ endif source "package/minicom/Config.in" source "package/nanocom/Config.in" source "package/neard/Config.in" + source "package/nvidia-tegra23/Config.in" source "package/ofono/Config.in" source "package/ola/Config.in" source "package/on2-8170-modules/Config.in"package/jpeg/Config.in +10
-0@@ -30,6 +30,15 @@ config BR2_PACKAGE_JPEG_TURBO http://www.libjpeg-turbo.org +config BR2_PACKAGE_JPEG_TEGRA23 + bool "jpeg accelerated for tegra2 or tegra3" + depends on BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES + select BR2_PACKAGE_HAS_JPEG + help + Accelerated libjpeg for tegra + + https://developer.nvidia.com/linux-tegra + endchoice config BR2_PACKAGE_HAS_JPEG@@ -39,5 +48,6 @@ config BR2_PACKAGE_PROVIDES_JPEG string default "libjpeg" if BR2_PACKAGE_LIBJPEG default "jpeg-turbo" if BR2_PACKAGE_JPEG_TURBO + default "nvidia-tegra23-binaries" if BR2_PACKAGE_JPEG_TEGRA23 endifpackage/nvidia-tegra23/Config.in new file +2
-0@@ -0,0 +1,2 @@ +source "package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in" +source "package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in"package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file +119
-0@@ -0,0 +1,119 @@ +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES + bool "nvidia-tegra23" + depends on BR2_arm && BR2_cortex_a9 + depends on BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXT + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXV + select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_HAS_LIBOPENMAX + help + Those packages provide libraries, drivers and firmware that comes from + NVIDIA Linux For Tegra. + + https://developer.nvidia.com/linux-tegra + +if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES + +config BR2_PACKAGE_PROVIDES_LIBEGL + default "nvidia-tegra23-binaries" + +config BR2_PACKAGE_PROVIDES_LIBGLES + default "nvidia-tegra23-binaries" + +config BR2_PACKAGE_PROVIDES_LIBOPENMAX + default "nvidia-tegra23-binaries" + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS + bool "GStreamer 0.10.x plugins" + select BR2_PACKAGE_GSTREAMER + help + GStreamer 0.10.x plugins + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_NV_SAMPLE_APPS + bool "NVIDIA multimedia sample apps" + depends on BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS + help + nvgstplayer and nvgstcapture multimedia test applications. + +choice + prompt "Tegra platform" + help + Select the SOC platform. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_TEGRA2 + bool "Tegra 2" + depends on !BR2_ARM_CPU_HAS_NEON + help + NVIDIA Tegra 2 is a dual cores Cortex-A9 without NEON. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_TEGRA3 + bool "Tegra 3" + help + NVIDIA Tegra 3 is a quad cores Cortex-A9 with NEON. + +endchoice + +choice + prompt "X11 ABI version" + default BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V11 + help + Select Tegra X11 ABI version. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V5 + bool "X11 ABI 5" + help + Tegra X11 ABI 5. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V6 + bool "X11 ABI 6" + help + Tegra X11 ABI 6. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V7 + bool "X11 ABI 7" + help + Tegra X11 ABI 7. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V8 + bool "X11 ABI 8" + help + Tegra X11 ABI 8. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V10 + bool "X11 ABI 10" + help + Tegra X11 ABI 10. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V11 + bool "X11 ABI 11" + help + Tegra X11 ABI 11. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V12 + bool "X11 ABI 12" + help + Tegra X11 ABI 12. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V13 + bool "X11 ABI 13" + help + Tegra X11 ABI 13. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_X11ABI_V14 + bool "X11 ABI 14" + help + Tegra X11 ABI 14. + +endchoice + +comment "tegra2 platform need NEON SIMD disabled" + depends on BR2_ARM_CPU_HAS_NEON + +endif + +comment "nvidia-tegra23-binaries needs a (e)glibc toolchain w/ EABIhf" + depends on BR2_arm && BR2_cortex_a9 + depends on !(BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC)package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries-000-headers.patch new file +14047
-0@@ -0,0 +1,14047 @@ +diff -rupN a/usr/include/EGL/eglext.h b/usr/include/EGL/eglext.h +--- a/usr/include/EGL/eglext.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/usr/include/EGL/eglext.h 2013-10-09 09:57:33.000000000 +0200 +@@ -0,0 +1,618 @@ ++#ifndef __eglext_h_ ++#define __eglext_h_ 1 ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* ++** Copyright (c) 2013 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 ++** "Materials"), to deal in the Materials without restriction, including ++** without limitation the rights to use, copy, modify, merge, publish, ++** distribute, sublicense, and/or sell copies of the Materials, and to ++** permit persons to whom the Materials are furnished to do so, subject to ++** the following conditions: ++** ++** The above copyright notice and this permission notice shall be included ++** in all copies or substantial portions of the Materials. ++** ++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ++** 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 ++** used to make the header, and the header can be found at ++** http://www.opengl.org/registry/ ++** ++** Khronos $Revision: 23328 $ on $Date: 2013-10-02 02:28:28 -0700 (Wed, 02 Oct 2013) $ ++*/ ++ ++#include <EGL/eglplatform.h> ++ ++#define EGL_EGLEXT_VERSION 20130917 ++ ++/* Generated C header for: ++ * API: egl ++ * Versions considered: .* ++ * Versions emitted: _nomatch_^ ++ * Default extensions included: egl ++ * Additional extensions included: _nomatch_^ ++ * Extensions removed: _nomatch_^ ++ */ ++ ++#ifndef EGL_KHR_cl_event ++#define EGL_KHR_cl_event 1 ++#define EGL_CL_EVENT_HANDLE_KHR 0x309C ++#define EGL_SYNC_CL_EVENT_KHR 0x30FE ++#define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF ++#endif /* EGL_KHR_cl_event */ ++ ++#ifndef EGL_KHR_client_get_all_proc_addresses ++#define EGL_KHR_client_get_all_proc_addresses 1 ++#endif /* EGL_KHR_client_get_all_proc_addresses */ ++ ++#ifndef EGL_KHR_config_attribs ++#define EGL_KHR_config_attribs 1 ++#define EGL_CONFORMANT_KHR 0x3042 ++#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020 ++#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040 ++#endif /* EGL_KHR_config_attribs */ ++ ++#ifndef EGL_KHR_create_context ++#define EGL_KHR_create_context 1 ++#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098 ++#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB ++#define EGL_CONTEXT_FLAGS_KHR 0x30FC ++#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD ++#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD ++#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE ++#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF ++#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001 ++#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002 ++#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004 ++#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001 ++#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002 ++#define EGL_OPENGL_ES3_BIT_KHR 0x00000040 ++#endif /* EGL_KHR_create_context */ ++ ++#ifndef EGL_KHR_fence_sync ++#define EGL_KHR_fence_sync 1 ++#ifdef KHRONOS_SUPPORT_INT64 ++#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0 ++#define EGL_SYNC_CONDITION_KHR 0x30F8 ++#define EGL_SYNC_FENCE_KHR 0x30F9 ++#endif /* KHRONOS_SUPPORT_INT64 */ ++#endif /* EGL_KHR_fence_sync */ ++ ++#ifndef EGL_KHR_get_all_proc_addresses ++#define EGL_KHR_get_all_proc_addresses 1 ++#endif /* EGL_KHR_get_all_proc_addresses */ ++ ++#ifndef EGL_KHR_gl_renderbuffer_image ++#define EGL_KHR_gl_renderbuffer_image 1 ++#define EGL_GL_RENDERBUFFER_KHR 0x30B9 ++#endif /* EGL_KHR_gl_renderbuffer_image */ ++ ++#ifndef EGL_KHR_gl_texture_2D_image ++#define EGL_KHR_gl_texture_2D_image 1 ++#define EGL_GL_TEXTURE_2D_KHR 0x30B1 ++#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC ++#endif /* EGL_KHR_gl_texture_2D_image */ ++ ++#ifndef EGL_KHR_gl_texture_3D_image ++#define EGL_KHR_gl_texture_3D_image 1 ++#define EGL_GL_TEXTURE_3D_KHR 0x30B2 ++#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD ++#endif /* EGL_KHR_gl_texture_3D_image */ ++ ++#ifndef EGL_KHR_gl_texture_cubemap_image ++#define EGL_KHR_gl_texture_cubemap_image 1 ++#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3 ++#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4 ++#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5 ++#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6 ++#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7 ++#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8 ++#endif /* EGL_KHR_gl_texture_cubemap_image */ ++ ++#ifndef EGL_KHR_image ++#define EGL_KHR_image 1 ++typedef void *EGLImageKHR; ++#define EGL_NATIVE_PIXMAP_KHR 0x30B0 ++#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) ++typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list); ++EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image); ++#endif ++#endif /* EGL_KHR_image */ ++ ++#ifndef EGL_KHR_image_base ++#define EGL_KHR_image_base 1 ++#define EGL_IMAGE_PRESERVED_KHR 0x30D2 ++#endif /* EGL_KHR_image_base */ ++ ++#ifndef EGL_KHR_image_pixmap ++#define EGL_KHR_image_pixmap 1 ++#endif /* EGL_KHR_image_pixmap */ ++ ++#ifndef EGL_KHR_lock_surface ++#define EGL_KHR_lock_surface 1 ++#define EGL_READ_SURFACE_BIT_KHR 0x0001 ++#define EGL_WRITE_SURFACE_BIT_KHR 0x0002 ++#define EGL_LOCK_SURFACE_BIT_KHR 0x0080 ++#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100 ++#define EGL_MATCH_FORMAT_KHR 0x3043 ++#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0 ++#define EGL_FORMAT_RGB_565_KHR 0x30C1 ++#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2 ++#define EGL_FORMAT_RGBA_8888_KHR 0x30C3 ++#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4 ++#define EGL_LOCK_USAGE_HINT_KHR 0x30C5 ++#define EGL_BITMAP_POINTER_KHR 0x30C6 ++#define EGL_BITMAP_PITCH_KHR 0x30C7 ++#define EGL_BITMAP_ORIGIN_KHR 0x30C8 ++#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9 ++#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA ++#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB ++#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC ++#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD ++#define EGL_LOWER_LEFT_KHR 0x30CE ++#define EGL_UPPER_LEFT_KHR 0x30CF ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list); ++EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface); ++#endif ++#endif /* EGL_KHR_lock_surface */ ++ ++#ifndef EGL_KHR_lock_surface2 ++#define EGL_KHR_lock_surface2 1 ++#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110 ++#endif /* EGL_KHR_lock_surface2 */ ++ ++#ifndef EGL_KHR_reusable_sync ++#define EGL_KHR_reusable_sync 1 ++typedef void *EGLSyncKHR; ++typedef khronos_utime_nanoseconds_t EGLTimeKHR; ++#ifdef KHRONOS_SUPPORT_INT64 ++#define EGL_SYNC_STATUS_KHR 0x30F1 ++#define EGL_SIGNALED_KHR 0x30F2 ++#define EGL_UNSIGNALED_KHR 0x30F3 ++#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5 ++#define EGL_CONDITION_SATISFIED_KHR 0x30F6 ++#define EGL_SYNC_TYPE_KHR 0x30F7 ++#define EGL_SYNC_REUSABLE_KHR 0x30FA ++#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001 ++#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull ++#define EGL_NO_SYNC_KHR ((EGLSyncKHR)0) ++typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync); ++typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list); ++EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync); ++EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout); ++EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode); ++EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value); ++#endif ++#endif /* KHRONOS_SUPPORT_INT64 */ ++#endif /* EGL_KHR_reusable_sync */ ++ ++#ifndef EGL_KHR_stream ++#define EGL_KHR_stream 1 ++typedef void *EGLStreamKHR; ++typedef khronos_uint64_t EGLuint64KHR; ++#ifdef KHRONOS_SUPPORT_INT64 ++#define EGL_NO_STREAM_KHR ((EGLStreamKHR)0) ++#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210 ++#define EGL_PRODUCER_FRAME_KHR 0x3212 ++#define EGL_CONSUMER_FRAME_KHR 0x3213 ++#define EGL_STREAM_STATE_KHR 0x3214 ++#define EGL_STREAM_STATE_CREATED_KHR 0x3215 ++#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216 ++#define EGL_STREAM_STATE_EMPTY_KHR 0x3217 ++#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218 ++#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219 ++#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A ++#define EGL_BAD_STREAM_KHR 0x321B ++#define EGL_BAD_STATE_KHR 0x321C ++typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list); ++EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream); ++EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value); ++EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value); ++EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value); ++#endif ++#endif /* KHRONOS_SUPPORT_INT64 */ ++#endif /* EGL_KHR_stream */ ++ ++#ifndef EGL_KHR_stream_consumer_gltexture ++#define EGL_KHR_stream_consumer_gltexture 1 ++#ifdef EGL_KHR_stream ++#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream); ++EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream); ++EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream); ++#endif ++#endif /* EGL_KHR_stream */ ++#endif /* EGL_KHR_stream_consumer_gltexture */ ++ ++#ifndef EGL_KHR_stream_cross_process_fd ++#define EGL_KHR_stream_cross_process_fd 1 ++typedef int EGLNativeFileDescriptorKHR; ++#ifdef EGL_KHR_stream ++#define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1)) ++typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream); ++typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream); ++EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor); ++#endif ++#endif /* EGL_KHR_stream */ ++#endif /* EGL_KHR_stream_cross_process_fd */ ++ ++#ifndef EGL_KHR_stream_fifo ++#define EGL_KHR_stream_fifo 1 ++#ifdef EGL_KHR_stream ++#define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC ++#define EGL_STREAM_TIME_NOW_KHR 0x31FD ++#define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE ++#define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value); ++#endif ++#endif /* EGL_KHR_stream */ ++#endif /* EGL_KHR_stream_fifo */ ++ ++#ifndef EGL_KHR_stream_producer_aldatalocator ++#define EGL_KHR_stream_producer_aldatalocator 1 ++#ifdef EGL_KHR_stream ++#endif /* EGL_KHR_stream */ ++#endif /* EGL_KHR_stream_producer_aldatalocator */ ++ ++#ifndef EGL_KHR_stream_producer_eglsurface ++#define EGL_KHR_stream_producer_eglsurface 1 ++#ifdef EGL_KHR_stream ++#define EGL_STREAM_BIT_KHR 0x0800 ++typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list); ++#endif ++#endif /* EGL_KHR_stream */ ++#endif /* EGL_KHR_stream_producer_eglsurface */ ++ ++#ifndef EGL_KHR_surfaceless_context ++#define EGL_KHR_surfaceless_context 1 ++#endif /* EGL_KHR_surfaceless_context */ ++ ++#ifndef EGL_KHR_vg_parent_image ++#define EGL_KHR_vg_parent_image 1 ++#define EGL_VG_PARENT_IMAGE_KHR 0x30BA ++#endif /* EGL_KHR_vg_parent_image */ ++ ++#ifndef EGL_KHR_wait_sync ++#define EGL_KHR_wait_sync 1 ++typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags); ++#endif ++#endif /* EGL_KHR_wait_sync */ ++ ++#ifndef EGL_ANDROID_blob_cache ++#define EGL_ANDROID_blob_cache 1 ++typedef khronos_ssize_t EGLsizeiANDROID; ++typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize); ++typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize); ++typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get); ++#endif ++#endif /* EGL_ANDROID_blob_cache */ ++ ++#ifndef EGL_ANDROID_framebuffer_target ++#define EGL_ANDROID_framebuffer_target 1 ++#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147 ++#endif /* EGL_ANDROID_framebuffer_target */ ++ ++#ifndef EGL_ANDROID_image_native_buffer ++#define EGL_ANDROID_image_native_buffer 1 ++#define EGL_NATIVE_BUFFER_ANDROID 0x3140 ++#endif /* EGL_ANDROID_image_native_buffer */ ++ ++#ifndef EGL_ANDROID_native_fence_sync ++#define EGL_ANDROID_native_fence_sync 1 ++#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144 ++#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145 ++#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146 ++#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1 ++typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync); ++#endif ++#endif /* EGL_ANDROID_native_fence_sync */ ++ ++#ifndef EGL_ANDROID_recordable ++#define EGL_ANDROID_recordable 1 ++#define EGL_RECORDABLE_ANDROID 0x3142 ++#endif /* EGL_ANDROID_recordable */ ++ ++#ifndef EGL_ANGLE_d3d_share_handle_client_buffer ++#define EGL_ANGLE_d3d_share_handle_client_buffer 1 ++#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200 ++#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */ ++ ++#ifndef EGL_ANGLE_query_surface_pointer ++#define EGL_ANGLE_query_surface_pointer 1 ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value); ++#endif ++#endif /* EGL_ANGLE_query_surface_pointer */ ++ ++#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle ++#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1 ++#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */ ++ ++#ifndef EGL_ARM_pixmap_multisample_discard ++#define EGL_ARM_pixmap_multisample_discard 1 ++#define EGL_DISCARD_SAMPLES_ARM 0x3286 ++#endif /* EGL_ARM_pixmap_multisample_discard */ ++ ++#ifndef EGL_EXT_buffer_age ++#define EGL_EXT_buffer_age 1 ++#define EGL_BUFFER_AGE_EXT 0x313D ++#endif /* EGL_EXT_buffer_age */ ++ ++#ifndef EGL_EXT_client_extensions ++#define EGL_EXT_client_extensions 1 ++#endif /* EGL_EXT_client_extensions */ ++ ++#ifndef EGL_EXT_create_context_robustness ++#define EGL_EXT_create_context_robustness 1 ++#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF ++#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138 ++#define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE ++#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF ++#endif /* EGL_EXT_create_context_robustness */ ++ ++#ifndef EGL_EXT_image_dma_buf_import ++#define EGL_EXT_image_dma_buf_import 1 ++#define EGL_LINUX_DMA_BUF_EXT 0x3270 ++#define EGL_LINUX_DRM_FOURCC_EXT 0x3271 ++#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272 ++#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273 ++#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274 ++#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275 ++#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276 ++#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277 ++#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278 ++#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279 ++#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A ++#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B ++#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C ++#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D ++#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E ++#define EGL_ITU_REC601_EXT 0x327F ++#define EGL_ITU_REC709_EXT 0x3280 ++#define EGL_ITU_REC2020_EXT 0x3281 ++#define EGL_YUV_FULL_RANGE_EXT 0x3282 ++#define EGL_YUV_NARROW_RANGE_EXT 0x3283 ++#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284 ++#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285 ++#endif /* EGL_EXT_image_dma_buf_import */ ++ ++#ifndef EGL_EXT_multiview_window ++#define EGL_EXT_multiview_window 1 ++#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134 ++#endif /* EGL_EXT_multiview_window */ ++ ++#ifndef EGL_EXT_platform_base ++#define EGL_EXT_platform_base 1 ++typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list); ++typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list); ++typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list); ++EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list); ++EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list); ++#endif ++#endif /* EGL_EXT_platform_base */ ++ ++#ifndef EGL_EXT_platform_x11 ++#define EGL_EXT_platform_x11 1 ++#define EGL_PLATFORM_X11_EXT 0x31D5 ++#define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6 ++#endif /* EGL_EXT_platform_x11 */ ++ ++#ifndef EGL_EXT_swap_buffers_with_damage ++#define EGL_EXT_swap_buffers_with_damage 1 ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects); ++#endif ++#endif /* EGL_EXT_swap_buffers_with_damage */ ++ ++#ifndef EGL_HI_clientpixmap ++#define EGL_HI_clientpixmap 1 ++struct EGLClientPixmapHI { ++ void *pData; ++ EGLint iWidth; ++ EGLint iHeight; ++ EGLint iStride; ++}; ++#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74 ++typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap); ++#endif ++#endif /* EGL_HI_clientpixmap */ ++ ++#ifndef EGL_HI_colorformats ++#define EGL_HI_colorformats 1 ++#define EGL_COLOR_FORMAT_HI 0x8F70 ++#define EGL_COLOR_RGB_HI 0x8F71 ++#define EGL_COLOR_RGBA_HI 0x8F72 ++#define EGL_COLOR_ARGB_HI 0x8F73 ++#endif /* EGL_HI_colorformats */ ++ ++#ifndef EGL_IMG_context_priority ++#define EGL_IMG_context_priority 1 ++#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100 ++#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101 ++#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102 ++#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103 ++#endif /* EGL_IMG_context_priority */ ++ ++#ifndef EGL_MESA_drm_image ++#define EGL_MESA_drm_image 1 ++#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 ++#define EGL_DRM_BUFFER_USE_MESA 0x31D1 ++#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 ++#define EGL_DRM_BUFFER_MESA 0x31D3 ++#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4 ++#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 ++#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 ++typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list); ++EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride); ++#endif ++#endif /* EGL_MESA_drm_image */ ++ ++#ifndef EGL_NV_3dvision_surface ++#define EGL_NV_3dvision_surface 1 ++#define EGL_AUTO_STEREO_NV 0x3136 ++#endif /* EGL_NV_3dvision_surface */ ++ ++#ifndef EGL_NV_coverage_sample ++#define EGL_NV_coverage_sample 1 ++#define EGL_COVERAGE_BUFFERS_NV 0x30E0 ++#define EGL_COVERAGE_SAMPLES_NV 0x30E1 ++#endif /* EGL_NV_coverage_sample */ ++ ++#ifndef EGL_NV_coverage_sample_resolve ++#define EGL_NV_coverage_sample_resolve 1 ++#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131 ++#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132 ++#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133 ++#endif /* EGL_NV_coverage_sample_resolve */ ++ ++#ifndef EGL_NV_depth_nonlinear ++#define EGL_NV_depth_nonlinear 1 ++#define EGL_DEPTH_ENCODING_NV 0x30E2 ++#define EGL_DEPTH_ENCODING_NONE_NV 0 ++#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3 ++#endif /* EGL_NV_depth_nonlinear */ ++ ++#ifndef EGL_NV_native_query ++#define EGL_NV_native_query 1 ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id); ++EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window); ++EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap); ++#endif ++#endif /* EGL_NV_native_query */ ++ ++#ifndef EGL_NV_post_convert_rounding ++#define EGL_NV_post_convert_rounding 1 ++#endif /* EGL_NV_post_convert_rounding */ ++ ++#ifndef EGL_NV_post_sub_buffer ++#define EGL_NV_post_sub_buffer 1 ++#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height); ++#endif ++#endif /* EGL_NV_post_sub_buffer */ ++ ++#ifndef EGL_NV_stream_sync ++#define EGL_NV_stream_sync 1 ++#define EGL_SYNC_NEW_FRAME_NV 0x321F ++typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list); ++#endif ++#endif /* EGL_NV_stream_sync */ ++ ++#ifndef EGL_NV_sync ++#define EGL_NV_sync 1 ++typedef void *EGLSyncNV; ++typedef khronos_utime_nanoseconds_t EGLTimeNV; ++#ifdef KHRONOS_SUPPORT_INT64 ++#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6 ++#define EGL_SYNC_STATUS_NV 0x30E7 ++#define EGL_SIGNALED_NV 0x30E8 ++#define EGL_UNSIGNALED_NV 0x30E9 ++#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001 ++#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull ++#define EGL_ALREADY_SIGNALED_NV 0x30EA ++#define EGL_TIMEOUT_EXPIRED_NV 0x30EB ++#define EGL_CONDITION_SATISFIED_NV 0x30EC ++#define EGL_SYNC_TYPE_NV 0x30ED ++#define EGL_SYNC_CONDITION_NV 0x30EE ++#define EGL_SYNC_FENCE_NV 0x30EF ++#define EGL_NO_SYNC_NV ((EGLSyncNV)0) ++typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync); ++typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode); ++typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list); ++EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync); ++EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync); ++EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout); ++EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode); ++EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value); ++#endif ++#endif /* KHRONOS_SUPPORT_INT64 */ ++#endif /* EGL_NV_sync */ ++ ++#ifndef EGL_NV_system_time ++#define EGL_NV_system_time 1 ++typedef khronos_utime_nanoseconds_t EGLuint64NV; ++#ifdef KHRONOS_SUPPORT_INT64 ++typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void); ++typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void); ++#ifdef EGL_EGLEXT_PROTOTYPES ++EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void); ++EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void); ++#endif ++#endif /* KHRONOS_SUPPORT_INT64 */ ++#endif /* EGL_NV_system_time */ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif +diff -rupN a/usr/include/EGL/egl.h b/usr/include/EGL/egl.h +--- a/usr/include/EGL/egl.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/usr/include/EGL/egl.h 2013-10-09 09:57:33.000000000 +0200 +@@ -0,0 +1,329 @@ ++/* -*- mode: c; tab-width: 8; -*- */ ++/* vi: set sw=4 ts=8: */ ++/* Reference version of egl.h for EGL 1.4. ++ * $Revision: 9356 $ on $Date: 2009-10-21 02:52:25 -0700 (Wed, 21 Oct 2009) $ ++ */ ++ ++/* ++** Copyright (c) 2007-2009 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 ++** "Materials"), to deal in the Materials without restriction, including ++** without limitation the rights to use, copy, modify, merge, publish, ++** distribute, sublicense, and/or sell copies of the Materials, and to ++** permit persons to whom the Materials are furnished to do so, subject to ++** the following conditions: ++** ++** The above copyright notice and this permission notice shall be included ++** in all copies or substantial portions of the Materials. ++** ++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. ++*/ ++ ++#ifndef __egl_h_ ++#define __egl_h_ ++ ++/* All platform-dependent types and macro boilerplate (such as EGLAPI ++ * and EGLAPIENTRY) should go in eglplatform.h. ++ */ ++#include <EGL/eglplatform.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* EGL Types */ ++/* EGLint is defined in eglplatform.h */ ++typedef unsigned int EGLBoolean; ++typedef unsigned int EGLenum; ++typedef void *EGLConfig; ++typedef void *EGLContext; ++typedef void *EGLDisplay; ++typedef void *EGLSurface; ++typedef void *EGLClientBuffer; ++ ++/* EGL Versioning */ ++#define EGL_VERSION_1_0 1 ++#define EGL_VERSION_1_1 1 ++#define EGL_VERSION_1_2 1 ++#define EGL_VERSION_1_3 1 ++#define EGL_VERSION_1_4 1 ++ ++/* EGL Enumerants. Bitmasks and other exceptional cases aside, most ++ * enums are assigned unique values starting at 0x3000. ++ */ ++ ++/* EGL aliases */ ++#define EGL_FALSE 0 ++#define EGL_TRUE 1 ++ ++/* Out-of-band handle values */ ++#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0) ++#define EGL_NO_CONTEXT ((EGLContext)0) ++#define EGL_NO_DISPLAY ((EGLDisplay)0) ++#define EGL_NO_SURFACE ((EGLSurface)0) ++ ++/* Out-of-band attribute value */ ++#define EGL_DONT_CARE ((EGLint)-1) ++ ++/* Errors / GetError return values */ ++#define EGL_SUCCESS 0x3000 ++#define EGL_NOT_INITIALIZED 0x3001 ++#define EGL_BAD_ACCESS 0x3002 ++#define EGL_BAD_ALLOC 0x3003 ++#define EGL_BAD_ATTRIBUTE 0x3004 ++#define EGL_BAD_CONFIG 0x3005 ++#define EGL_BAD_CONTEXT 0x3006 ++#define EGL_BAD_CURRENT_SURFACE 0x3007 ++#define EGL_BAD_DISPLAY 0x3008 ++#define EGL_BAD_MATCH 0x3009 ++#define EGL_BAD_NATIVE_PIXMAP 0x300A ++#define EGL_BAD_NATIVE_WINDOW 0x300B ++#define EGL_BAD_PARAMETER 0x300C ++#define EGL_BAD_SURFACE 0x300D ++#define EGL_CONTEXT_LOST 0x300E /* EGL 1.1 - IMG_power_management */ ++ ++/* Reserved 0x300F-0x301F for additional errors */ ++ ++/* Config attributes */ ++#define EGL_BUFFER_SIZE 0x3020 ++#define EGL_ALPHA_SIZE 0x3021 ++#define EGL_BLUE_SIZE 0x3022 ++#define EGL_GREEN_SIZE 0x3023 ++#define EGL_RED_SIZE 0x3024 ++#define EGL_DEPTH_SIZE 0x3025 ++#define EGL_STENCIL_SIZE 0x3026 ++#define EGL_CONFIG_CAVEAT 0x3027 ++#define EGL_CONFIG_ID 0x3028 ++#define EGL_LEVEL 0x3029 ++#define EGL_MAX_PBUFFER_HEIGHT 0x302A ++#define EGL_MAX_PBUFFER_PIXELS 0x302B ++#define EGL_MAX_PBUFFER_WIDTH 0x302C ++#define EGL_NATIVE_RENDERABLE 0x302D ++#define EGL_NATIVE_VISUAL_ID 0x302E ++#define EGL_NATIVE_VISUAL_TYPE 0x302F ++#define EGL_SAMPLES 0x3031 ++#define EGL_SAMPLE_BUFFERS 0x3032 ++#define EGL_SURFACE_TYPE 0x3033 ++#define EGL_TRANSPARENT_TYPE 0x3034 ++#define EGL_TRANSPARENT_BLUE_VALUE 0x3035 ++#define EGL_TRANSPARENT_GREEN_VALUE 0x3036 ++#define EGL_TRANSPARENT_RED_VALUE 0x3037 ++#define EGL_NONE 0x3038 /* Attrib list terminator */ ++#define EGL_BIND_TO_TEXTURE_RGB 0x3039 ++#define EGL_BIND_TO_TEXTURE_RGBA 0x303A ++#define EGL_MIN_SWAP_INTERVAL 0x303B ++#define EGL_MAX_SWAP_INTERVAL 0x303C ++#define EGL_LUMINANCE_SIZE 0x303D ++#define EGL_ALPHA_MASK_SIZE 0x303E ++#define EGL_COLOR_BUFFER_TYPE 0x303F ++#define EGL_RENDERABLE_TYPE 0x3040 ++#define EGL_MATCH_NATIVE_PIXMAP 0x3041 /* Pseudo-attribute (not queryable) */ ++#define EGL_CONFORMANT 0x3042 ++ ++/* Reserved 0x3041-0x304F for additional config attributes */ ++ ++/* Config attribute values */ ++#define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */ ++#define EGL_NON_CONFORMANT_CONFIG 0x3051 /* EGL_CONFIG_CAVEAT value */ ++#define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */ ++#define EGL_RGB_BUFFER 0x308E /* EGL_COLOR_BUFFER_TYPE value */ ++#define EGL_LUMINANCE_BUFFER 0x308F /* EGL_COLOR_BUFFER_TYPE value */ ++ ++/* More config attribute values, for EGL_TEXTURE_FORMAT */ ++#define EGL_NO_TEXTURE 0x305C ++#define EGL_TEXTURE_RGB 0x305D ++#define EGL_TEXTURE_RGBA 0x305E ++#define EGL_TEXTURE_2D 0x305F ++ ++/* Config attribute mask bits */ ++#define EGL_PBUFFER_BIT 0x0001 /* EGL_SURFACE_TYPE mask bits */ ++#define EGL_PIXMAP_BIT 0x0002 /* EGL_SURFACE_TYPE mask bits */ ++#define EGL_WINDOW_BIT 0x0004 /* EGL_SURFACE_TYPE mask bits */ ++#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 /* EGL_SURFACE_TYPE mask bits */ ++#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 /* EGL_SURFACE_TYPE mask bits */ ++#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 /* EGL_SURFACE_TYPE mask bits */ ++#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 /* EGL_SURFACE_TYPE mask bits */ ++ ++#define EGL_OPENGL_ES_BIT 0x0001 /* EGL_RENDERABLE_TYPE mask bits */ ++#define EGL_OPENVG_BIT 0x0002 /* EGL_RENDERABLE_TYPE mask bits */ ++#define EGL_OPENGL_ES2_BIT 0x0004 /* EGL_RENDERABLE_TYPE mask bits */ ++#define EGL_OPENGL_BIT 0x0008 /* EGL_RENDERABLE_TYPE mask bits */ ++ ++/* QueryString targets */ ++#define EGL_VENDOR 0x3053 ++#define EGL_VERSION 0x3054 ++#define EGL_EXTENSIONS 0x3055 ++#define EGL_CLIENT_APIS 0x308D ++ ++/* QuerySurface / SurfaceAttrib / CreatePbufferSurface targets */ ++#define EGL_HEIGHT 0x3056 ++#define EGL_WIDTH 0x3057 ++#define EGL_LARGEST_PBUFFER 0x3058 ++#define EGL_TEXTURE_FORMAT 0x3080 ++#define EGL_TEXTURE_TARGET 0x3081 ++#define EGL_MIPMAP_TEXTURE 0x3082 ++#define EGL_MIPMAP_LEVEL 0x3083 ++#define EGL_RENDER_BUFFER 0x3086 ++#define EGL_VG_COLORSPACE 0x3087 ++#define EGL_VG_ALPHA_FORMAT 0x3088 ++#define EGL_HORIZONTAL_RESOLUTION 0x3090 ++#define EGL_VERTICAL_RESOLUTION 0x3091 ++#define EGL_PIXEL_ASPECT_RATIO 0x3092 ++#define EGL_SWAP_BEHAVIOR 0x3093 ++#define EGL_MULTISAMPLE_RESOLVE 0x3099 ++ ++/* EGL_RENDER_BUFFER values / BindTexImage / ReleaseTexImage buffer targets */ ++#define EGL_BACK_BUFFER 0x3084 ++#define EGL_SINGLE_BUFFER 0x3085 ++ ++/* OpenVG color spaces */ ++#define EGL_VG_COLORSPACE_sRGB 0x3089 /* EGL_VG_COLORSPACE value */ ++#define EGL_VG_COLORSPACE_LINEAR 0x308A /* EGL_VG_COLORSPACE value */ ++ ++/* OpenVG alpha formats */ ++#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B /* EGL_ALPHA_FORMAT value */ ++#define EGL_VG_ALPHA_FORMAT_PRE 0x308C /* EGL_ALPHA_FORMAT value */ ++ ++/* Constant scale factor by which fractional display resolutions & ++ * aspect ratio are scaled when queried as integer values. ++ */ ++#define EGL_DISPLAY_SCALING 10000 ++ ++/* Unknown display resolution/aspect ratio */ ++#define EGL_UNKNOWN ((EGLint)-1) ++ ++/* Back buffer swap behaviors */ ++#define EGL_BUFFER_PRESERVED 0x3094 /* EGL_SWAP_BEHAVIOR value */ ++#define EGL_BUFFER_DESTROYED 0x3095 /* EGL_SWAP_BEHAVIOR value */ ++ ++/* CreatePbufferFromClientBuffer buffer types */ ++#define EGL_OPENVG_IMAGE 0x3096 ++ ++/* QueryContext targets */ ++#define EGL_CONTEXT_CLIENT_TYPE 0x3097 ++ ++/* CreateContext attributes */ ++#define EGL_CONTEXT_CLIENT_VERSION 0x3098 ++ ++/* Multisample resolution behaviors */ ++#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A /* EGL_MULTISAMPLE_RESOLVE value */ ++#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B /* EGL_MULTISAMPLE_RESOLVE value */ ++ ++/* BindAPI/QueryAPI targets */ ++#define EGL_OPENGL_ES_API 0x30A0 ++#define EGL_OPENVG_API 0x30A1 ++#define EGL_OPENGL_API 0x30A2 ++ ++/* GetCurrentSurface targets */ ++#define EGL_DRAW 0x3059 ++#define EGL_READ 0x305A ++ ++/* WaitNative engines */ ++#define EGL_CORE_NATIVE_ENGINE 0x305B ++ ++/* EGL 1.2 tokens renamed for consistency in EGL 1.3 */ ++#define EGL_COLORSPACE EGL_VG_COLORSPACE ++#define EGL_ALPHA_FORMAT EGL_VG_ALPHA_FORMAT ++#define EGL_COLORSPACE_sRGB EGL_VG_COLORSPACE_sRGB ++#define EGL_COLORSPACE_LINEAR EGL_VG_COLORSPACE_LINEAR ++#define EGL_ALPHA_FORMAT_NONPRE EGL_VG_ALPHA_FORMAT_NONPRE ++#define EGL_ALPHA_FORMAT_PRE EGL_VG_ALPHA_FORMAT_PRE ++ ++/* EGL extensions must request enum blocks from the Khronos ++ * API Registrar, who maintains the enumerant registry. Submit ++ * a bug in Khronos Bugzilla against task "Registry". ++ */ ++ ++ ++ ++/* EGL Functions */ ++ ++EGLAPI EGLint EGLAPIENTRY eglGetError(void); ++ ++EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id); ++EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor); ++EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy); ++ ++EGLAPI const char * EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name); ++ ++EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, ++ EGLint config_size, EGLint *num_config); ++EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, ++ EGLConfig *configs, EGLint config_size, ++ EGLint *num_config); ++EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, ++ EGLint attribute, EGLint *value); ++ ++EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, ++ EGLNativeWindowType win, ++ const EGLint *attrib_list); ++EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, ++ const EGLint *attrib_list); ++EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, ++ EGLNativePixmapType pixmap, ++ const EGLint *attrib_list); ++EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface); ++EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy, EGLSurface surface, ++ EGLint attribute, EGLint *value); ++ ++EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api); ++EGLAPI EGLenum EGLAPIENTRY eglQueryAPI(void); ++ ++EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient(void); ++ ++EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread(void); ++ ++EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer( ++ EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, ++ EGLConfig config, const EGLint *attrib_list); ++ ++EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, ++ EGLint attribute, EGLint value); ++EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); ++EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer); ++ ++ ++EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval); ++ ++ ++EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, ++ EGLContext share_context, ++ const EGLint *attrib_list); ++EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx); ++EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, ++ EGLSurface read, EGLContext ctx); ++ ++EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext(void); ++EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw); ++EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay(void); ++EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy, EGLContext ctx, ++ EGLint attribute, EGLint *value); ++ ++EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL(void); ++EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine); ++EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface); ++EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, ++ EGLNativePixmapType target); ++ ++/* This is a generic function pointer type, whose name indicates it must ++ * be cast to the proper type *and calling convention* before use. ++ */ ++typedef void (*__eglMustCastToProperFunctionPointerType)(void); ++ ++/* Now, define eglGetProcAddress using the generic function ptr. type */ ++EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY ++ eglGetProcAddress(const char *procname); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __egl_h_ */ +diff -rupN a/usr/include/EGL/eglplatform.h b/usr/include/EGL/eglplatform.h +--- a/usr/include/EGL/eglplatform.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/usr/include/EGL/eglplatform.h 2014-11-03 15:56:55.376739000 +0100 +@@ -0,0 +1,146 @@ ++#ifndef __eglplatform_h_ ++#define __eglplatform_h_ ++ ++/* ++** Copyright (c) 2007-2009 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 ++** "Materials"), to deal in the Materials without restriction, including ++** without limitation the rights to use, copy, modify, merge, publish, ++** distribute, sublicense, and/or sell copies of the Materials, and to ++** permit persons to whom the Materials are furnished to do so, subject to ++** the following conditions: ++** ++** The above copyright notice and this permission notice shall be included ++** in all copies or substantial portions of the Materials. ++** ++** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ++** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ++** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ++** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. ++*/ ++ ++/* Platform-specific types and definitions for egl.h ++ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $ ++ * ++ * Adopters may modify khrplatform.h and this file to suit their platform. ++ * You are encouraged to submit all modifications to the Khronos group so that ++ * they can be included in future versions of this file. Please submit changes ++ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) ++ * by filing a bug against product "EGL" component "Registry". ++ */ ++ ++#include <KHR/khrplatform.h> ++ ++/* Macros used in EGL function prototype declarations. ++ * ++ * EGL functions should be prototyped as: ++ * ++ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments); ++ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments); ++ * ++ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h ++ */ ++ ++#ifndef EGLAPI ++#define EGLAPI KHRONOS_APICALL ++#endif ++ ++#ifndef EGLAPIENTRY ++#define EGLAPIENTRY KHRONOS_APIENTRY ++#endif ++#define EGLAPIENTRYP EGLAPIENTRY* ++ ++/* The types NativeDisplayType, NativeWindowType, and NativePixmapType ++ * are aliases of window-system-dependent types, such as X Display * or ++ * Windows Device Context. They must be defined in platform-specific ++ * code below. The EGL-prefixed versions of Native*Type are the same ++ * types, renamed in EGL 1.3 so all types in the API start with "EGL". ++ * ++ * Khronos STRONGLY RECOMMENDS that you use the default definitions ++ * provided below, since these changes affect both binary and source ++ * portability of applications using EGL running on different EGL ++ * implementations. ++ */ ++ ++#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */ ++#ifndef WIN32_LEAN_AND_MEAN ++#define WIN32_LEAN_AND_MEAN 1 ++#endif ++#include <windows.h> ++ ++typedef HDC EGLNativeDisplayType; ++typedef HBITMAP EGLNativePixmapType; ++typedef HWND EGLNativeWindowType; ++ ++#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */ ++ ++typedef int EGLNativeDisplayType; ++typedef void *EGLNativeWindowType; ++typedef void *EGLNativePixmapType; ++ ++#elif defined(WL_EGL_PLATFORM) ++ ++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) /* Android */ ++ ++struct ANativeWindow; ++struct egl_native_pixmap_t; ++ ++typedef struct ANativeWindow *EGLNativeWindowType; ++typedef struct egl_native_pixmap_t *EGLNativePixmapType; ++typedef void *EGLNativeDisplayType; ++ ++#elif defined(__unix__) ++ ++#if 1 ++ ++typedef void *EGLNativeDisplayType; ++typedef khronos_uint32_t EGLNativePixmapType; ++typedef khronos_uint32_t EGLNativeWindowType; ++ ++#else ++ ++/* X11 (tentative) */ ++#include <X11/Xlib.h> ++#include <X11/Xutil.h> ++ ++typedef Display *EGLNativeDisplayType; ++typedef Pixmap EGLNativePixmapType; ++typedef Window EGLNativeWindowType; ++ ++#endif /* MESA_EGL_NO_X11_HEADERS */ ++ ++#else ++#error "Platform not recognized" ++#endif ++ ++/* EGL 1.2 types, renamed for consistency in EGL 1.3 */ ++typedef EGLNativeDisplayType NativeDisplayType; ++typedef EGLNativePixmapType NativePixmapType; ++typedef EGLNativeWindowType NativeWindowType; ++ ++ ++/* Define EGLint. This must be a signed integral type large enough to contain ++ * all legal attribute names and values passed into and out of EGL, whether ++ * their type is boolean, bitmask, enumerant (symbolic constant), integer, ++ * handle, or other. While in general a 32-bit integer will suffice, if ++ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit ++ * integer type. ++ */ ++typedef khronos_int32_t EGLint; ++ ++#endif /* __eglplatform_h */ +diff -rupN a/usr/include/GLES/egl.h b/usr/include/GLES/egl.h +--- a/usr/include/GLES/egl.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/usr/include/GLES/egl.h 2013-10-12 03:05:04.000000000 +0200 +@@ -0,0 +1,15 @@ ++/* ++ * Skeleton egl.h to provide compatibility for early GLES 1.0 ++ * applications. Several early implementations included gl.h ++ * in egl.h leading applications to include only egl.h ++ * ++ * $Revision: 6252 $ on $Date:: 2008-08-06 16:35:08 -0700 #$ ++ */ ++ ++#ifndef __legacy_egl_h_ ++#define __legacy_egl_h_ ++ ++#include <EGL/egl.h> ++#include <GLES/gl.h> ++ ++#endif /* __legacy_egl_h_ */ +diff -rupN a/usr/include/GLES/glext.h b/usr/include/GLES/glext.h +--- a/usr/include/GLES/glext.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/usr/include/GLES/glext.h 2013-10-12 03:05:04.000000000 +0200 +@@ -0,0 +1,1278 @@ ++#ifndef __glext_h_ ++#define __glext_h_ ++ ++/* $Revision: 20798 $ on $Date:: 2013-03-07 01:19:34 -0800 #$ */ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* ++ * This document is licensed under the SGI Free Software B License Version ++ * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . ++ */ ++ ++#ifndef GL_APIENTRYP ++# define GL_APIENTRYP GL_APIENTRY* ++#endif ++ ++/*------------------------------------------------------------------------* ++ * OES extension tokens ++ *------------------------------------------------------------------------*/ ++ ++/* GL_OES_blend_equation_separate */ ++#ifndef GL_OES_blend_equation_separate ++/* BLEND_EQUATION_RGB_OES same as BLEND_EQUATION_OES */ ++#define GL_BLEND_EQUATION_RGB_OES 0x8009 ++#define GL_BLEND_EQUATION_ALPHA_OES 0x883D ++#endif ++ ++/* GL_OES_blend_func_separate */ ++#ifndef GL_OES_blend_func_separate ++#define GL_BLEND_DST_RGB_OES 0x80C8 ++#define GL_BLEND_SRC_RGB_OES 0x80C9 ++#define GL_BLEND_DST_ALPHA_OES 0x80CA ++#define GL_BLEND_SRC_ALPHA_OES 0x80CB ++#endif ++ ++/* GL_OES_blend_subtract */ ++#ifndef GL_OES_blend_subtract ++#define GL_BLEND_EQUATION_OES 0x8009 ++#define GL_FUNC_ADD_OES 0x8006 ++#define GL_FUNC_SUBTRACT_OES 0x800A ++#define GL_FUNC_REVERSE_SUBTRACT_OES 0x800B ++#endif ++ ++/* GL_OES_compressed_ETC1_RGB8_texture */ ++#ifndef GL_OES_compressed_ETC1_RGB8_texture ++#define GL_ETC1_RGB8_OES 0x8D64 ++#endif ++ ++/* GL_OES_depth24 */ ++#ifndef GL_OES_depth24 ++#define GL_DEPTH_COMPONENT24_OES 0x81A6 ++#endif ++ ++/* GL_OES_depth32 */ ++#ifndef GL_OES_depth32 ++#define GL_DEPTH_COMPONENT32_OES 0x81A7 ++#endif ++ ++/* GL_OES_draw_texture */ ++#ifndef GL_OES_draw_texture ++#define GL_TEXTURE_CROP_RECT_OES 0x8B9D ++#endif ++ ++/* GL_OES_EGL_image */ ++#ifndef GL_OES_EGL_image ++typedef void* GLeglImageOES; ++#endif ++ ++/* GL_OES_EGL_image_external */ ++#ifndef GL_OES_EGL_image_external ++/* GLeglImageOES defined in GL_OES_EGL_image already. */ ++#define GL_TEXTURE_EXTERNAL_OES 0x8D65 ++#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 ++#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 ++#endif ++ ++/* GL_OES_element_index_uint */ ++#ifndef GL_OES_element_index_uint ++#define GL_UNSIGNED_INT 0x1405 ++#endif ++ ++/* GL_OES_fixed_point */ ++#ifndef GL_OES_fixed_point ++#define GL_FIXED_OES 0x140C ++#endif ++ ++/* GL_OES_framebuffer_object */ ++#ifndef GL_OES_framebuffer_object ++#define GL_NONE_OES 0 ++#define GL_FRAMEBUFFER_OES 0x8D40 ++#define GL_RENDERBUFFER_OES 0x8D41 ++#define GL_RGBA4_OES 0x8056 ++#define GL_RGB5_A1_OES 0x8057 ++#define GL_RGB565_OES 0x8D62 ++#define GL_DEPTH_COMPONENT16_OES 0x81A5 ++#define GL_RENDERBUFFER_WIDTH_OES 0x8D42 ++#define GL_RENDERBUFFER_HEIGHT_OES 0x8D43 ++#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES 0x8D44 ++#define GL_RENDERBUFFER_RED_SIZE_OES 0x8D50 ++#define GL_RENDERBUFFER_GREEN_SIZE_OES 0x8D51 ++#define GL_RENDERBUFFER_BLUE_SIZE_OES 0x8D52 ++#define GL_RENDERBUFFER_ALPHA_SIZE_OES 0x8D53 ++#define GL_RENDERBUFFER_DEPTH_SIZE_OES 0x8D54 ++#define GL_RENDERBUFFER_STENCIL_SIZE_OES 0x8D55 ++#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES 0x8CD0 ++#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES 0x8CD1 ++#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES 0x8CD2 ++#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8CD3 ++#define GL_COLOR_ATTACHMENT0_OES 0x8CE0 ++#define GL_DEPTH_ATTACHMENT_OES 0x8D00 ++#define GL_STENCIL_ATTACHMENT_OES 0x8D20 ++#define GL_FRAMEBUFFER_COMPLETE_OES 0x8CD5 ++#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES 0x8CD6 ++#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES 0x8CD7 ++#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES 0x8CD9 ++#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES 0x8CDA ++#define GL_FRAMEBUFFER_UNSUPPORTED_OES 0x8CDD ++#define GL_FRAMEBUFFER_BINDING_OES 0x8CA6 ++#define GL_RENDERBUFFER_BINDING_OES 0x8CA7 ++#define GL_MAX_RENDERBUFFER_SIZE_OES 0x84E8 ++#define GL_INVALID_FRAMEBUFFER_OPERATION_OES 0x0506 ++#endif ++ ++/* GL_OES_mapbuffer */ ++#ifndef GL_OES_mapbuffer ++#define GL_WRITE_ONLY_OES 0x88B9 ++#define GL_BUFFER_ACCESS_OES 0x88BB ++#define GL_BUFFER_MAPPED_OES 0x88BC ++#define GL_BUFFER_MAP_POINTER_OES 0x88BD ++#endif ++ ++/* GL_OES_matrix_get */ ++#ifndef GL_OES_matrix_get ++#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D ++#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E ++#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F ++#endif ++ ++/* GL_OES_matrix_palette */ ++#ifndef GL_OES_matrix_palette ++#define GL_MAX_VERTEX_UNITS_OES 0x86A4 ++#define GL_MAX_PALETTE_MATRICES_OES 0x8842 ++#define GL_MATRIX_PALETTE_OES 0x8840 ++#define GL_MATRIX_INDEX_ARRAY_OES 0x8844 ++#define GL_WEIGHT_ARRAY_OES 0x86AD ++#define GL_CURRENT_PALETTE_MATRIX_OES 0x8843 ++#define GL_MATRIX_INDEX_ARRAY_SIZE_OES 0x8846 ++#define GL_MATRIX_INDEX_ARRAY_TYPE_OES 0x8847 ++#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES 0x8848 ++#define GL_MATRIX_INDEX_ARRAY_POINTER_OES 0x8849 ++#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8B9E ++#define GL_WEIGHT_ARRAY_SIZE_OES 0x86AB ++#define GL_WEIGHT_ARRAY_TYPE_OES 0x86A9 ++#define GL_WEIGHT_ARRAY_STRIDE_OES 0x86AA ++#define GL_WEIGHT_ARRAY_POINTER_OES 0x86AC ++#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES 0x889E ++#endif ++ ++/* GL_OES_packed_depth_stencil */ ++#ifndef GL_OES_packed_depth_stencil ++#define GL_DEPTH_STENCIL_OES 0x84F9 ++#define GL_UNSIGNED_INT_24_8_OES 0x84FA ++#define GL_DEPTH24_STENCIL8_OES 0x88F0 ++#endif ++ ++/* GL_OES_required_internalformat */ ++/* No new tokens introduced by this extension. */ ++ ++/* GL_OES_rgb8_rgba8 */ ++#ifndef GL_OES_rgb8_rgba8 ++#define GL_RGB8_OES 0x8051 ++#define GL_RGBA8_OES 0x8058 ++#endif ++ ++/* GL_OES_stencil1 */ ++#ifndef GL_OES_stencil1 ++#define GL_STENCIL_INDEX1_OES 0x8D46 ++#endif ++ ++/* GL_OES_stencil4 */ ++#ifndef GL_OES_stencil4 ++#define GL_STENCIL_INDEX4_OES 0x8D47 ++#endif ++ ++/* GL_OES_stencil8 */ ++#ifndef GL_OES_stencil8 ++#define GL_STENCIL_INDEX8_OES 0x8D48 ++#endif ++ ++/* GL_OES_stencil_wrap */ ++#ifndef GL_OES_stencil_wrap ++#define GL_INCR_WRAP_OES 0x8507 ++#define GL_DECR_WRAP_OES 0x8508 ++#endif ++ ++/* GL_OES_texture_cube_map */ ++#ifndef GL_OES_texture_cube_map ++#define GL_NORMAL_MAP_OES 0x8511 ++#define GL_REFLECTION_MAP_OES 0x8512 ++#define GL_TEXTURE_CUBE_MAP_OES 0x8513 ++#define GL_TEXTURE_BINDING_CUBE_MAP_OES 0x8514 ++#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES 0x8515 ++#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES 0x8516 ++#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES 0x8517 ++#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES 0x8518 ++#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES 0x8519 ++#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES 0x851A ++#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES 0x851C ++#define GL_TEXTURE_GEN_MODE_OES 0x2500 ++#define GL_TEXTURE_GEN_STR_OES 0x8D60 ++#endif ++ ++/* GL_OES_texture_mirrored_repeat */ ++#ifndef GL_OES_texture_mirrored_repeat ++#define GL_MIRRORED_REPEAT_OES 0x8370 ++#endif ++ ++/* GL_OES_vertex_array_object */ ++#ifndef GL_OES_vertex_array_object ++#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 ++#endif ++ ++/*------------------------------------------------------------------------* ++ * AMD extension tokens ++ *------------------------------------------------------------------------*/ ++ ++/* GL_AMD_compressed_3DC_texture */ ++#ifndef GL_AMD_compressed_3DC_texture ++#define GL_3DC_X_AMD 0x87F9 ++#define GL_3DC_XY_AMD 0x87FA ++#endif ++ ++/* GL_AMD_compressed_ATC_texture */ ++#ifndef GL_AMD_compressed_ATC_texture ++#define GL_ATC_RGB_AMD 0x8C92 ++#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 ++#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE ++#endif ++ ++/*------------------------------------------------------------------------* ++ * APPLE extension tokens ++ *------------------------------------------------------------------------*/ ++ ++/* GL_APPLE_copy_texture_levels */ ++/* No new tokens introduced by this extension. */ ++ ++/* GL_APPLE_framebuffer_multisample */ ++#ifndef GL_APPLE_framebuffer_multisample ++#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB ++#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 ++#define GL_MAX_SAMPLES_APPLE 0x8D57 ++#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 ++#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 ++#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 ++#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA ++#endif ++ ++/* GL_APPLE_sync */ ++#ifndef GL_APPLE_sync ++ ++/* These types are defined with reference to <inttypes.h> ++ * in the Apple extension spec, but here we use the Khronos ++ * portable types in khrplatform.h, and assume those types ++ * are always defined. ++ * If any other extensions using these types are defined, ++ * the typedefs must move out of this block and be shared. ++ */ ++typedef khronos_int64_t GLint64; ++typedef khronos_uint64_t GLuint64; ++typedef struct __GLsync *GLsync; ++ ++#define GL_SYNC_OBJECT_APPLE 0x8A53 ++#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 ++#define GL_OBJECT_TYPE_APPLE 0x9112 ++#define GL_SYNC_CONDITION_APPLE 0x9113 ++#define GL_SYNC_STATUS_APPLE 0x9114 ++#define GL_SYNC_FLAGS_APPLE 0x9115 ++#define GL_SYNC_FENCE_APPLE 0x9116 ++#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 ++#define GL_UNSIGNALED_APPLE 0x9118 ++#define GL_SIGNALED_APPLE 0x9119 ++#define GL_ALREADY_SIGNALED_APPLE 0x911A ++#define GL_TIMEOUT_EXPIRED_APPLE 0x911B ++#define GL_CONDITION_SATISFIED_APPLE 0x911C ++#define GL_WAIT_FAILED_APPLE 0x911D ++#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 ++#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull ++#endif ++ ++/* GL_APPLE_texture_2D_limited_npot */ ++/* No new tokens introduced by this extension. */ ++ ++/* GL_APPLE_texture_format_BGRA8888 */ ++#ifndef GL_APPLE_texture_format_BGRA8888 ++#define GL_BGRA_EXT 0x80E1 ++#endif ++ ++/* GL_APPLE_texture_max_level */ ++#ifndef GL_APPLE_texture_max_level ++#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D ++#endif ++ ++/*------------------------------------------------------------------------* ++ * ARM extension tokens ++ *------------------------------------------------------------------------*/ ++ ++/* GL_ARM_rgba8 */ ++/* No new tokens introduced by this extension. */ ++ ++/*------------------------------------------------------------------------* ++ * EXT extension tokens ++ *------------------------------------------------------------------------*/ ++ ++/* GL_EXT_blend_minmax */ ++#ifndef GL_EXT_blend_minmax ++#define GL_MIN_EXT 0x8007 ++#define GL_MAX_EXT 0x8008 ++#endif ++ ++/* GL_EXT_discard_framebuffer */ ++#ifndef GL_EXT_discard_framebuffer ++#define GL_COLOR_EXT 0x1800 ++#define GL_DEPTH_EXT 0x1801 ++#define GL_STENCIL_EXT 0x1802 ++#endif ++ ++/* GL_EXT_map_buffer_range */ ++#ifndef GL_EXT_map_buffer_range ++#define GL_MAP_READ_BIT_EXT 0x0001 ++#define GL_MAP_WRITE_BIT_EXT 0x0002 ++#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 ++#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 ++#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 ++#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 ++#endif ++ ++/* GL_EXT_multisampled_render_to_texture */ ++#ifndef GL_EXT_multisampled_render_to_texture ++#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C ++/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ ++#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB ++#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 ++#define GL_MAX_SAMPLES_EXT 0x8D57 ++#endif ++ ++/* GL_EXT_multi_draw_arrays */ ++/* No new tokens introduced by this extension. */ ++ ++/* GL_EXT_read_format_bgra */ ++#ifndef GL_EXT_read_format_bgra ++#define GL_BGRA_EXT 0x80E1 ++#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 ++#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 ++#endif ++ ++/* GL_EXT_robustness */ ++#ifndef GL_EXT_robustness ++/* reuse GL_NO_ERROR */ ++#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 ++#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 ++#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 ++#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 ++#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 ++#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 ++#define GL_NO_RESET_NOTIFICATION_EXT 0x8261 ++#endif ++ ++/* GL_EXT_sRGB */ ++#ifndef GL_EXT_sRGB ++#define GL_SRGB_EXT 0x8C40 ++#define GL_SRGB_ALPHA_EXT 0x8C42 ++#define GL_SRGB8_ALPHA8_EXT 0x8C43 ++#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 ++#endif ++ ++/* GL_EXT_texture_compression_dxt1 */ ++#ifndef GL_EXT_texture_compression_dxt1 ++#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 ++#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 ++#endif ++ ++/* GL_EXT_texture_filter_anisotropic */ ++#ifndef GL_EXT_texture_filter_anisotropic ++#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE ++#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF ++#endif ++ ++/* GL_EXT_texture_format_BGRA8888 */ ++#ifndef GL_EXT_texture_format_BGRA8888 ++#define GL_BGRA_EXT 0x80E1 ++#endif ++ ++/* GL_EXT_texture_lod_bias */ ++#ifndef GL_EXT_texture_lod_bias ++#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD ++#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500 ++#define GL_TEXTURE_LOD_BIAS_EXT 0x8501 ++#endif ++ ++/* GL_EXT_texture_storage */ ++#ifndef GL_EXT_texture_storage ++#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F ++#define GL_ALPHA8_EXT 0x803C ++#define GL_LUMINANCE8_EXT 0x8040 ++#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 ++#define GL_RGBA32F_EXT 0x8814 ++#define GL_RGB32F_EXT 0x8815 ++#define GL_ALPHA32F_EXT 0x8816 ++#define GL_LUMINANCE32F_EXT 0x8818 ++#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 ++/* reuse GL_RGBA16F_EXT */ ++#define GL_RGB16F_EXT 0x881B ++#define GL_ALPHA16F_EXT 0x881C ++#define GL_LUMINANCE16F_EXT 0x881E ++#define GL_LUMINANCE_ALPHA16F_EXT 0x881F ++#define GL_RGB10_A2_EXT 0x8059 ++#define GL_RGB10_EXT 0x8052 ++#define GL_BGRA8_EXT 0x93A1 ++#endif ++ ++/*------------------------------------------------------------------------* ++ * IMG extension tokens ++ *------------------------------------------------------------------------*/ ++ ++/* GL_IMG_read_format */ ++#ifndef GL_IMG_read_format ++#define GL_BGRA_IMG 0x80E1 ++#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 ++#endif ++ ++/* GL_IMG_texture_compression_pvrtc */ ++#ifndef GL_IMG_texture_compression_pvrtc ++#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 ++#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 ++#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 ++#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 ++#endif ++ ++/* GL_IMG_texture_env_enhanced_fixed_function */ ++#ifndef GL_IMG_texture_env_enhanced_fixed_function ++#define GL_MODULATE_COLOR_IMG 0x8C04 ++#define GL_RECIP_ADD_SIGNED_ALPHA_IMG 0x8C05 ++#define GL_TEXTURE_ALPHA_MODULATE_IMG 0x8C06 ++#define GL_FACTOR_ALPHA_MODULATE_IMG 0x8C07 ++#define GL_FRAGMENT_ALPHA_MODULATE_IMG 0x8C08 ++#define GL_ADD_BLEND_IMG 0x8C09 ++#define GL_DOT3_RGBA_IMG 0x86AF ++#endif ++ ++/* GL_IMG_user_clip_plane */ ++#ifndef GL_IMG_user_clip_plane ++#define GL_CLIP_PLANE0_IMG 0x3000 ++#define GL_CLIP_PLANE1_IMG 0x3001 ++#define GL_CLIP_PLANE2_IMG 0x3002 ++#define GL_CLIP_PLANE3_IMG 0x3003 ++#define GL_CLIP_PLANE4_IMG 0x3004 ++#define GL_CLIP_PLANE5_IMG 0x3005 ++#define GL_MAX_CLIP_PLANES_IMG 0x0D32 ++#endif ++ ++/* GL_IMG_multisampled_render_to_texture */ ++#ifndef GL_IMG_multisampled_render_to_texture ++#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 ++#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 ++#define GL_MAX_SAMPLES_IMG 0x9135 ++#define GL_TEXTURE_SAMPLES_IMG 0x9136 ++#endif ++ ++/*------------------------------------------------------------------------* ++ * NV extension tokens ++ *------------------------------------------------------------------------*/ ++ ++/* GL_NV_fence */ ++#ifndef GL_NV_fence ++#define GL_ALL_COMPLETED_NV 0x84F2 ++#define GL_FENCE_STATUS_NV 0x84F3 ++#define GL_FENCE_CONDITION_NV 0x84F4 ++#endif ++ ++/*------------------------------------------------------------------------* ++ * QCOM extension tokens ++ *------------------------------------------------------------------------*/ ++ ++/* GL_QCOM_driver_control */ ++/* No new tokens introduced by this extension. */ ++ ++/* GL_QCOM_extended_get */ ++#ifndef GL_QCOM_extended_get ++#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 ++#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 ++#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 ++#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 ++#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 ++#define GL_TEXTURE_TYPE_QCOM 0x8BD7 ++#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 ++#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 ++#define GL_TEXTURE_TARGET_QCOM 0x8BDA ++#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB ++#define GL_STATE_RESTORE 0x8BDC ++#endif ++ ++/* GL_QCOM_extended_get2 */ ++/* No new tokens introduced by this extension. */ ++ ++/* GL_QCOM_perfmon_global_mode */ ++#ifndef GL_QCOM_perfmon_global_mode ++#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 ++#endif ++ ++/* GL_QCOM_writeonly_rendering */ ++#ifndef GL_QCOM_writeonly_rendering ++#define GL_WRITEONLY_RENDERING_QCOM 0x8823 ++#endif ++ ++/* GL_QCOM_tiled_rendering */ ++#ifndef GL_QCOM_tiled_rendering ++#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 ++#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 ++#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 ++#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 ++#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 ++#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 ++#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 ++#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 ++#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 ++#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 ++#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 ++#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 ++#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 ++#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 ++#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 ++#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 ++#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 ++#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 ++#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 ++#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 ++#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 ++#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 ++#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 ++#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 ++#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 ++#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 ++#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 ++#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 ++#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 ++#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 ++#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 ++#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 ++#endif ++ ++/*------------------------------------------------------------------------* ++ * End of extension tokens, start of corresponding extension functions ++ *------------------------------------------------------------------------*/ ++ ++/*------------------------------------------------------------------------* ++ * OES extension functions ++ *------------------------------------------------------------------------*/ ++ ++/* GL_OES_blend_equation_separate */ ++#ifndef GL_OES_blend_equation_separate ++#define GL_OES_blend_equation_separate 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha); ++#endif ++typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha); ++#endif ++ ++/* GL_OES_blend_func_separate */ ++#ifndef GL_OES_blend_func_separate ++#define GL_OES_blend_func_separate 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); ++#endif ++typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); ++#endif ++ ++/* GL_OES_blend_subtract */ ++#ifndef GL_OES_blend_subtract ++#define GL_OES_blend_subtract 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode); ++#endif ++typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode); ++#endif ++ ++/* GL_OES_byte_coordinates */ ++#ifndef GL_OES_byte_coordinates ++#define GL_OES_byte_coordinates 1 ++#endif ++ ++/* GL_OES_compressed_ETC1_RGB8_texture */ ++#ifndef GL_OES_compressed_ETC1_RGB8_texture ++#define GL_OES_compressed_ETC1_RGB8_texture 1 ++#endif ++ ++/* GL_OES_depth24 */ ++#ifndef GL_OES_depth24 ++#define GL_OES_depth24 1 ++#endif ++ ++/* GL_OES_depth32 */ ++#ifndef GL_OES_depth32 ++#define GL_OES_depth32 1 ++#endif ++ ++/* GL_OES_draw_texture */ ++#ifndef GL_OES_draw_texture ++#define GL_OES_draw_texture 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); ++GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height); ++GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); ++GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords); ++GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords); ++GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords); ++GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); ++GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords); ++#endif ++typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); ++typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height); ++typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); ++typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords); ++typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords); ++typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords); ++typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height); ++typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords); ++#endif ++ ++/* GL_OES_EGL_image */ ++#ifndef GL_OES_EGL_image ++#define GL_OES_EGL_image 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); ++GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); ++#endif ++typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); ++typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); ++#endif ++ ++/* GL_OES_EGL_image_external */ ++#ifndef GL_OES_EGL_image_external ++#define GL_OES_EGL_image_external 1 ++/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ ++#endif ++ ++/* GL_OES_element_index_uint */ ++#ifndef GL_OES_element_index_uint ++#define GL_OES_element_index_uint 1 ++#endif ++ ++/* GL_OES_extended_matrix_palette */ ++#ifndef GL_OES_extended_matrix_palette ++#define GL_OES_extended_matrix_palette 1 ++#endif ++ ++/* GL_OES_fbo_render_mipmap */ ++#ifndef GL_OES_fbo_render_mipmap ++#define GL_OES_fbo_render_mipmap 1 ++#endif ++ ++/* GL_OES_fixed_point */ ++#ifndef GL_OES_fixed_point ++#define GL_OES_fixed_point 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLclampx ref); ++GL_API void GL_APIENTRY glClearColorxOES (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); ++GL_API void GL_APIENTRY glClearDepthxOES (GLclampx depth); ++GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation); ++GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); ++GL_API void GL_APIENTRY glDepthRangexOES (GLclampx zNear, GLclampx zFar); ++GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param); ++GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *params); ++GL_API void GL_APIENTRY glFrustumxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); ++GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum pname, GLfixed eqn[4]); ++GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params); ++GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params); ++GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params); ++GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum env, GLenum pname, GLfixed *params); ++GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params); ++GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param); ++GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *params); ++GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param); ++GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params); ++GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width); ++GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m); ++GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param); ++GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params); ++GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m); ++GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); ++GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz); ++GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); ++GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param); ++GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params); ++GL_API void GL_APIENTRY glPointSizexOES (GLfixed size); ++GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units); ++GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); ++GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert); ++GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z); ++GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param); ++GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params); ++GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param); ++GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params); ++GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z); ++#endif ++typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLclampx ref); ++typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha); ++typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLclampx depth); ++typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation); ++typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); ++typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLclampx zNear, GLclampx zFar); ++typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param); ++typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); ++typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum pname, GLfixed eqn[4]); ++typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum env, GLenum pname, GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param); ++typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param); ++typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width); ++typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m); ++typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param); ++typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m); ++typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q); ++typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz); ++typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar); ++typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param); ++typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size); ++typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units); ++typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); ++typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert); ++typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); ++typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param); ++typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param); ++typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); ++#endif ++ ++/* GL_OES_framebuffer_object */ ++#ifndef GL_OES_framebuffer_object ++#define GL_OES_framebuffer_object 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer); ++GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer); ++GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint* renderbuffers); ++GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint* renderbuffers); ++GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); ++GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint* params); ++GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer); ++GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer); ++GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint* framebuffers); ++GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint* framebuffers); ++GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target); ++GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); ++GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); ++GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint* params); ++GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target); ++#endif ++typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer); ++typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer); ++typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers); ++typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers); ++typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); ++typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params); ++typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer); ++typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer); ++typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers); ++typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers); ++typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target); ++typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); ++typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); ++typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); ++typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target); ++#endif ++ ++/* GL_OES_mapbuffer */ ++#ifndef GL_OES_mapbuffer ++#define GL_OES_mapbuffer 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); ++GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); ++GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid ** params); ++#endif ++typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); ++typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); ++typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid ** params); ++#endif ++ ++/* GL_OES_matrix_get */ ++#ifndef GL_OES_matrix_get ++#define GL_OES_matrix_get 1 ++#endif ++ ++/* GL_OES_matrix_palette */ ++#ifndef GL_OES_matrix_palette ++#define GL_OES_matrix_palette 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex); ++GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void); ++GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); ++GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); ++#endif ++typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex); ++typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void); ++typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); ++typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); ++#endif ++ ++/* GL_OES_packed_depth_stencil */ ++#ifndef GL_OES_packed_depth_stencil ++#define GL_OES_packed_depth_stencil 1 ++#endif ++ ++/* GL_OES_required_internalformat */ ++#ifndef GL_OES_required_internalformat ++#define GL_OES_required_internalformat 1 ++#endif ++ ++/* GL_OES_query_matrix */ ++#ifndef GL_OES_query_matrix ++#define GL_OES_query_matrix 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]); ++#endif ++typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed mantissa[16], GLint exponent[16]); ++#endif ++ ++/* GL_OES_rgb8_rgba8 */ ++#ifndef GL_OES_rgb8_rgba8 ++#define GL_OES_rgb8_rgba8 1 ++#endif ++ ++/* GL_OES_single_precision */ ++#ifndef GL_OES_single_precision ++#define GL_OES_single_precision 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glDepthRangefOES (GLclampf zNear, GLclampf zFar); ++GL_API void GL_APIENTRY glFrustumfOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); ++GL_API void GL_APIENTRY glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); ++GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation); ++GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum pname, GLfloat eqn[4]); ++GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth); ++#endif ++typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf zNear, GLclampf zFar); ++typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); ++typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar); ++typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation); ++typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum pname, GLfloat eqn[4]); ++typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth); ++#endif ++ ++/* GL_OES_stencil1 */ ++#ifndef GL_OES_stencil1 ++#define GL_OES_stencil1 1 ++#endif ++ ++/* GL_OES_stencil4 */ ++#ifndef GL_OES_stencil4 ++#define GL_OES_stencil4 1 ++#endif ++ ++/* GL_OES_stencil8 */ ++#ifndef GL_OES_stencil8 ++#define GL_OES_stencil8 1 ++#endif ++ ++/* GL_OES_stencil_wrap */ ++#ifndef GL_OES_stencil_wrap ++#define GL_OES_stencil_wrap 1 ++#endif ++ ++/* GL_OES_texture_cube_map */ ++#ifndef GL_OES_texture_cube_map ++#define GL_OES_texture_cube_map 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param); ++GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params); ++GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param); ++GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params); ++GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param); ++GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params); ++GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params); ++GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params); ++GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params); ++#endif ++typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param); ++typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params); ++typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param); ++typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params); ++typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param); ++typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params); ++typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params); ++typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params); ++typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params); ++#endif ++ ++/* GL_OES_texture_env_crossbar */ ++#ifndef GL_OES_texture_env_crossbar ++#define GL_OES_texture_env_crossbar 1 ++#endif ++ ++/* GL_OES_texture_mirrored_repeat */ ++#ifndef GL_OES_texture_mirrored_repeat ++#define GL_OES_texture_mirrored_repeat 1 ++#endif ++ ++/* GL_OES_vertex_array_object */ ++#ifndef GL_OES_vertex_array_object ++#define GL_OES_vertex_array_object 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glBindVertexArrayOES (GLuint array); ++GL_API void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); ++GL_API void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); ++GL_API GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); ++#endif ++typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); ++typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); ++typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); ++typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); ++#endif ++ ++/*------------------------------------------------------------------------* ++ * AMD extension functions ++ *------------------------------------------------------------------------*/ ++ ++/* GL_AMD_compressed_3DC_texture */ ++#ifndef GL_AMD_compressed_3DC_texture ++#define GL_AMD_compressed_3DC_texture 1 ++#endif ++ ++/* GL_AMD_compressed_ATC_texture */ ++#ifndef GL_AMD_compressed_ATC_texture ++#define GL_AMD_compressed_ATC_texture 1 ++#endif ++ ++/*------------------------------------------------------------------------* ++ * APPLE extension functions ++ *------------------------------------------------------------------------*/ ++ ++/* GL_APPLE_copy_texture_levels */ ++#ifndef GL_APPLE_copy_texture_levels ++#define GL_APPLE_copy_texture_levels 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); ++#endif ++typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); ++#endif ++ ++/* GL_APPLE_framebuffer_multisample */ ++#ifndef GL_APPLE_framebuffer_multisample ++#define GL_APPLE_framebuffer_multisample 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum, GLsizei, GLenum, GLsizei, GLsizei); ++GL_API void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); ++#endif /* GL_GLEXT_PROTOTYPES */ ++typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); ++typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); ++#endif ++ ++/* GL_APPLE_sync */ ++#ifndef GL_APPLE_sync ++#define GL_APPLE_sync 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags); ++GL_API GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync); ++GL_API void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync); ++GL_API GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); ++GL_API void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); ++GL_API void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params); ++GL_API void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); ++#endif ++typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); ++typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync); ++typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync); ++typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); ++typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); ++typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params); ++typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); ++#endif ++ ++/* GL_APPLE_texture_2D_limited_npot */ ++#ifndef GL_APPLE_texture_2D_limited_npot ++#define GL_APPLE_texture_2D_limited_npot 1 ++#endif ++ ++/* GL_APPLE_texture_format_BGRA8888 */ ++#ifndef GL_APPLE_texture_format_BGRA8888 ++#define GL_APPLE_texture_format_BGRA8888 1 ++#endif ++ ++/* GL_APPLE_texture_max_level */ ++#ifndef GL_APPLE_texture_max_level ++#define GL_APPLE_texture_max_level 1 ++#endif ++ ++/*------------------------------------------------------------------------* ++ * ARM extension functions ++ *------------------------------------------------------------------------*/ ++ ++/* GL_ARM_rgba8 */ ++#ifndef GL_ARM_rgba8 ++#define GL_ARM_rgba8 1 ++#endif ++ ++/*------------------------------------------------------------------------* ++ * EXT extension functions ++ *------------------------------------------------------------------------*/ ++ ++/* GL_EXT_blend_minmax */ ++#ifndef GL_EXT_blend_minmax ++#define GL_EXT_blend_minmax 1 ++#endif ++ ++/* GL_EXT_discard_framebuffer */ ++#ifndef GL_EXT_discard_framebuffer ++#define GL_EXT_discard_framebuffer 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); ++#endif ++typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); ++#endif ++ ++/* GL_EXT_map_buffer_range */ ++#ifndef GL_EXT_map_buffer_range ++#define GL_EXT_map_buffer_range 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY *glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); ++GL_API void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length); ++#endif ++typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); ++typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); ++#endif ++ ++/* GL_EXT_multisampled_render_to_texture */ ++#ifndef GL_EXT_multisampled_render_to_texture ++#define GL_EXT_multisampled_render_to_texture 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei); ++GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); ++#endif ++typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); ++typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); ++#endif ++ ++/* GL_EXT_multi_draw_arrays */ ++#ifndef GL_EXT_multi_draw_arrays ++#define GL_EXT_multi_draw_arrays 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum, const GLint *, const GLsizei *, GLsizei); ++GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); ++#endif /* GL_GLEXT_PROTOTYPES */ ++typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); ++typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); ++#endif ++ ++/* GL_EXT_read_format_bgra */ ++#ifndef GL_EXT_read_format_bgra ++#define GL_EXT_read_format_bgra 1 ++#endif ++ ++/* GL_EXT_robustness */ ++#ifndef GL_EXT_robustness ++#define GL_EXT_robustness 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); ++GL_API void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); ++GL_API void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, float *params); ++GL_API void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); ++#endif ++typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); ++typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); ++typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, float *params); ++typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); ++#endif ++ ++/* GL_EXT_sRGB */ ++#ifndef GL_EXT_sRGB ++#define GL_EXT_sRGB 1 ++#endif ++ ++/* GL_EXT_texture_compression_dxt1 */ ++#ifndef GL_EXT_texture_compression_dxt1 ++#define GL_EXT_texture_compression_dxt1 1 ++#endif ++ ++/* GL_EXT_texture_filter_anisotropic */ ++#ifndef GL_EXT_texture_filter_anisotropic ++#define GL_EXT_texture_filter_anisotropic 1 ++#endif ++ ++/* GL_EXT_texture_format_BGRA8888 */ ++#ifndef GL_EXT_texture_format_BGRA8888 ++#define GL_EXT_texture_format_BGRA8888 1 ++#endif ++ ++/* GL_EXT_texture_lod_bias */ ++#ifndef GL_EXT_texture_lod_bias ++#define GL_EXT_texture_lod_bias 1 ++#endif ++ ++/* GL_EXT_texture_storage */ ++#ifndef GL_EXT_texture_storage ++#define GL_EXT_texture_storage 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); ++GL_API void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); ++GL_API void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); ++GL_API void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); ++GL_API void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); ++GL_API void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); ++#endif ++typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); ++typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); ++typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); ++typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); ++typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); ++typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); ++#endif ++ ++/*------------------------------------------------------------------------* ++ * IMG extension functions ++ *------------------------------------------------------------------------*/ ++ ++/* GL_IMG_read_format */ ++#ifndef GL_IMG_read_format ++#define GL_IMG_read_format 1 ++#endif ++ ++/* GL_IMG_texture_compression_pvrtc */ ++#ifndef GL_IMG_texture_compression_pvrtc ++#define GL_IMG_texture_compression_pvrtc 1 ++#endif ++ ++/* GL_IMG_texture_env_enhanced_fixed_function */ ++#ifndef GL_IMG_texture_env_enhanced_fixed_function ++#define GL_IMG_texture_env_enhanced_fixed_function 1 ++#endif ++ ++/* GL_IMG_user_clip_plane */ ++#ifndef GL_IMG_user_clip_plane ++#define GL_IMG_user_clip_plane 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glClipPlanefIMG (GLenum, const GLfloat *); ++GL_API void GL_APIENTRY glClipPlanexIMG (GLenum, const GLfixed *); ++#endif ++typedef void (GL_APIENTRYP PFNGLCLIPPLANEFIMGPROC) (GLenum p, const GLfloat *eqn); ++typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMGPROC) (GLenum p, const GLfixed *eqn); ++#endif ++ ++/* GL_IMG_multisampled_render_to_texture */ ++#ifndef GL_IMG_multisampled_render_to_texture ++#define GL_IMG_multisampled_render_to_texture 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum, GLsizei, GLenum, GLsizei, GLsizei); ++GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum, GLenum, GLenum, GLuint, GLint, GLsizei); ++#endif ++typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); ++typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); ++#endif ++ ++/*------------------------------------------------------------------------* ++ * NV extension functions ++ *------------------------------------------------------------------------*/ ++ ++/* NV_fence */ ++#ifndef GL_NV_fence ++#define GL_NV_fence 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glDeleteFencesNV (GLsizei, const GLuint *); ++GL_API void GL_APIENTRY glGenFencesNV (GLsizei, GLuint *); ++GL_API GLboolean GL_APIENTRY glIsFenceNV (GLuint); ++GL_API GLboolean GL_APIENTRY glTestFenceNV (GLuint); ++GL_API void GL_APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *); ++GL_API void GL_APIENTRY glFinishFenceNV (GLuint); ++GL_API void GL_APIENTRY glSetFenceNV (GLuint, GLenum); ++#endif ++typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); ++typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); ++typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); ++typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); ++typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); ++typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); ++typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); ++#endif ++ ++/*------------------------------------------------------------------------* ++ * QCOM extension functions ++ *------------------------------------------------------------------------*/ ++ ++/* GL_QCOM_driver_control */ ++#ifndef GL_QCOM_driver_control ++#define GL_QCOM_driver_control 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); ++GL_API void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); ++GL_API void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); ++GL_API void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); ++#endif ++typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); ++typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); ++typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); ++typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); ++#endif ++ ++/* GL_QCOM_extended_get */ ++#ifndef GL_QCOM_extended_get ++#define GL_QCOM_extended_get 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); ++GL_API void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); ++GL_API void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); ++GL_API void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); ++GL_API void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); ++GL_API void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); ++GL_API void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); ++GL_API void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); ++#endif ++typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); ++typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); ++typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); ++typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); ++typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); ++typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); ++typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); ++typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); ++#endif ++ ++/* GL_QCOM_extended_get2 */ ++#ifndef GL_QCOM_extended_get2 ++#define GL_QCOM_extended_get2 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); ++GL_API void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); ++GL_API GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); ++GL_API void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); ++#endif ++typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); ++typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); ++typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); ++typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); ++#endif ++ ++/* GL_QCOM_perfmon_global_mode */ ++#ifndef GL_QCOM_perfmon_global_mode ++#define GL_QCOM_perfmon_global_mode 1 ++#endif ++ ++/* GL_QCOM_writeonly_rendering */ ++#ifndef GL_QCOM_writeonly_rendering ++#define GL_QCOM_writeonly_rendering 1 ++#endif ++ ++/* GL_QCOM_tiled_rendering */ ++#ifndef GL_QCOM_tiled_rendering ++#define GL_QCOM_tiled_rendering 1 ++#ifdef GL_GLEXT_PROTOTYPES ++GL_API void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); ++GL_API void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); ++#endif ++typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); ++typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); ++#endif ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* __glext_h_ */ ++ +diff -rupN a/usr/include/GLES/gl.h b/usr/include/GLES/gl.h +--- a/usr/include/GLES/gl.h 1970-01-01 01:00:00.000000000 +0100 ++++ b/usr/include/GLES/gl.h 2013-10-12 03:05:04.000000000 +0200 +@@ -0,0 +1,770 @@ ++#ifndef __gl_h_ ++#define __gl_h_ ++ ++/* $Revision: 10601 $ on $Date:: 2010-03-04 22:15:27 -0800 #$ */ ++ ++#include <GLES/glplatform.h> ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++/* ++ * This document is licensed under the SGI Free Software B License Version ++ * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . ++ */ ++ ++typedef void GLvoid; ++typedef char GLchar; ++typedef unsigned int GLenum; ++typedef unsigned char GLboolean; ++typedef unsigned int GLbitfield; ++typedef khronos_int8_t GLbyte; ++typedef short GLshort; ++typedef int GLint; ++typedef int GLsizei; ++typedef khronos_uint8_t GLubyte; ++typedef unsigned short GLushort; ++typedef unsigned int GLuint; ++typedef khronos_float_t GLfloat; ++typedef khronos_float_t GLclampf; ++typedef khronos_int32_t GLfixed; ++typedef khronos_int32_t GLclampx; ++ ++typedef khronos_intptr_t GLintptr; ++typedef khronos_ssize_t GLsizeiptr; ++ ++ ++/*************************************************************/ ++ ++/* OpenGL ES core versions */ ++#define GL_VERSION_ES_CM_1_0 1 ++#define GL_VERSION_ES_CL_1_0 1 ++#define GL_VERSION_ES_CM_1_1 1 ++#define GL_VERSION_ES_CL_1_1 1 ++ ++/* ClearBufferMask */ ++#define GL_DEPTH_BUFFER_BIT 0x00000100 ++#define GL_STENCIL_BUFFER_BIT 0x00000400 ++#define GL_COLOR_BUFFER_BIT 0x00004000 ++ ++/* Boolean */ ++#define GL_FALSE 0 ++#define GL_TRUE 1 ++ ++/* BeginMode */ ++#define GL_POINTS 0x0000 ++#define GL_LINES 0x0001 ++#define GL_LINE_LOOP 0x0002 ++#define GL_LINE_STRIP 0x0003 ++#define GL_TRIANGLES 0x0004 ++#define GL_TRIANGLE_STRIP 0x0005 ++#define GL_TRIANGLE_FAN 0x0006 ++ ++/* AlphaFunction */ ++#define GL_NEVER 0x0200 ++#define GL_LESS 0x0201 ++#define GL_EQUAL 0x0202 ++#define GL_LEQUAL 0x0203 ++#define GL_GREATER 0x0204 ++#define GL_NOTEQUAL 0x0205 ++#define GL_GEQUAL 0x0206 ++#define GL_ALWAYS 0x0207 ++ ++/* BlendingFactorDest */ ++#define GL_ZERO 0 ++#define GL_ONE 1 ++#define GL_SRC_COLOR 0x0300 ++#define GL_ONE_MINUS_SRC_COLOR 0x0301 ++#define GL_SRC_ALPHA 0x0302 ++#define GL_ONE_MINUS_SRC_ALPHA 0x0303 ++#define GL_DST_ALPHA 0x0304 ++#define GL_ONE_MINUS_DST_ALPHA 0x0305 ++ ++/* BlendingFactorSrc */ ++/* GL_ZERO */ ++/* GL_ONE */ ++#define GL_DST_COLOR 0x0306 ++#define GL_ONE_MINUS_DST_COLOR 0x0307 ++#define GL_SRC_ALPHA_SATURATE 0x0308 ++/* GL_SRC_ALPHA */ ++/* GL_ONE_MINUS_SRC_ALPHA */ ++/* GL_DST_ALPHA */ ++/* GL_ONE_MINUS_DST_ALPHA */ ++ ++/* ClipPlaneName */ ++#define GL_CLIP_PLANE0 0x3000 ++#define GL_CLIP_PLANE1 0x3001 ++#define GL_CLIP_PLANE2 0x3002 ++#define GL_CLIP_PLANE3 0x3003 ++#define GL_CLIP_PLANE4 0x3004 ++#define GL_CLIP_PLANE5 0x3005 ++ ++/* ColorMaterialFace */ ++/* GL_FRONT_AND_BACK */ ++ ++/* ColorMaterialParameter */ ++/* GL_AMBIENT_AND_DIFFUSE */ ++ ++/* ColorPointerType */ ++/* GL_UNSIGNED_BYTE */ ++/* GL_FLOAT */ ++/* GL_FIXED */ ++ ++/* CullFaceMode */ ++#define GL_FRONT 0x0404 ++#define GL_BACK 0x0405 ++#define GL_FRONT_AND_BACK 0x0408 ++ ++/* DepthFunction */ ++/* GL_NEVER */ ++/* GL_LESS */ ++/* GL_EQUAL */ ++/* GL_LEQUAL */ ++/* GL_GREATER */ ++/* GL_NOTEQUAL */ ++/* GL_GEQUAL */ ++/* GL_ALWAYS */ ++ ++/* EnableCap */ ++#define GL_FOG 0x0B60 ++#define GL_LIGHTING 0x0B50 ++#define GL_TEXTURE_2D 0x0DE1 ++#define GL_CULL_FACE 0x0B44 ++#define GL_ALPHA_TEST 0x0BC0 ++#define GL_BLEND 0x0BE2 ++#define GL_COLOR_LOGIC_OP 0x0BF2 ++#define GL_DITHER 0x0BD0 ++#define GL_STENCIL_TEST 0x0B90 ++#define GL_DEPTH_TEST 0x0B71 ++/* GL_LIGHT0 */ ++/* GL_LIGHT1 */ ++/* GL_LIGHT2 */ ++/* GL_LIGHT3 */ ++/* GL_LIGHT4 */ ++/* GL_LIGHT5 */ ++/* GL_LIGHT6 */ ++/* GL_LIGHT7 */ ++#define GL_POINT_SMOOTH 0x0B10 ++#define GL_LINE_SMOOTH 0x0B20 ++#define GL_SCISSOR_TEST 0x0C11 ++#define GL_COLOR_MATERIAL 0x0B57 ++#define GL_NORMALIZE 0x0BA1 ++#define GL_RESCALE_NORMAL 0x803A ++#define GL_POLYGON_OFFSET_FILL 0x8037 ++#define GL_VERTEX_ARRAY 0x8074 ++#define GL_NORMAL_ARRAY 0x8075 ++#define GL_COLOR_ARRAY 0x8076 ++#define GL_TEXTURE_COORD_ARRAY 0x8078 ++#define GL_MULTISAMPLE 0x809D ++#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E ++#define GL_SAMPLE_ALPHA_TO_ONE 0x809F ++#define GL_SAMPLE_COVERAGE 0x80A0 ++ ++/* ErrorCode */ ++#define GL_NO_ERROR 0 ++#define GL_INVALID_ENUM 0x0500 ++#define GL_INVALID_VALUE 0x0501 ++#define GL_INVALID_OPERATION 0x0502 ++#define GL_STACK_OVERFLOW 0x0503 ++#define GL_STACK_UNDERFLOW 0x0504 ++#define GL_OUT_OF_MEMORY 0x0505 ++ ++/* FogMode */ ++/* GL_LINEAR */ ++#define GL_EXP 0x0800 ++#define GL_EXP2 0x0801 ++ ++/* FogParameter */ ++#define GL_FOG_DENSITY 0x0B62 ++#define GL_FOG_START 0x0B63 ++#define GL_FOG_END 0x0B64 ++#define GL_FOG_MODE 0x0B65 ++#define GL_FOG_COLOR 0x0B66 ++ ++/* FrontFaceDirection */ ++#define GL_CW 0x0900 ++#define GL_CCW 0x0901 ++ ++/* GetPName */ ++#define GL_CURRENT_COLOR 0x0B00 ++#define GL_CURRENT_NORMAL 0x0B02 ++#define GL_CURRENT_TEXTURE_COORDS 0x0B03 ++#define GL_POINT_SIZE 0x0B11 ++#define GL_POINT_SIZE_MIN 0x8126 ++#define GL_POINT_SIZE_MAX 0x8127 ++#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 ++#define GL_POINT_DISTANCE_ATTENUATION 0x8129 ++#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 ++#define GL_LINE_WIDTH 0x0B21 ++#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 ++#define GL_ALIASED_POINT_SIZE_RANGE 0x846D ++#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E ++#define GL_CULL_FACE_MODE 0x0B45 ++#define GL_FRONT_FACE 0x0B46 ++#define GL_SHADE_MODEL 0x0B54 ++#define GL_DEPTH_RANGE 0x0B70 ++#define GL_DEPTH_WRITEMASK 0x0B72 ++#define GL_DEPTH_CLEAR_VALUE 0x0B73 ++#define GL_DEPTH_FUNC 0x0B74 ++#define GL_STENCIL_CLEAR_VALUE 0x0B91 ++#define GL_STENCIL_FUNC 0x0B92 ++#define GL_STENCIL_VALUE_MASK 0x0B93 ++#define GL_STENCIL_FAIL 0x0B94 ++#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 ++#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 ++#define GL_STENCIL_REF 0x0B97 ++#define GL_STENCIL_WRITEMASK 0x0B98 ++#define GL_MATRIX_MODE 0x0BA0 ++#define GL_VIEWPORT 0x0BA2 ++#define GL_MODELVIEW_STACK_DEPTH 0x0BA3 ++#define GL_PROJECTION_STACK_DEPTH 0x0BA4 ++#define GL_TEXTURE_STACK_DEPTH 0x0BA5 ++#define GL_MODELVIEW_MATRIX 0x0BA6 ++#define GL_PROJECTION_MATRIX 0x0BA7 ++#define GL_TEXTURE_MATRIX 0x0BA8 ++#define GL_ALPHA_TEST_FUNC 0x0BC1 ++#define GL_ALPHA_TEST_REF 0x0BC2 ++#define GL_BLEND_DST 0x0BE0 ++#define GL_BLEND_SRC 0x0BE1 ++#define GL_LOGIC_OP_MODE 0x0BF0 ++#define GL_SCISSOR_BOX 0x0C10 ++#define GL_SCISSOR_TEST 0x0C11 ++#define GL_COLOR_CLEAR_VALUE 0x0C22 ++#define GL_COLOR_WRITEMASK 0x0C23 ++#define GL_UNPACK_ALIGNMENT 0x0CF5 ++#define GL_PACK_ALIGNMENT 0x0D05 ++#define GL_MAX_LIGHTS 0x0D31 ++#define GL_MAX_CLIP_PLANES 0x0D32 ++#define GL_MAX_TEXTURE_SIZE 0x0D33 ++#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 ++#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 ++#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 ++#define GL_MAX_VIEWPORT_DIMS 0x0D3A ++#define GL_MAX_TEXTURE_UNITS 0x84E2 ++#define GL_SUBPIXEL_BITS 0x0D50 ++#define GL_RED_BITS 0x0D52 ++#define GL_GREEN_BITS 0x0D53 ++#define GL_BLUE_BITS 0x0D54 ++#define GL_ALPHA_BITS 0x0D55 ++#define GL_DEPTH_BITS 0x0D56 ++#define GL_STENCIL_BITS 0x0D57 ++#define GL_POLYGON_OFFSET_UNITS 0x2A00 ++#define GL_POLYGON_OFFSET_FILL 0x8037 ++#define GL_POLYGON_OFFSET_FACTOR 0x8038 ++#define GL_TEXTURE_BINDING_2D 0x8069 ++#define GL_VERTEX_ARRAY_SIZE 0x807A ++#define GL_VERTEX_ARRAY_TYPE 0x807B ++#define GL_VERTEX_ARRAY_STRIDE 0x807C ++#define GL_NORMAL_ARRAY_TYPE 0x807E ++#define GL_NORMAL_ARRAY_STRIDE 0x807F ++#define GL_COLOR_ARRAY_SIZE 0x8081 ++#define GL_COLOR_ARRAY_TYPE 0x8082 ++#define GL_COLOR_ARRAY_STRIDE 0x8083 ++#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 ++#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 ++#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A ++#define GL_VERTEX_ARRAY_POINTER 0x808E ++#define GL_NORMAL_ARRAY_POINTER 0x808F ++#define GL_COLOR_ARRAY_POINTER 0x8090 ++#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 ++#define GL_SAMPLE_BUFFERS 0x80A8 ++#define GL_SAMPLES 0x80A9 ++#define GL_SAMPLE_COVERAGE_VALUE 0x80AA ++#define GL_SAMPLE_COVERAGE_INVERT 0x80AB ++ ++/* GetTextureParameter */ ++/* GL_TEXTURE_MAG_FILTER */ ++/* GL_TEXTURE_MIN_FILTER */ ++/* GL_TEXTURE_WRAP_S */ ++/* GL_TEXTURE_WRAP_T */ ++ ++#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 ++#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 ++ ++/* HintMode */ ++#define GL_DONT_CARE 0x1100 ++#define GL_FASTEST 0x1101 ++#define GL_NICEST 0x1102 ++ ++/* HintTarget */ ++#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 ++#define GL_POINT_SMOOTH_HINT 0x0C51 ++#define GL_LINE_SMOOTH_HINT 0x0C52 ++#define GL_FOG_HINT 0x0C54 ++#define GL_GENERATE_MIPMAP_HINT 0x8192 ++ ++/* LightModelParameter */ ++#define GL_LIGHT_MODEL_AMBIENT 0x0B53 ++#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 ++ ++/* LightParameter */ ++#define GL_AMBIENT 0x1200 ++#define GL_DIFFUSE 0x1201 ++#define GL_SPECULAR 0x1202 ++#define GL_POSITION 0x1203 ++#define GL_SPOT_DIRECTION 0x1204 ++#define GL_SPOT_EXPONENT 0x1205 ++#define GL_SPOT_CUTOFF 0x1206 ++#define GL_CONSTANT_ATTENUATION 0x1207 ++#define GL_LINEAR_ATTENUATION 0x1208 ++#define GL_QUADRATIC_ATTENUATION 0x1209 ++ ++/* DataType */ ++#define GL_BYTE 0x1400 ++#define GL_UNSIGNED_BYTE 0x1401 ++#define GL_SHORT 0x1402 ++#define GL_UNSIGNED_SHORT 0x1403 ++#define GL_FLOAT 0x1406 ++#define GL_FIXED 0x140C ++ ++/* LogicOp */ ++#define GL_CLEAR 0x1500 ++#define GL_AND 0x1501 ++#define GL_AND_REVERSE 0x1502 ++#define GL_COPY 0x1503 ++#define GL_AND_INVERTED 0x1504 ++#define GL_NOOP 0x1505 ++#define GL_XOR 0x1506 ++#define GL_OR 0x1507 ++#define GL_NOR 0x1508 ++#define GL_EQUIV 0x1509 ++#define GL_INVERT 0x150A ++#define GL_OR_REVERSE 0x150B ++#define GL_COPY_INVERTED 0x150C ++#define GL_OR_INVERTED 0x150D ++#define GL_NAND 0x150E ++#define GL_SET 0x150F ++ ++/* MaterialFace */ ++/* GL_FRONT_AND_BACK */ ++ ++/* MaterialParameter */ ++#define GL_EMISSION 0x1600 ++#define GL_SHININESS 0x1601 ++#define GL_AMBIENT_AND_DIFFUSE 0x1602 ++/* GL_AMBIENT */ ++/* GL_DIFFUSE */ ++/* GL_SPECULAR */ ++ ++/* MatrixMode */ ++#define GL_MODELVIEW 0x1700 ++#define GL_PROJECTION 0x1701 ++#define GL_TEXTURE 0x1702 ++ ++/* NormalPointerType */ ++/* GL_BYTE */ ++/* GL_SHORT */ ++/* GL_FLOAT */ ++/* GL_FIXED */ ++ ++/* PixelFormat */ ++#define GL_ALPHA 0x1906 ++#define GL_RGB 0x1907 ++#define GL_RGBA 0x1908 ++#define GL_LUMINANCE 0x1909 ++#define GL_LUMINANCE_ALPHA 0x190A ++ ++/* PixelStoreParameter */ ++#define GL_UNPACK_ALIGNMENT 0x0CF5 ++#define GL_PACK_ALIGNMENT 0x0D05 ++ ++/* PixelType */ ++/* GL_UNSIGNED_BYTE */ ++#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 ++#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 ++#define GL_UNSIGNED_SHORT_5_6_5 0x8363 ++ ++/* ShadingModel */ ++#define GL_FLAT 0x1D00 ++#define GL_SMOOTH 0x1D01 ++ ++/* StencilFunction */ ++/* GL_NEVER */ ++/* GL_LESS */ ++/* GL_EQUAL */ ++/* GL_LEQUAL */ ++/* GL_GREATER */ ++/* GL_NOTEQUAL */ ++/* GL_GEQUAL */ ++/* GL_ALWAYS */ ++ ++/* StencilOp */ ++/* GL_ZERO */ ++#define GL_KEEP 0x1E00 ++#define GL_REPLACE 0x1E01 ++#define GL_INCR 0x1E02 ++#define GL_DECR 0x1E03 ++/* GL_INVERT */ ++ ++/* StringName */ ++#define GL_VENDOR 0x1F00 ++#define GL_RENDERER 0x1F01 ++#define GL_VERSION 0x1F02 ++#define GL_EXTENSIONS 0x1F03 ++ ++/* TexCoordPointerType */ ++/* GL_SHORT */ ++/* GL_FLOAT */ ++/* GL_FIXED */ ++/* GL_BYTE */ ++ ++/* TextureEnvMode */ ++#define GL_MODULATE 0x2100 ++#define GL_DECAL 0x2101 ++/* GL_BLEND */ ++#define GL_ADD 0x0104 ++/* GL_REPLACE */ ++ ++/* TextureEnvParameter */ ++#define GL_TEXTURE_ENV_MODE 0x2200 ++#define GL_TEXTURE_ENV_COLOR 0x2201 ++ ++/* TextureEnvTarget */ ++#define GL_TEXTURE_ENV 0x2300 ++ ++/* TextureMagFilter */ ++#define GL_NEAREST 0x2600 ++#define GL_LINEAR 0x2601 ++ ++/* TextureMinFilter */ ++/* GL_NEAREST */ ++/* GL_LINEAR */ ++#define GL_NEAREST_MIPMAP_NEAREST 0x2700 ++#define GL_LINEAR_MIPMAP_NEAREST 0x2701 ++#define GL_NEAREST_MIPMAP_LINEAR 0x2702 ++#define GL_LINEAR_MIPMAP_LINEAR 0x2703 ++ ++/* TextureParameterName */ ++#define GL_TEXTURE_MAG_FILTER 0x2800 ++#define GL_TEXTURE_MIN_FILTER 0x2801 ++#define GL_TEXTURE_WRAP_S 0x2802Lines of this file are not shown. View the raw message.
package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries-001-pkgconfig.patch new file +42
-0Lines of this file are not shown. View the raw message.
package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.hash new file +3
-0Lines of this file are not shown. View the raw message.
package/nvidia-tegra23/nvidia-tegra23-binaries/nvidia-tegra23-binaries.mk new file +187
-0Lines of this file are not shown. View the raw message.
package/nvidia-tegra23/nvidia-tegra23-codecs/Config.in new file +9
-0Lines of this file are not shown. View the raw message.
package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.hash new file +3
-0Lines of this file are not shown. View the raw message.
package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk new file +42
-0Lines of this file are not shown. View the raw message.
package/nvidia-tegra23/nvidia-tegra23.mk new file +10
-0Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Signature · 7 lines
2.1.3 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
Part of the diff is not shown here. View the raw message.
PATCH 1/1 nvidia-tegra23: new package
Hi Yann,
Le 18. 11. 14 21:22, Yann E. MORIN a ?crit :
Quoted 6 lines
Nicolas, All,
On 2014-11-05 16:52 +0100, Nicolas Serafini spake thusly:
Quoted 2 lines
This patch adds a new package for all libraries, drivers and codecs provided by Nvidia Linux 4 Tegra release 16.4.0.
Quoted 8 lines
I'm already working on a package for the Nvidia blobs for i386 and
x86_64, so I think your submision could fit in that effort.I'll take a look at this patch and carry it in my branch to see if it was posible to commonalise stuff between the Tegra and PC worlds.
Regards,
Yann E. MORIN.
It's a good idea
This patch was only for Tegra2 and Tegra3 but it's possible to integrate blobs for Tegra 4 and Tegra K1 too. It was my idea in a future patch update.
All binaries and docs can be found here
https://developer.nvidia.com/linux-tegra
Let me know if I can help you for the tegra part.
Best regards,
Nicolas Serafini
ps.
I have removed from my response the patch because it's too big and always need mailing list admin approval.
PATCH 1/1 nvidia-tegra23: new package
Nicolas, All,
On 2014-11-19 08:46 +0100, Nicolas Serafini spake thusly:
Quoted 4 lines
Le 18. 11. 14 21:22, Yann E. MORIN a ?crit :
Quoted 3 lines
Nicolas, All,
On 2014-11-05 16:52 +0100, Nicolas Serafini spake thusly:
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
This patch adds a new package for all libraries, drivers and codecs provided by Nvidia Linux 4 Tegra release 16.4.0.
I'm already working on a package for the Nvidia blobs for i386 and
x86_64, so I think your submision could fit in that effort.This patch was only for Tegra2 and Tegra3 but it's possible to integrate blobs for Tegra 4 and Tegra K1 too. It was my idea in a future patch update.
Yes, let's start simple, and build from there.
Quoted 4 lines
All binaries and docs can be found here
https://developer.nvidia.com/linux-tegraLet me know if I can help you for the tegra part.
Yup, I do not have access to a Tegra device, so I'll rely on you for testing.
However, I already noticed something we can improve with that patch:
trim it down to a reasonable size, by off-loading the GL headers to their own package, using the headers from the OpenGL registry, for which I already have a package ready:
https://www.opengl.org/registry/ http://patchwork.ozlabs.org/patch/396955/
I still have a few things to do on that package, though, but is working pretty Ok for the x86 NVidia blob, so there's good hope it works for the Tegra variant as well.
I won;t be able to touch that before the WE, though, and it;s low priority because we're in feature-freeze until the end of November anyway (so fixing stuff comes first).
I'll get you posted on the progress. ;-)
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 nvidia-tegra23: new package
Hi Yann,
Quoted 19 lines · On Wed, 19 Nov 2014 22:42:58 +0100 "Yann E. MORIN" <[email protected]>…
Nicolas, All,
On 2014-11-19 08:46 +0100, Nicolas Serafini spake thusly:
Quoted 7 lines
Le 18. 11. 14 21:22, Yann E. MORIN a ?crit :
Quoted 6 lines
Nicolas, All,
On 2014-11-05 16:52 +0100, Nicolas Serafini spake thusly:
Quoted 2 lines
This patch adds a new package for all libraries, drivers and codecs provided by Nvidia Linux 4 Tegra release 16.4.0.
Quoted 6 lines
Quoted 2 lines
I'm already working on a package for the Nvidia blobs for i386 and
x86_64, so I think your submision could fit in that effort.This patch was only for Tegra2 and Tegra3 but it's possible to integrate blobs for Tegra 4 and Tegra K1 too. It was my idea in a future patch update.
Yes, let's start simple, and build from there.
Quoted 7 lines
Quoted 4 lines
All binaries and docs can be found here
https://developer.nvidia.com/linux-tegraLet me know if I can help you for the tegra part.
Yup, I do not have access to a Tegra device, so I'll rely on you for testing.
I can easily test for Tegra3 architecture but I have no more Tegra2 devices. It was a old Tegra2 patch I have done few month ago that was working and I have updated for the Tegra3.
So if anyone would like to help for Tegra2, from my side I going to look if I can get another Tegra2 device.
Quoted 6 lines
However, I already noticed something we can improve with that patch:
trim it down to a reasonable size, by off-loading the GL headers to their own package, using the headers from the OpenGL registry, for which I already have a package ready:
Quoted 6 lines
https://www.opengl.org/registry/ http://patchwork.ozlabs.org/patch/396955/I still have a few things to do on that package, though, but is working pretty Ok for the x86 NVidia blob, so there's good hope it works for the Tegra variant as well.
I saw your patch and the GL header comes from the revision 23432 except for the eglplatform.h that comes from revision 12306. I doesn't know exactly why but it's what was provided by the Nvidia partner that does the tegra device I use.
Quoted 4 lines
I won;t be able to touch that before the WE, though, and it;s low priority because we're in feature-freeze until the end of November anyway (so fixing stuff comes first).
I have just seen that NVidia has released the V16.5 of Linux4Tegra for The Tegra3 only and it's exclusively distributed via NVIDIA's partner portal but it's only fix on memory leaks in gstreamer plugins.
Quoted 2 lines
I'll get you posted on the progress. ;-)
Ok perfect
Best regards
Nicolas
Quoted 5 lines
Regards,
Yann E. MORIN.
Signature · 7 lines
Nicolas Serafini R&D Embedded Software Engineer www.sensefly.com Route de Gen?ve 38 1033 Cheseaux-Lausanne Switzerland
PATCH 1/1 nvidia-tegra23: new package
In reply to Nicolas SerafiniNicolas, All,
On 2014-11-05 16:52 +0100, Nicolas Serafini spake thusly:
Quoted 4 lines
This patch adds a new package for all libraries, drivers and codecs provided by Nvidia Linux 4 Tegra release 16.4.0.
Signed-off-by Nicolas Serafini <[email protected]>
A quick quesytion about Tegra 2 support:
[--SNIP--]
Quoted 14 lines
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file +8
-0@@ -0,0 +1,119 @@ +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES + bool "nvidia-tegra23" + depends on BR2_arm && BR2_cortex_a9 + depends on BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXT + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXV
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in line 18
Quoted 10 lines
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file +10
-0+ select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_HAS_LIBOPENMAX + help + Those packages provide libraries, drivers and firmware that comes from + NVIDIA Linux For Tegra. + + https://developer.nvidia.com/linux-tegra + +if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES
[--SNIP--]
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in line 48
Quoted 8 lines
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file +8
-0+choice + prompt "Tegra platform" + help + Select the SOC platform. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_TEGRA2 + bool "Tegra 2" + depends on !BR2_ARM_CPU_HAS_NEON
Usually, we require _presence_ of a feature, not _abscence_ of it.
Surely, if the CPU has NEON, it won't be used by the driver, but the driver won't break.
Yes, Tegra-2 does not have NEON. But that's not the way NEON was meant to be used for.
Also, see below...
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in line 53
Quoted 5 lines
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file +5
-0+ help + NVIDIA Tegra 2 is a dual cores Cortex-A9 without NEON. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_TEGRA3 + bool "Tegra 3"
Here, you do not have a "depends on HAS_NEON", while it would make much more sense to only display Tegra-3 is NEON is enabled, because otherwise I'd expect the driver to fail on a CPU without NEON.
So, here's what I'm gonna do:
- Tegra-2 always visible, NEON or not
- Tegra-3 only visible if NEON enabled
Does that make sense for you?
Regards,
Yann E. MORIN.
PS. Hey! I did not forget to trim the reply, this time! :-) YEM.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 nvidia-tegra23: new package
Hi Yann,
Quoted 66 lines · On Wed, 19 Nov 2014 23:58:23 +0100 "Yann E. MORIN" <[email protected]>…
Nicolas, All,
On 2014-11-05 16:52 +0100, Nicolas Serafini spake thusly:
Quoted 4 lines
This patch adds a new package for all libraries, drivers and codecs provided by Nvidia Linux 4 Tegra release 16.4.0.
Signed-off-by Nicolas Serafini <[email protected]>A quick quesytion about Tegra 2 support:
[--SNIP--]
Quoted 20 lines
diff --git a/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file mode 100644 index 0000000..a5a0681 ---
/dev/null
+++ b/package/nvidia-tegra23/nvidia-tegra23-binaries/Config.inpackage/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file +13
-0@@ -0,0 +1,119 @@ +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES + bool "nvidia-tegra23" + depends on BR2_arm && BR2_cortex_a9 + depends on BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXT + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXV + select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_HAS_LIBOPENMAX + help + Those packages provide libraries, drivers and firmwarethat comes from
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in line 18
Quoted 5 lines
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file +5
-0+ NVIDIA Linux For Tegra. + + https://developer.nvidia.com/linux-tegra + +if BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES[--SNIP--]
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in line 48
Quoted 8 lines
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file +8
-0+choice + prompt "Tegra platform" + help + Select the SOC platform. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_TEGRA2 + bool "Tegra 2" + depends on !BR2_ARM_CPU_HAS_NEONUsually, we require _presence_ of a feature, not _abscence_ of it.
Surely, if the CPU has NEON, it won't be used by the driver, but the driver won't break.
Yes, Tegra-2 does not have NEON. But that's not the way NEON was meant to be used for.
Also, see below...
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in line 53
Quoted 5 lines
package/nvidia-tegra23/nvidia-tegra23-binaries/Config.in new file +5
-0+ help + NVIDIA Tegra 2 is a dual cores Cortex-A9 without NEON. + +config BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_TEGRA3 + bool "Tegra 3"Here, you do not have a "depends on
HAS_NEON", while it would make much more sense to only display Tegra-3 is NEON is enabled, because otherwise I'd expect the driver to fail on a CPU without NEON.
Quoted 5 lines
So, here's what I'm gonna do:
- Tegra-2 always visible, NEON or not
- Tegra-3 only visible if NEON enabledDoes that make sense for you?
Yes that's make sense. Thanks for that explanation.
Best regards,
Nicolas
Quoted 5 lines
Regards,
Yann E. MORIN.PS. Hey! I did not forget to trim the reply, this time! :-)
:-)
Quoted 2 lines
YEM.
Signature · 7 lines
Nicolas Serafini R&D Embedded Software Engineer www.sensefly.com Route de Gen?ve 38 1033 Cheseaux-Lausanne Switzerland
PATCH 1/1 nvidia-tegra23: new package
In reply to Nicolas SerafiniOn 2014-11-05 16:52 +0100, Nicolas Serafini spake thusly:
Quoted 2 lines
This patch adds a new package for all libraries, drivers and codecs provided by Nvidia Linux 4 Tegra release 16.4.0.
[--SNIP--]
You can see how I've been tweaking your patch:
http://git.buildroot.org/~ymorin/git/buildroot/log/?h=yem/gfx
Note that all the patches from on-top of yours are to be eventually squashed into it. I keep them separate for now to make it easier to work with.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 nvidia-tegra23: new package
In reply to Nicolas SerafiniNicolas, All,
On 2014-11-05 16:52 +0100, Nicolas Serafini spake thusly:
Quoted 2 lines
This patch adds a new package for all libraries, drivers and codecs provided by Nvidia Linux 4 Tegra release 16.4.0.
I've finally been able to further work on this patch, and I've sent an updated series:
http://lists.busybox.net/pipermail/buildroot/2015-January/117525.html
Nicolas, thanks for you initial submission. Care to test that I did not completely fscked the Tegra2/3 part, please? ;-)
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 nvidia-tegra23: new package
Yann, all,
Thank you for this patch, I will take time between today and tomorrow to test it on my platform.
Thanks
Nicolas Serafini
Quoted 17 lines · On Sun, 18 Jan 2015 13:14:45 +0100 "Yann E. MORIN" <[email protected]>…
Nicolas, All,
On 2014-11-05 16:52 +0100, Nicolas Serafini spake thusly:
Quoted 2 lines
This patch adds a new package for all libraries, drivers and codecs provided by Nvidia Linux 4 Tegra release 16.4.0.
I've finally been able to further work on this patch, and I've sent an updated series:
http://lists.busybox.net/pipermail/buildroot/2015-January/117525.htmlNicolas, thanks for you initial submission. Care to test that I did not completely fscked the Tegra2/3 part, please? ;-)
Regards,
Yann E. MORIN.
PATCH 1/1 nvidia-tegra23: new package
Nicolas, All,
On 2015-01-19 08:51 +0100, Nicolas Serafini spake thusly:
Quoted 2 lines
Thank you for this patch, I will take time between today and tomorrow to test it on my platform.
Just for your information: I've sent an updated version of the series:
http://lists.busybox.net/pipermail/buildroot/2015-January/117642.html
That should fix the opengl-registry build issue I had in a minimalist environment.
Please test that everything is still on the rails! ;-)
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'