16f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef __eglext_h_
26f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define __eglext_h_
36f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
46f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef __cplusplus
56f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capensextern "C" {
66f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
76f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
86f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/*
96f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** Copyright (c) 2007-2013 The Khronos Group Inc.
106f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens**
116f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** Permission is hereby granted, free of charge, to any person obtaining a
126f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** copy of this software and/or associated documentation files (the
136f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** "Materials"), to deal in the Materials without restriction, including
146f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** without limitation the rights to use, copy, modify, merge, publish,
156f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** distribute, sublicense, and/or sell copies of the Materials, and to
166f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** permit persons to whom the Materials are furnished to do so, subject to
176f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** the following conditions:
186f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens**
196f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** The above copyright notice and this permission notice shall be included
206f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** in all copies or substantial portions of the Materials.
216f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens**
226f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
236f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
246f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
256f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
266f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
276f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
286f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
296f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens*/
306f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
316f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#include <EGL/eglplatform.h>
326f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
336f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/*************************************************************/
346f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
356f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* Header file version number */
366f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* Current version at http://www.khronos.org/registry/egl/ */
376f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* $Revision: 20690 $ on $Date: 2013-02-22 17:15:05 -0800 (Fri, 22 Feb 2013) $ */
386f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_EGLEXT_VERSION 15
396f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
406f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_config_attribs
416f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_config_attribs 1
426f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONFORMANT_KHR			0x3042	/* EGLConfig attribute */
436f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR	0x0020	/* EGL_SURFACE_TYPE bitfield */
446f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR		0x0040	/* EGL_SURFACE_TYPE bitfield */
456f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
466f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
476f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_lock_surface
486f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_lock_surface 1
496f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_READ_SURFACE_BIT_KHR		0x0001	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
506f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_WRITE_SURFACE_BIT_KHR		0x0002	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
516f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_LOCK_SURFACE_BIT_KHR		0x0080	/* EGL_SURFACE_TYPE bitfield */
526f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_OPTIMAL_FORMAT_BIT_KHR		0x0100	/* EGL_SURFACE_TYPE bitfield */
536f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_MATCH_FORMAT_KHR			0x3043	/* EGLConfig attribute */
546f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_FORMAT_RGB_565_EXACT_KHR		0x30C0	/* EGL_MATCH_FORMAT_KHR value */
556f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_FORMAT_RGB_565_KHR			0x30C1	/* EGL_MATCH_FORMAT_KHR value */
566f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_FORMAT_RGBA_8888_EXACT_KHR		0x30C2	/* EGL_MATCH_FORMAT_KHR value */
576f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_FORMAT_RGBA_8888_KHR		0x30C3	/* EGL_MATCH_FORMAT_KHR value */
586f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_MAP_PRESERVE_PIXELS_KHR		0x30C4	/* eglLockSurfaceKHR attribute */
596f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_LOCK_USAGE_HINT_KHR			0x30C5	/* eglLockSurfaceKHR attribute */
606f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BITMAP_POINTER_KHR			0x30C6	/* eglQuerySurface attribute */
616f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BITMAP_PITCH_KHR			0x30C7	/* eglQuerySurface attribute */
626f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BITMAP_ORIGIN_KHR			0x30C8	/* eglQuerySurface attribute */
636f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR		0x30C9	/* eglQuerySurface attribute */
646f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR	0x30CA	/* eglQuerySurface attribute */
656f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR	0x30CB	/* eglQuerySurface attribute */
666f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR	0x30CC	/* eglQuerySurface attribute */
676f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR	0x30CD	/* eglQuerySurface attribute */
686f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_LOWER_LEFT_KHR			0x30CE	/* EGL_BITMAP_ORIGIN_KHR value */
696f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_UPPER_LEFT_KHR			0x30CF	/* EGL_BITMAP_ORIGIN_KHR value */
706f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
716f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
726f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface);
736f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
746f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
756f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface);
766f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
776f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
786f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_image
796f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_image 1
806f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NATIVE_PIXMAP_KHR			0x30B0	/* eglCreateImageKHR target */
816f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef void *EGLImageKHR;
826f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NO_IMAGE_KHR			((EGLImageKHR)0)
836f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
846f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
856f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
866f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
876f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
886f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
896f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
906f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
916f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_vg_parent_image
926f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_vg_parent_image 1
936f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_VG_PARENT_IMAGE_KHR			0x30BA	/* eglCreateImageKHR target */
946f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
956f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
966f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_gl_texture_2D_image
976f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_gl_texture_2D_image 1
986f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_TEXTURE_2D_KHR			0x30B1	/* eglCreateImageKHR target */
996f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_TEXTURE_LEVEL_KHR		0x30BC	/* eglCreateImageKHR attribute */
1006f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1016f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1026f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_gl_texture_cubemap_image
1036f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_gl_texture_cubemap_image 1
1046f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR	0x30B3	/* eglCreateImageKHR target */
1056f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR	0x30B4	/* eglCreateImageKHR target */
1066f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR	0x30B5	/* eglCreateImageKHR target */
1076f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR	0x30B6	/* eglCreateImageKHR target */
1086f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR	0x30B7	/* eglCreateImageKHR target */
1096f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR	0x30B8	/* eglCreateImageKHR target */
1106f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1116f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1126f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_gl_texture_3D_image
1136f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_gl_texture_3D_image 1
1146f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_TEXTURE_3D_KHR			0x30B2	/* eglCreateImageKHR target */
1156f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_TEXTURE_ZOFFSET_KHR		0x30BD	/* eglCreateImageKHR attribute */
1166f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1176f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1186f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_gl_renderbuffer_image
1196f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_gl_renderbuffer_image 1
1206f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_GL_RENDERBUFFER_KHR			0x30B9	/* eglCreateImageKHR target */
1216f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1226f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1236f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#if KHRONOS_SUPPORT_INT64   /* EGLTimeKHR requires 64-bit uint support */
1246f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_reusable_sync
1256f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_reusable_sync 1
1266f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1276f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef void* EGLSyncKHR;
1286f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef khronos_utime_nanoseconds_t EGLTimeKHR;
1296f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1306f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_STATUS_KHR			0x30F1
1316f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SIGNALED_KHR			0x30F2
1326f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_UNSIGNALED_KHR			0x30F3
1336f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_TIMEOUT_EXPIRED_KHR			0x30F5
1346f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONDITION_SATISFIED_KHR		0x30F6
1356f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_TYPE_KHR			0x30F7
1366f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_REUSABLE_KHR			0x30FA
1376f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR		0x0001	/* eglClientWaitSyncKHR <flags> bitfield */
1386f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_FOREVER_KHR				0xFFFFFFFFFFFFFFFFull
1396f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NO_SYNC_KHR				((EGLSyncKHR)0)
1406f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
1416f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
1426f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync);
1436f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
1446f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1456f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
1466f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
1476f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
1486f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
1496f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
1506f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1516f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
1526f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1536f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1546f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1556f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_image_base
1566f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_image_base 1
1576f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* Most interfaces defined by EGL_KHR_image_pixmap above */
1586f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_IMAGE_PRESERVED_KHR			0x30D2	/* eglCreateImageKHR attribute */
1596f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1606f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1616f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_image_pixmap
1626f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_image_pixmap 1
1636f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* Interfaces defined by EGL_KHR_image above */
1646f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1656f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1666f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_IMG_context_priority
1676f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_IMG_context_priority 1
1686f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_PRIORITY_LEVEL_IMG		0x3100
1696f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_PRIORITY_HIGH_IMG		0x3101
1706f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG		0x3102
1716f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_PRIORITY_LOW_IMG		0x3103
1726f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1736f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1746f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_lock_surface2
1756f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_lock_surface2 1
1766f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BITMAP_PIXEL_SIZE_KHR		0x3110
1776f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1786f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1796f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_NV_coverage_sample
1806f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NV_coverage_sample 1
1816f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_COVERAGE_BUFFERS_NV			0x30E0
1826f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_COVERAGE_SAMPLES_NV			0x30E1
1836f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1846f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1856f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_NV_depth_nonlinear
1866f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NV_depth_nonlinear 1
1876f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DEPTH_ENCODING_NV			0x30E2
1886f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DEPTH_ENCODING_NONE_NV 0
1896f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DEPTH_ENCODING_NONLINEAR_NV		0x30E3
1906f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
1916f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
1926f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#if KHRONOS_SUPPORT_INT64   /* EGLTimeNV requires 64-bit uint support */
1936f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_NV_sync
1946f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NV_sync 1
1956f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV	0x30E6
1966f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_STATUS_NV			0x30E7
1976f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SIGNALED_NV				0x30E8
1986f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_UNSIGNALED_NV			0x30E9
1996f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV		0x0001
2006f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_FOREVER_NV				0xFFFFFFFFFFFFFFFFull
2016f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ALREADY_SIGNALED_NV			0x30EA
2026f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_TIMEOUT_EXPIRED_NV			0x30EB
2036f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONDITION_SATISFIED_NV		0x30EC
2046f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_TYPE_NV			0x30ED
2056f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_CONDITION_NV			0x30EE
2066f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_FENCE_NV			0x30EF
2076f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NO_SYNC_NV				((EGLSyncNV)0)
2086f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef void* EGLSyncNV;
2096f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef khronos_utime_nanoseconds_t EGLTimeNV;
2106f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
2116f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
2126f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
2136f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
2146f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
2156f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
2166f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
2176f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
2186f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
2196f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
2206f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
2216f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
2226f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
2236f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
2246f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
2256f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
2266f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
2276f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#if KHRONOS_SUPPORT_INT64   /* Dependent on EGL_KHR_reusable_sync which requires 64-bit uint support */
2286f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_fence_sync
2296f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_fence_sync 1
2306f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* Reuses most tokens and entry points from EGL_KHR_reusable_sync */
2316f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR	0x30F0
2326f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_CONDITION_KHR			0x30F8
2336f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_FENCE_KHR			0x30F9
2346f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
2356f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
2366f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
2376f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_HI_clientpixmap
2386f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_HI_clientpixmap 1
2396f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
2406f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* Surface Attribute */
2416f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CLIENT_PIXMAP_POINTER_HI		0x8F74
2426f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/*
2436f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens * Structure representing a client pixmap
2446f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens * (pixmap's data is in client-space memory).
2456f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens */
2466f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capensstruct EGLClientPixmapHI
2476f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens{
2486f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens	void*		pData;
2496f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens	EGLint		iWidth;
2506f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens	EGLint		iHeight;
2516f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens	EGLint		iStride;
2526f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens};
2536f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
2546f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
2556f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
2566f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
2576f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif	/* EGL_HI_clientpixmap */
2586f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
2596f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_HI_colorformats
2606f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_HI_colorformats 1
2616f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* Config Attribute */
2626f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_COLOR_FORMAT_HI			0x8F70
2636f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* Color Formats */
2646f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_COLOR_RGB_HI			0x8F71
2656f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_COLOR_RGBA_HI			0x8F72
2666f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_COLOR_ARGB_HI			0x8F73
2676f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_HI_colorformats */
2686f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
2696f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_MESA_drm_image
2706f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_MESA_drm_image 1
2716f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DRM_BUFFER_FORMAT_MESA		0x31D0	    /* CreateDRMImageMESA attribute */
2726f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DRM_BUFFER_USE_MESA			0x31D1	    /* CreateDRMImageMESA attribute */
2736f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA	0x31D2	    /* EGL_IMAGE_FORMAT_MESA attribute value */
2746f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DRM_BUFFER_MESA			0x31D3	    /* eglCreateImageKHR target */
2756f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DRM_BUFFER_STRIDE_MESA		0x31D4
2766f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DRM_BUFFER_USE_SCANOUT_MESA		0x00000001  /* EGL_DRM_BUFFER_USE_MESA bits */
2776f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DRM_BUFFER_USE_SHARE_MESA		0x00000002  /* EGL_DRM_BUFFER_USE_MESA bits */
2786f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
2796f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
2806f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
2816f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
2826f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
2836f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
2846f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
2856f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
2866f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_NV_post_sub_buffer
2876f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NV_post_sub_buffer 1
2886f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_POST_SUB_BUFFER_SUPPORTED_NV	0x30BE
2896f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
2906f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
2916f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
2926f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
2936f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
2946f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
2956f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_ANGLE_query_surface_pointer
2966f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ANGLE_query_surface_pointer 1
2976f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
2986f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
2996f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3006f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
3016f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3026f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
3036f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
3046f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
3056f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE	0x3200
3066f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3076f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
3086f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_NV_coverage_sample_resolve
3096f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NV_coverage_sample_resolve 1
3106f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_COVERAGE_SAMPLE_RESOLVE_NV		0x3131
3116f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV	0x3132
3126f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV	0x3133
3136f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3146f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
3156f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#if KHRONOS_SUPPORT_INT64   /* EGLuint64NV requires 64-bit uint support */
3166f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_NV_system_time
3176f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NV_system_time 1
3186f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef khronos_utime_nanoseconds_t EGLuint64NV;
3196f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
3206f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void);
3216f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void);
3226f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
3236f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
3246f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
3256f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3266f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3276f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
3286f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#if KHRONOS_SUPPORT_INT64 /* EGLuint64KHR requires 64-bit uint support */
3296f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_stream
3306f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_stream 1
3316f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef void* EGLStreamKHR;
3326f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef khronos_uint64_t EGLuint64KHR;
3336f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NO_STREAM_KHR			((EGLStreamKHR)0)
3346f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONSUMER_LATENCY_USEC_KHR		0x3210
3356f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_PRODUCER_FRAME_KHR			0x3212
3366f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONSUMER_FRAME_KHR			0x3213
3376f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_STATE_KHR			0x3214
3386f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_STATE_CREATED_KHR		0x3215
3396f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_STATE_CONNECTING_KHR		0x3216
3406f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_STATE_EMPTY_KHR		0x3217
3416f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR    0x3218
3426f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR    0x3219
3436f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_STATE_DISCONNECTED_KHR	0x321A
3446f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BAD_STREAM_KHR			0x321B
3456f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BAD_STATE_KHR			0x321C
3466f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
3476f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR(EGLDisplay dpy, const EGLint *attrib_list);
3486f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream);
3496f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
3506f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
3516f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
3526f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
3536f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC)(EGLDisplay dpy, const EGLint *attrib_list);
3546f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
3556f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
3566f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
3576f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
3586f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3596f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3606f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
3616f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
3626f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_stream_consumer_gltexture
3636f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_stream_consumer_gltexture 1
3646f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR	0x321E
3656f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
3666f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream);
3676f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream);
3686f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream);
3696f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
3706f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
3716f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
3726f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
3736f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3746f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3756f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
3766f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
3776f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_stream_producer_eglsurface
3786f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_stream_producer_eglsurface 1
3796f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_BIT_KHR			0x0800
3806f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
3816f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
3826f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
3836f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
3846f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3856f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3866f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
3876f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
3886f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_stream_producer_aldatalocator
3896f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_stream_producer_aldatalocator 1
3906f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3916f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
3926f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
3936f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
3946f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_stream_fifo
3956f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_stream_fifo 1
3966f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* reuse EGLTimeKHR */
3976f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_FIFO_LENGTH_KHR		0x31FC
3986f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_TIME_NOW_KHR			0x31FD
3996f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_TIME_CONSUMER_KHR		0x31FE
4006f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_STREAM_TIME_PRODUCER_KHR		0x31FF
4016f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
4026f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
4036f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
4046f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
4056f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4066f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4076f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4086f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_EXT_create_context_robustness
4096f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_EXT_create_context_robustness 1
4106f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT	0x30BF
4116f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
4126f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NO_RESET_NOTIFICATION_EXT		0x31BE
4136f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_LOSE_CONTEXT_ON_RESET_EXT		0x31BF
4146f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4156f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4166f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_ANGLE_d3d_share_handle_client_buffer
4176f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ANGLE_d3d_share_handle_client_buffer 1
4186f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* reuse EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE */
4196f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4206f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4216f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_create_context
4226f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_create_context 1
4236f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_MAJOR_VERSION_KHR			    EGL_CONTEXT_CLIENT_VERSION
4246f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_MINOR_VERSION_KHR			    0x30FB
4256f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_FLAGS_KHR				    0x30FC
4266f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR		    0x30FD
4276f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR  0x31BD
4286f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NO_RESET_NOTIFICATION_KHR			    0x31BE
4296f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_LOSE_CONTEXT_ON_RESET_KHR			    0x31BF
4306f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR		    0x00000001
4316f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR	    0x00000002
4326f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR	    0x00000004
4336f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR		    0x00000001
4346f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR    0x00000002
4356f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_OPENGL_ES3_BIT_KHR				    0x00000040
4366f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4376f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4386f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_surfaceless_context
4396f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_surfaceless_context 1
4406f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* No tokens/entry points, just relaxes an error condition */
4416f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4426f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4436f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
4446f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_stream_cross_process_fd
4456f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_stream_cross_process_fd 1
4466f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef int EGLNativeFileDescriptorKHR;
4476f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NO_FILE_DESCRIPTOR_KHR		((EGLNativeFileDescriptorKHR)(-1))
4486f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
4496f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream);
4506f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
4516f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
4526f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
4536f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
4546f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4556f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4566f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4576f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_EXT_multiview_window
4586f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_EXT_multiview_window 1
4596f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_MULTIVIEW_VIEW_COUNT_EXT		0x3134
4606f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4616f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4626f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_KHR_wait_sync
4636f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_KHR_wait_sync 1
4646f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
4656f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
4666f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
4676f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
4686f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4696f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4706f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_NV_post_convert_rounding
4716f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NV_post_convert_rounding 1
4726f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens/* No tokens or entry points, just relaxes behavior of SwapBuffers */
4736f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4746f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4756f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_NV_native_query
4766f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NV_native_query 1
4776f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
4786f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV( EGLDisplay dpy, EGLNativeDisplayType* display_id);
4796f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV( EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType* window);
4806f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV( EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType* pixmap);
4816f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
4826f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC)(EGLDisplay dpy, EGLNativeDisplayType *display_id);
4836f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC)(EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
4846f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC)(EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
4856f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4866f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4876f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_NV_3dvision_surface
4886f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NV_3dvision_surface 1
4896f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_AUTO_STEREO_NV			0x3136
4906f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4916f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4926f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_ANDROID_framebuffer_target
4936f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ANDROID_framebuffer_target 1
4946f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_FRAMEBUFFER_TARGET_ANDROID		0x3147
4956f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
4966f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
4976f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_ANDROID_blob_cache
4986f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ANDROID_blob_cache 1
4996f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef khronos_ssize_t EGLsizeiANDROID;
5006f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
5016f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
5026f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
5036f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
5046f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
5056f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC)(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
5066f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
5076f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
5086f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_ANDROID_image_native_buffer
5096f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ANDROID_image_native_buffer 1
5106f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NATIVE_BUFFER_ANDROID		0x3140
5116f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
5126f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
5136f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_ANDROID_native_fence_sync
5146f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ANDROID_native_fence_sync 1
5156f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_NATIVE_FENCE_ANDROID		0x3144
5166f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID	0x3145
5176f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID	0x3146
5186f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_NO_NATIVE_FENCE_FD_ANDROID		-1
5196f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
5206f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas CapensEGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID( EGLDisplay dpy, EGLSyncKHR);
5216f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* EGL_EGLEXT_PROTOTYPES */
5226f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capenstypedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC)(EGLDisplay dpy, EGLSyncKHR);
5236f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
5246f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
5256f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_ANDROID_recordable
5266f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ANDROID_recordable 1
5276f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_RECORDABLE_ANDROID			0x3142
5286f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
5296f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
5306f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_EXT_buffer_age
5316f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_EXT_buffer_age 1
5326f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_BUFFER_AGE_EXT			0x313D
5336f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
5346f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
5356f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifndef EGL_EXT_image_dma_buf_import
5366f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_EXT_image_dma_buf_import 1
5376f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_LINUX_DMA_BUF_EXT			0x3270
5386f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_LINUX_DRM_FOURCC_EXT		0x3271
5396f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DMA_BUF_PLANE0_FD_EXT		0x3272
5406f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DMA_BUF_PLANE0_OFFSET_EXT		0x3273
5416f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DMA_BUF_PLANE0_PITCH_EXT		0x3274
5426f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DMA_BUF_PLANE1_FD_EXT		0x3275
5436f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DMA_BUF_PLANE1_OFFSET_EXT		0x3276
5446f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DMA_BUF_PLANE1_PITCH_EXT		0x3277
5456f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DMA_BUF_PLANE2_FD_EXT		0x3278
5466f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DMA_BUF_PLANE2_OFFSET_EXT		0x3279
5476f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_DMA_BUF_PLANE2_PITCH_EXT		0x327A
5486f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_YUV_COLOR_SPACE_HINT_EXT		0x327B
5496f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_SAMPLE_RANGE_HINT_EXT		0x327C
5506f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
5516f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
5526f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ITU_REC601_EXT			0x327F
5536f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ITU_REC709_EXT			0x3280
5546f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_ITU_REC2020_EXT			0x3281
5556f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_YUV_FULL_RANGE_EXT			0x3282
5566f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_YUV_NARROW_RANGE_EXT		0x3283
5576f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_YUV_CHROMA_SITING_0_EXT		0x3284
5586f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#define EGL_YUV_CHROMA_SITING_0_5_EXT		0x3285
5596f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
5606f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
5616f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#ifdef __cplusplus
5626f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens}
5636f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif
5646f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens
5656f1f1567b9ab9394d3048d2cdf2786bc5bd1749bNicolas Capens#endif /* __eglext_h_ */
566