[meta-ti] [PATCH] libgles-omap3: Update EGL includes
Tim Orling
ticotimo at gmail.com
Wed Dec 11 22:58:24 PST 2013
Update include/OGLES{,2}/EGL/* to those shipped with mesa_9.2.4
The currently shipped eglext.h breaks cogl-1.0_1.16.0 because
it lacks EGL_SYNC_FENCE_KHR.
Signed-off-by: Tim Orling <ticotimo at gmail.com>
---
.../0001-Update-OGLES-EGL-includes.patch | 595 ++++++++++++++++++++
.../0002-Update-OGLES2-EGL-includes.patch | 595 ++++++++++++++++++++
.../libgles/libgles-omap3_5.00.00.01.bb | 2 +
3 files changed, 1192 insertions(+)
create mode 100644 recipes-graphics/libgles/libgles-omap3-5.00.00.01/0001-Update-OGLES-EGL-includes.patch
create mode 100644 recipes-graphics/libgles/libgles-omap3-5.00.00.01/0002-Update-OGLES2-EGL-includes.patch
diff --git a/recipes-graphics/libgles/libgles-omap3-5.00.00.01/0001-Update-OGLES-EGL-includes.patch b/recipes-graphics/libgles/libgles-omap3-5.00.00.01/0001-Update-OGLES-EGL-includes.patch
new file mode 100644
index 0000000..b535ae0
--- /dev/null
+++ b/recipes-graphics/libgles/libgles-omap3-5.00.00.01/0001-Update-OGLES-EGL-includes.patch
@@ -0,0 +1,595 @@
+Index: Graphics_SDK_5_00_00_01/include/OGLES/EGL/egl.h
+===================================================================
+--- Graphics_SDK_5_00_00_01.orig/include/OGLES/EGL/egl.h 2013-07-05 04:43:13.000000000 -0700
++++ Graphics_SDK_5_00_00_01/include/OGLES/EGL/egl.h 2013-12-11 20:01:34.792853918 -0800
+@@ -1,6 +1,7 @@
+ /* -*- 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) $
+ */
+
+ /*
+@@ -108,7 +109,6 @@
+ #define EGL_NATIVE_RENDERABLE 0x302D
+ #define EGL_NATIVE_VISUAL_ID 0x302E
+ #define EGL_NATIVE_VISUAL_TYPE 0x302F
+-#define EGL_PRESERVED_RESOURCES 0x3030
+ #define EGL_SAMPLES 0x3031
+ #define EGL_SAMPLE_BUFFERS 0x3032
+ #define EGL_SURFACE_TYPE 0x3033
+Index: Graphics_SDK_5_00_00_01/include/OGLES/EGL/eglext.h
+===================================================================
+--- Graphics_SDK_5_00_00_01.orig/include/OGLES/EGL/eglext.h 2013-07-05 04:43:13.000000000 -0700
++++ Graphics_SDK_5_00_00_01/include/OGLES/EGL/eglext.h 2013-12-11 19:59:40.060852005 -0800
+@@ -6,7 +6,7 @@
+ #endif
+
+ /*
+-** Copyright (c) 2007-2009 The Khronos Group Inc.
++** Copyright (c) 2007-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
+@@ -34,7 +34,8 @@
+
+ /* Header file version number */
+ /* Current version at http://www.khronos.org/registry/egl/ */
+-#define EGL_EGLEXT_VERSION 4
++/* $Revision: 21254 $ on $Date: 2013-04-25 03:11:55 -0700 (Thu, 25 Apr 2013) $ */
++#define EGL_EGLEXT_VERSION 16
+
+ #ifndef EGL_KHR_config_attribs
+ #define EGL_KHR_config_attribs 1
+@@ -119,6 +120,7 @@
+ #define EGL_GL_RENDERBUFFER_KHR 0x30B9 /* eglCreateImageKHR target */
+ #endif
+
++#if KHRONOS_SUPPORT_INT64 /* EGLTimeKHR requires 64-bit uint support */
+ #ifndef EGL_KHR_reusable_sync
+ #define EGL_KHR_reusable_sync 1
+
+@@ -142,11 +144,12 @@
+ EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
+ #endif /* EGL_EGLEXT_PROTOTYPES */
+-typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHR) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
+-typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHR) (EGLDisplay dpy, EGLSyncKHR sync);
+-typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHR) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
+-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHR) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
+-typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHR) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
++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);
++#endif
+ #endif
+
+ #ifndef EGL_KHR_image_base
+@@ -168,8 +171,410 @@
+ #define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103
+ #endif
+
++#ifndef EGL_KHR_lock_surface2
++#define EGL_KHR_lock_surface2 1
++#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
++#endif
++
++#ifndef EGL_NV_coverage_sample
++#define EGL_NV_coverage_sample 1
++#define EGL_COVERAGE_BUFFERS_NV 0x30E0
++#define EGL_COVERAGE_SAMPLES_NV 0x30E1
++#endif
++
++#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
++
++#if KHRONOS_SUPPORT_INT64 /* EGLTimeNV requires 64-bit uint support */
++#ifndef EGL_NV_sync
++#define EGL_NV_sync 1
++#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 void* EGLSyncNV;
++typedef khronos_utime_nanoseconds_t EGLTimeNV;
++#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 /* EGL_EGLEXT_PROTOTYPES */
++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);
++#endif
++#endif
++
++#if KHRONOS_SUPPORT_INT64 /* Dependent on EGL_KHR_reusable_sync which requires 64-bit uint support */
++#ifndef EGL_KHR_fence_sync
++#define EGL_KHR_fence_sync 1
++/* Reuses most tokens and entry points from EGL_KHR_reusable_sync */
++#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
++#define EGL_SYNC_CONDITION_KHR 0x30F8
++#define EGL_SYNC_FENCE_KHR 0x30F9
++#endif
++#endif
++
++#ifndef EGL_HI_clientpixmap
++#define EGL_HI_clientpixmap 1
++
++/* Surface Attribute */
++#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74
++/*
++ * Structure representing a client pixmap
++ * (pixmap's data is in client-space memory).
++ */
++struct EGLClientPixmapHI
++{
++ void* pData;
++ EGLint iWidth;
++ EGLint iHeight;
++ EGLint iStride;
++};
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
++#endif /* EGL_HI_clientpixmap */
++
++#ifndef EGL_HI_colorformats
++#define EGL_HI_colorformats 1
++/* Config Attribute */
++#define EGL_COLOR_FORMAT_HI 0x8F70
++/* Color Formats */
++#define EGL_COLOR_RGB_HI 0x8F71
++#define EGL_COLOR_RGBA_HI 0x8F72
++#define EGL_COLOR_ARGB_HI 0x8F73
++#endif /* EGL_HI_colorformats */
++
++#ifndef EGL_MESA_drm_image
++#define EGL_MESA_drm_image 1
++#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 /* CreateDRMImageMESA attribute */
++#define EGL_DRM_BUFFER_USE_MESA 0x31D1 /* CreateDRMImageMESA attribute */
++#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 /* EGL_IMAGE_FORMAT_MESA attribute value */
++#define EGL_DRM_BUFFER_MESA 0x31D3 /* eglCreateImageKHR target */
++#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
++#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 /* EGL_DRM_BUFFER_USE_MESA bits */
++#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 /* EGL_DRM_BUFFER_USE_MESA bits */
++#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 /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
++#endif
++
++#ifndef EGL_NV_post_sub_buffer
++#define EGL_NV_post_sub_buffer 1
++#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
++#endif
++
++#ifndef EGL_ANGLE_query_surface_pointer
++#define EGL_ANGLE_query_surface_pointer 1
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLBoolean eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
++#endif
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
++#endif
++
++#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
++#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
++#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
++#endif
++
++#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
++
++#if KHRONOS_SUPPORT_INT64 /* EGLuint64NV requires 64-bit uint support */
++#ifndef EGL_NV_system_time
++#define EGL_NV_system_time 1
++typedef khronos_utime_nanoseconds_t EGLuint64NV;
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void);
++EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
++typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
++#endif
++#endif
++
++#if KHRONOS_SUPPORT_INT64 /* EGLuint64KHR requires 64-bit uint support */
++#ifndef EGL_KHR_stream
++#define EGL_KHR_stream 1
++typedef void* EGLStreamKHR;
++typedef khronos_uint64_t EGLuint64KHR;
++#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
++#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 /* EGL_EGLEXT_PROTOTYPES */
++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);
++#endif
++#endif
++
++#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
++#ifndef EGL_KHR_stream_consumer_gltexture
++#define EGL_KHR_stream_consumer_gltexture 1
++#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
++#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 /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
++#endif
++#endif
++
++#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
++#ifndef EGL_KHR_stream_producer_eglsurface
++#define EGL_KHR_stream_producer_eglsurface 1
++#define EGL_STREAM_BIT_KHR 0x0800
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
++#endif
++#endif
++
++#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
++#ifndef EGL_KHR_stream_producer_aldatalocator
++#define EGL_KHR_stream_producer_aldatalocator 1
++#endif
++#endif
++
++#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
++#ifndef EGL_KHR_stream_fifo
++#define EGL_KHR_stream_fifo 1
++/* reuse EGLTimeKHR */
++#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
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
++#endif
++#endif
++
++#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
++
++#ifndef EGL_ANGLE_d3d_share_handle_client_buffer
++#define EGL_ANGLE_d3d_share_handle_client_buffer 1
++/* reuse EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE */
++#endif
++
++#ifndef EGL_KHR_create_context
++#define EGL_KHR_create_context 1
++#define EGL_CONTEXT_MAJOR_VERSION_KHR EGL_CONTEXT_CLIENT_VERSION
++#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
++
++#ifndef EGL_KHR_surfaceless_context
++#define EGL_KHR_surfaceless_context 1
++/* No tokens/entry points, just relaxes an error condition */
++#endif
++
++#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
++#ifndef EGL_KHR_stream_cross_process_fd
++#define EGL_KHR_stream_cross_process_fd 1
++typedef int EGLNativeFileDescriptorKHR;
++#define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1))
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream);
++EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
++typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
++#endif
++#endif
++
++#ifndef EGL_EXT_multiview_window
++#define EGL_EXT_multiview_window 1
++#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134
++#endif
++
++#ifndef EGL_KHR_wait_sync
++#define EGL_KHR_wait_sync 1
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
++#endif
++
++#ifndef EGL_NV_post_convert_rounding
++#define EGL_NV_post_convert_rounding 1
++/* No tokens or entry points, just relaxes behavior of SwapBuffers */
++#endif
++
++#ifndef EGL_NV_native_query
++#define EGL_NV_native_query 1
++#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 /* EGL_EGLEXT_PROTOTYPES */
++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);
++#endif
++
++#ifndef EGL_NV_3dvision_surface
++#define EGL_NV_3dvision_surface 1
++#define EGL_AUTO_STEREO_NV 0x3136
++#endif
++
++#ifndef EGL_ANDROID_framebuffer_target
++#define EGL_ANDROID_framebuffer_target 1
++#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147
++#endif
++
++#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);
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC)(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
++#endif
++
++#ifndef EGL_ANDROID_image_native_buffer
++#define EGL_ANDROID_image_native_buffer 1
++#define EGL_NATIVE_BUFFER_ANDROID 0x3140
++#endif
++
++#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
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID( EGLDisplay dpy, EGLSyncKHR);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC)(EGLDisplay dpy, EGLSyncKHR);
++#endif
++
++#ifndef EGL_ANDROID_recordable
++#define EGL_ANDROID_recordable 1
++#define EGL_RECORDABLE_ANDROID 0x3142
++#endif
++
++#ifndef EGL_EXT_buffer_age
++#define EGL_EXT_buffer_age 1
++#define EGL_BUFFER_AGE_EXT 0x313D
++#endif
++
++#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
++
++#ifndef EGL_ARM_pixmap_multisample_discard
++#define EGL_ARM_pixmap_multisample_discard 1
++#define EGL_DISCARD_SAMPLES_ARM 0x3286
++#endif
++
++#ifndef EGL_EXT_swap_buffers_with_damage
++#define EGL_EXT_swap_buffers_with_damage 1
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT( EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)(EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
++#endif
++
++#include <EGL/eglmesaext.h>
++
+ #ifdef __cplusplus
+ }
+ #endif
+
+-#endif
++#endif /* __eglext_h_ */
+Index: Graphics_SDK_5_00_00_01/include/OGLES/EGL/eglplatform.h
+===================================================================
+--- Graphics_SDK_5_00_00_01.orig/include/OGLES/EGL/eglplatform.h 2013-07-05 04:43:13.000000000 -0700
++++ Graphics_SDK_5_00_00_01/include/OGLES/EGL/eglplatform.h 2013-12-11 20:03:10.832855774 -0800
+@@ -25,6 +25,7 @@
+ */
+
+ /* 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
+@@ -49,17 +50,24 @@
+ #define EGLAPI KHRONOS_APICALL
+ #endif
+
++#ifndef EGLAPIENTRY
+ #define EGLAPIENTRY KHRONOS_APIENTRY
+-#define EGLAPIENTRYP 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(__WINSCW__) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
++#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
+@@ -69,38 +77,55 @@
+ typedef HBITMAP EGLNativePixmapType;
+ typedef HWND EGLNativeWindowType;
+
+-#elif defined(SUPPORT_X11)
++#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
+
+-/* X11 (tentative) */
+-#include <X11/Xlib.h>
+-#include <X11/Xutil.h>
++typedef int EGLNativeDisplayType;
++typedef void *EGLNativeWindowType;
++typedef void *EGLNativePixmapType;
+
+-typedef Display *EGLNativeDisplayType;
+-typedef Pixmap EGLNativePixmapType;
+-typedef Window EGLNativeWindowType;
++#elif defined(WL_EGL_PLATFORM)
+
++typedef struct wl_display *EGLNativeDisplayType;
++typedef struct wl_egl_pixmap *EGLNativePixmapType;
++typedef struct wl_egl_window *EGLNativeWindowType;
+
+-#elif defined(__ANDROID__) || defined(ANDROID)
++#elif defined(__GBM__)
+
+-#include <android/native_window.h>
++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;
++typedef struct ANativeWindow *EGLNativeWindowType;
++typedef struct egl_native_pixmap_t *EGLNativePixmapType;
++typedef void *EGLNativeDisplayType;
+
+-#else
++#elif defined(__unix__)
++
++#ifdef MESA_EGL_NO_X11_HEADERS
++
++typedef void *EGLNativeDisplayType;
++typedef khronos_uintptr_t EGLNativePixmapType;
++typedef khronos_uintptr_t EGLNativeWindowType;
+
+-#if defined(_WIN64) || __WORDSIZE == 64
+-typedef khronos_int64_t EGLNativeDisplayType;
+ #else
+-typedef int EGLNativeDisplayType;
+-#endif
+
+-typedef void *EGLNativeWindowType;
+-typedef void *EGLNativePixmapType;
++/* 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 */
diff --git a/recipes-graphics/libgles/libgles-omap3-5.00.00.01/0002-Update-OGLES2-EGL-includes.patch b/recipes-graphics/libgles/libgles-omap3-5.00.00.01/0002-Update-OGLES2-EGL-includes.patch
new file mode 100644
index 0000000..061eaa4
--- /dev/null
+++ b/recipes-graphics/libgles/libgles-omap3-5.00.00.01/0002-Update-OGLES2-EGL-includes.patch
@@ -0,0 +1,595 @@
+Index: Graphics_SDK_5_00_00_01/include/OGLES2/EGL/egl.h
+===================================================================
+--- Graphics_SDK_5_00_00_01.orig/include/OGLES2/EGL/egl.h 2013-07-05 04:43:13.000000000 -0700
++++ Graphics_SDK_5_00_00_01/include/OGLES2/EGL/egl.h 2013-12-11 20:06:47.468859201 -0800
+@@ -1,6 +1,7 @@
+ /* -*- 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) $
+ */
+
+ /*
+@@ -108,7 +109,6 @@
+ #define EGL_NATIVE_RENDERABLE 0x302D
+ #define EGL_NATIVE_VISUAL_ID 0x302E
+ #define EGL_NATIVE_VISUAL_TYPE 0x302F
+-#define EGL_PRESERVED_RESOURCES 0x3030
+ #define EGL_SAMPLES 0x3031
+ #define EGL_SAMPLE_BUFFERS 0x3032
+ #define EGL_SURFACE_TYPE 0x3033
+Index: Graphics_SDK_5_00_00_01/include/OGLES2/EGL/eglext.h
+===================================================================
+--- Graphics_SDK_5_00_00_01.orig/include/OGLES2/EGL/eglext.h 2013-07-05 04:43:13.000000000 -0700
++++ Graphics_SDK_5_00_00_01/include/OGLES2/EGL/eglext.h 2013-12-11 20:05:28.660858022 -0800
+@@ -6,7 +6,7 @@
+ #endif
+
+ /*
+-** Copyright (c) 2007-2009 The Khronos Group Inc.
++** Copyright (c) 2007-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
+@@ -34,7 +34,8 @@
+
+ /* Header file version number */
+ /* Current version at http://www.khronos.org/registry/egl/ */
+-#define EGL_EGLEXT_VERSION 4
++/* $Revision: 21254 $ on $Date: 2013-04-25 03:11:55 -0700 (Thu, 25 Apr 2013) $ */
++#define EGL_EGLEXT_VERSION 16
+
+ #ifndef EGL_KHR_config_attribs
+ #define EGL_KHR_config_attribs 1
+@@ -119,6 +120,7 @@
+ #define EGL_GL_RENDERBUFFER_KHR 0x30B9 /* eglCreateImageKHR target */
+ #endif
+
++#if KHRONOS_SUPPORT_INT64 /* EGLTimeKHR requires 64-bit uint support */
+ #ifndef EGL_KHR_reusable_sync
+ #define EGL_KHR_reusable_sync 1
+
+@@ -142,11 +144,12 @@
+ EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
+ EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
+ #endif /* EGL_EGLEXT_PROTOTYPES */
+-typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHR) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
+-typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHR) (EGLDisplay dpy, EGLSyncKHR sync);
+-typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHR) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
+-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHR) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
+-typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHR) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
++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);
++#endif
+ #endif
+
+ #ifndef EGL_KHR_image_base
+@@ -168,8 +171,410 @@
+ #define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103
+ #endif
+
++#ifndef EGL_KHR_lock_surface2
++#define EGL_KHR_lock_surface2 1
++#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
++#endif
++
++#ifndef EGL_NV_coverage_sample
++#define EGL_NV_coverage_sample 1
++#define EGL_COVERAGE_BUFFERS_NV 0x30E0
++#define EGL_COVERAGE_SAMPLES_NV 0x30E1
++#endif
++
++#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
++
++#if KHRONOS_SUPPORT_INT64 /* EGLTimeNV requires 64-bit uint support */
++#ifndef EGL_NV_sync
++#define EGL_NV_sync 1
++#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 void* EGLSyncNV;
++typedef khronos_utime_nanoseconds_t EGLTimeNV;
++#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 /* EGL_EGLEXT_PROTOTYPES */
++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);
++#endif
++#endif
++
++#if KHRONOS_SUPPORT_INT64 /* Dependent on EGL_KHR_reusable_sync which requires 64-bit uint support */
++#ifndef EGL_KHR_fence_sync
++#define EGL_KHR_fence_sync 1
++/* Reuses most tokens and entry points from EGL_KHR_reusable_sync */
++#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
++#define EGL_SYNC_CONDITION_KHR 0x30F8
++#define EGL_SYNC_FENCE_KHR 0x30F9
++#endif
++#endif
++
++#ifndef EGL_HI_clientpixmap
++#define EGL_HI_clientpixmap 1
++
++/* Surface Attribute */
++#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74
++/*
++ * Structure representing a client pixmap
++ * (pixmap's data is in client-space memory).
++ */
++struct EGLClientPixmapHI
++{
++ void* pData;
++ EGLint iWidth;
++ EGLint iHeight;
++ EGLint iStride;
++};
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
++#endif /* EGL_HI_clientpixmap */
++
++#ifndef EGL_HI_colorformats
++#define EGL_HI_colorformats 1
++/* Config Attribute */
++#define EGL_COLOR_FORMAT_HI 0x8F70
++/* Color Formats */
++#define EGL_COLOR_RGB_HI 0x8F71
++#define EGL_COLOR_RGBA_HI 0x8F72
++#define EGL_COLOR_ARGB_HI 0x8F73
++#endif /* EGL_HI_colorformats */
++
++#ifndef EGL_MESA_drm_image
++#define EGL_MESA_drm_image 1
++#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0 /* CreateDRMImageMESA attribute */
++#define EGL_DRM_BUFFER_USE_MESA 0x31D1 /* CreateDRMImageMESA attribute */
++#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2 /* EGL_IMAGE_FORMAT_MESA attribute value */
++#define EGL_DRM_BUFFER_MESA 0x31D3 /* eglCreateImageKHR target */
++#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
++#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001 /* EGL_DRM_BUFFER_USE_MESA bits */
++#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002 /* EGL_DRM_BUFFER_USE_MESA bits */
++#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 /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
++#endif
++
++#ifndef EGL_NV_post_sub_buffer
++#define EGL_NV_post_sub_buffer 1
++#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
++#endif
++
++#ifndef EGL_ANGLE_query_surface_pointer
++#define EGL_ANGLE_query_surface_pointer 1
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLBoolean eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
++#endif
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
++#endif
++
++#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
++#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
++#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
++#endif
++
++#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
++
++#if KHRONOS_SUPPORT_INT64 /* EGLuint64NV requires 64-bit uint support */
++#ifndef EGL_NV_system_time
++#define EGL_NV_system_time 1
++typedef khronos_utime_nanoseconds_t EGLuint64NV;
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void);
++EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
++typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
++#endif
++#endif
++
++#if KHRONOS_SUPPORT_INT64 /* EGLuint64KHR requires 64-bit uint support */
++#ifndef EGL_KHR_stream
++#define EGL_KHR_stream 1
++typedef void* EGLStreamKHR;
++typedef khronos_uint64_t EGLuint64KHR;
++#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
++#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 /* EGL_EGLEXT_PROTOTYPES */
++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);
++#endif
++#endif
++
++#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
++#ifndef EGL_KHR_stream_consumer_gltexture
++#define EGL_KHR_stream_consumer_gltexture 1
++#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
++#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 /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
++#endif
++#endif
++
++#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
++#ifndef EGL_KHR_stream_producer_eglsurface
++#define EGL_KHR_stream_producer_eglsurface 1
++#define EGL_STREAM_BIT_KHR 0x0800
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
++#endif
++#endif
++
++#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
++#ifndef EGL_KHR_stream_producer_aldatalocator
++#define EGL_KHR_stream_producer_aldatalocator 1
++#endif
++#endif
++
++#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
++#ifndef EGL_KHR_stream_fifo
++#define EGL_KHR_stream_fifo 1
++/* reuse EGLTimeKHR */
++#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
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
++#endif
++#endif
++
++#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
++
++#ifndef EGL_ANGLE_d3d_share_handle_client_buffer
++#define EGL_ANGLE_d3d_share_handle_client_buffer 1
++/* reuse EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE */
++#endif
++
++#ifndef EGL_KHR_create_context
++#define EGL_KHR_create_context 1
++#define EGL_CONTEXT_MAJOR_VERSION_KHR EGL_CONTEXT_CLIENT_VERSION
++#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
++
++#ifndef EGL_KHR_surfaceless_context
++#define EGL_KHR_surfaceless_context 1
++/* No tokens/entry points, just relaxes an error condition */
++#endif
++
++#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
++#ifndef EGL_KHR_stream_cross_process_fd
++#define EGL_KHR_stream_cross_process_fd 1
++typedef int EGLNativeFileDescriptorKHR;
++#define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1))
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream);
++EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
++typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
++#endif
++#endif
++
++#ifndef EGL_EXT_multiview_window
++#define EGL_EXT_multiview_window 1
++#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134
++#endif
++
++#ifndef EGL_KHR_wait_sync
++#define EGL_KHR_wait_sync 1
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
++#endif
++
++#ifndef EGL_NV_post_convert_rounding
++#define EGL_NV_post_convert_rounding 1
++/* No tokens or entry points, just relaxes behavior of SwapBuffers */
++#endif
++
++#ifndef EGL_NV_native_query
++#define EGL_NV_native_query 1
++#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 /* EGL_EGLEXT_PROTOTYPES */
++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);
++#endif
++
++#ifndef EGL_NV_3dvision_surface
++#define EGL_NV_3dvision_surface 1
++#define EGL_AUTO_STEREO_NV 0x3136
++#endif
++
++#ifndef EGL_ANDROID_framebuffer_target
++#define EGL_ANDROID_framebuffer_target 1
++#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147
++#endif
++
++#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);
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC)(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
++#endif
++
++#ifndef EGL_ANDROID_image_native_buffer
++#define EGL_ANDROID_image_native_buffer 1
++#define EGL_NATIVE_BUFFER_ANDROID 0x3140
++#endif
++
++#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
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID( EGLDisplay dpy, EGLSyncKHR);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC)(EGLDisplay dpy, EGLSyncKHR);
++#endif
++
++#ifndef EGL_ANDROID_recordable
++#define EGL_ANDROID_recordable 1
++#define EGL_RECORDABLE_ANDROID 0x3142
++#endif
++
++#ifndef EGL_EXT_buffer_age
++#define EGL_EXT_buffer_age 1
++#define EGL_BUFFER_AGE_EXT 0x313D
++#endif
++
++#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
++
++#ifndef EGL_ARM_pixmap_multisample_discard
++#define EGL_ARM_pixmap_multisample_discard 1
++#define EGL_DISCARD_SAMPLES_ARM 0x3286
++#endif
++
++#ifndef EGL_EXT_swap_buffers_with_damage
++#define EGL_EXT_swap_buffers_with_damage 1
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT( EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
++#endif /* EGL_EGLEXT_PROTOTYPES */
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)(EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
++#endif
++
++#include <EGL/eglmesaext.h>
++
+ #ifdef __cplusplus
+ }
+ #endif
+
+-#endif
++#endif /* __eglext_h_ */
+Index: Graphics_SDK_5_00_00_01/include/OGLES2/EGL/eglplatform.h
+===================================================================
+--- Graphics_SDK_5_00_00_01.orig/include/OGLES2/EGL/eglplatform.h 2013-07-05 04:43:13.000000000 -0700
++++ Graphics_SDK_5_00_00_01/include/OGLES2/EGL/eglplatform.h 2013-12-11 20:07:59.784861027 -0800
+@@ -25,6 +25,7 @@
+ */
+
+ /* 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
+@@ -49,17 +50,24 @@
+ #define EGLAPI KHRONOS_APICALL
+ #endif
+
++#ifndef EGLAPIENTRY
+ #define EGLAPIENTRY KHRONOS_APIENTRY
+-#define EGLAPIENTRYP 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(__WINSCW__) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
++#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
+@@ -69,38 +77,55 @@
+ typedef HBITMAP EGLNativePixmapType;
+ typedef HWND EGLNativeWindowType;
+
+-#elif defined(SUPPORT_X11)
++#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
+
+-/* X11 (tentative) */
+-#include <X11/Xlib.h>
+-#include <X11/Xutil.h>
++typedef int EGLNativeDisplayType;
++typedef void *EGLNativeWindowType;
++typedef void *EGLNativePixmapType;
+
+-typedef Display *EGLNativeDisplayType;
+-typedef Pixmap EGLNativePixmapType;
+-typedef Window EGLNativeWindowType;
++#elif defined(WL_EGL_PLATFORM)
+
++typedef struct wl_display *EGLNativeDisplayType;
++typedef struct wl_egl_pixmap *EGLNativePixmapType;
++typedef struct wl_egl_window *EGLNativeWindowType;
+
+-#elif defined(__ANDROID__) || defined(ANDROID)
++#elif defined(__GBM__)
+
+-#include <android/native_window.h>
++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;
++typedef struct ANativeWindow *EGLNativeWindowType;
++typedef struct egl_native_pixmap_t *EGLNativePixmapType;
++typedef void *EGLNativeDisplayType;
+
+-#else
++#elif defined(__unix__)
++
++#ifdef MESA_EGL_NO_X11_HEADERS
++
++typedef void *EGLNativeDisplayType;
++typedef khronos_uintptr_t EGLNativePixmapType;
++typedef khronos_uintptr_t EGLNativeWindowType;
+
+-#if defined(_WIN64) || __WORDSIZE == 64
+-typedef khronos_int64_t EGLNativeDisplayType;
+ #else
+-typedef int EGLNativeDisplayType;
+-#endif
+
+-typedef void *EGLNativeWindowType;
+-typedef void *EGLNativePixmapType;
++/* 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 */
diff --git a/recipes-graphics/libgles/libgles-omap3_5.00.00.01.bb b/recipes-graphics/libgles/libgles-omap3_5.00.00.01.bb
index e48ec63..9d224d1 100644
--- a/recipes-graphics/libgles/libgles-omap3_5.00.00.01.bb
+++ b/recipes-graphics/libgles/libgles-omap3_5.00.00.01.bb
@@ -40,6 +40,8 @@ SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports
file://cputype \
file://rc.pvr \
file://99-bufferclass.rules \
+ file://0001-Update-OGLES-EGL-includes.patch \
+ file://0002-Update-OGLES2-EGL-includes.patch \
"
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
--
1.7.9.5
More information about the meta-ti
mailing list