[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