15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef __eglext_h_
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define __eglext_h_
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern "C" {
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)** Copyright (c) 2007-2013 The Khronos Group Inc.
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)**
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** Permission is hereby granted, free of charge, to any person obtaining a
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** copy of this software and/or associated documentation files (the
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** "Materials"), to deal in the Materials without restriction, including
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** without limitation the rights to use, copy, modify, merge, publish,
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** distribute, sublicense, and/or sell copies of the Materials, and to
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** permit persons to whom the Materials are furnished to do so, subject to
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** the following conditions:
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)**
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** The above copyright notice and this permission notice shall be included
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** in all copies or substantial portions of the Materials.
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)**
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <EGL/eglplatform.h>
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*************************************************************/
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Header file version number */
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Current version at http://www.khronos.org/registry/egl/ */
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* $Revision: 20690 $ on $Date: 2013-02-22 17:15:05 -0800 (Fri, 22 Feb 2013) $ */
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_EGLEXT_VERSION 15
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_config_attribs
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_config_attribs 1
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONFORMANT_KHR			0x3042	/* EGLConfig attribute */
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR	0x0020	/* EGL_SURFACE_TYPE bitfield */
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR		0x0040	/* EGL_SURFACE_TYPE bitfield */
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_lock_surface
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_lock_surface 1
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_READ_SURFACE_BIT_KHR		0x0001	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_WRITE_SURFACE_BIT_KHR		0x0002	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_LOCK_SURFACE_BIT_KHR		0x0080	/* EGL_SURFACE_TYPE bitfield */
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_OPTIMAL_FORMAT_BIT_KHR		0x0100	/* EGL_SURFACE_TYPE bitfield */
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_MATCH_FORMAT_KHR			0x3043	/* EGLConfig attribute */
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_FORMAT_RGB_565_EXACT_KHR		0x30C0	/* EGL_MATCH_FORMAT_KHR value */
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_FORMAT_RGB_565_KHR			0x30C1	/* EGL_MATCH_FORMAT_KHR value */
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_FORMAT_RGBA_8888_EXACT_KHR		0x30C2	/* EGL_MATCH_FORMAT_KHR value */
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_FORMAT_RGBA_8888_KHR		0x30C3	/* EGL_MATCH_FORMAT_KHR value */
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_MAP_PRESERVE_PIXELS_KHR		0x30C4	/* eglLockSurfaceKHR attribute */
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_LOCK_USAGE_HINT_KHR			0x30C5	/* eglLockSurfaceKHR attribute */
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BITMAP_POINTER_KHR			0x30C6	/* eglQuerySurface attribute */
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BITMAP_PITCH_KHR			0x30C7	/* eglQuerySurface attribute */
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BITMAP_ORIGIN_KHR			0x30C8	/* eglQuerySurface attribute */
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR		0x30C9	/* eglQuerySurface attribute */
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR	0x30CA	/* eglQuerySurface attribute */
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR	0x30CB	/* eglQuerySurface attribute */
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR	0x30CC	/* eglQuerySurface attribute */
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR	0x30CD	/* eglQuerySurface attribute */
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_LOWER_LEFT_KHR			0x30CE	/* EGL_BITMAP_ORIGIN_KHR value */
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_UPPER_LEFT_KHR			0x30CF	/* EGL_BITMAP_ORIGIN_KHR value */
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface);
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface);
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_image
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_image 1
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NATIVE_PIXMAP_KHR			0x30B0	/* eglCreateImageKHR target */
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void *EGLImageKHR;
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NO_IMAGE_KHR			((EGLImageKHR)0)
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_vg_parent_image
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_vg_parent_image 1
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_VG_PARENT_IMAGE_KHR			0x30BA	/* eglCreateImageKHR target */
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_gl_texture_2D_image
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_gl_texture_2D_image 1
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_TEXTURE_2D_KHR			0x30B1	/* eglCreateImageKHR target */
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_TEXTURE_LEVEL_KHR		0x30BC	/* eglCreateImageKHR attribute */
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_gl_texture_cubemap_image
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_gl_texture_cubemap_image 1
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR	0x30B3	/* eglCreateImageKHR target */
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR	0x30B4	/* eglCreateImageKHR target */
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR	0x30B5	/* eglCreateImageKHR target */
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR	0x30B6	/* eglCreateImageKHR target */
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR	0x30B7	/* eglCreateImageKHR target */
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR	0x30B8	/* eglCreateImageKHR target */
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_gl_texture_3D_image
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_gl_texture_3D_image 1
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_TEXTURE_3D_KHR			0x30B2	/* eglCreateImageKHR target */
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_TEXTURE_ZOFFSET_KHR		0x30BD	/* eglCreateImageKHR attribute */
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_gl_renderbuffer_image
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_gl_renderbuffer_image 1
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_GL_RENDERBUFFER_KHR			0x30B9	/* eglCreateImageKHR target */
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if KHRONOS_SUPPORT_INT64   /* EGLTimeKHR requires 64-bit uint support */
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_reusable_sync
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_reusable_sync 1
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void* EGLSyncKHR;
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef khronos_utime_nanoseconds_t EGLTimeKHR;
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_STATUS_KHR			0x30F1
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SIGNALED_KHR			0x30F2
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_UNSIGNALED_KHR			0x30F3
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TIMEOUT_EXPIRED_KHR			0x30F5
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONDITION_SATISFIED_KHR		0x30F6
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_TYPE_KHR			0x30F7
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_REUSABLE_KHR			0x30FA
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR		0x0001	/* eglClientWaitSyncKHR <flags> bitfield */
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_FOREVER_KHR				0xFFFFFFFFFFFFFFFFull
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NO_SYNC_KHR				((EGLSyncKHR)0)
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync);
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_image_base
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_image_base 1
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Most interfaces defined by EGL_KHR_image_pixmap above */
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_IMAGE_PRESERVED_KHR			0x30D2	/* eglCreateImageKHR attribute */
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_image_pixmap
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_image_pixmap 1
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Interfaces defined by EGL_KHR_image above */
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_IMG_context_priority
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_IMG_context_priority 1
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONTEXT_PRIORITY_LEVEL_IMG		0x3100
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONTEXT_PRIORITY_HIGH_IMG		0x3101
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG		0x3102
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONTEXT_PRIORITY_LOW_IMG		0x3103
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_lock_surface2
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_lock_surface2 1
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_BITMAP_PIXEL_SIZE_KHR		0x3110
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_NV_coverage_sample
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NV_coverage_sample 1
1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_COVERAGE_BUFFERS_NV			0x30E0
1822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_COVERAGE_SAMPLES_NV			0x30E1
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_NV_depth_nonlinear
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NV_depth_nonlinear 1
1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DEPTH_ENCODING_NV			0x30E2
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_DEPTH_ENCODING_NONE_NV 0
1892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DEPTH_ENCODING_NONLINEAR_NV		0x30E3
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if KHRONOS_SUPPORT_INT64   /* EGLTimeNV requires 64-bit uint support */
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_NV_sync
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NV_sync 1
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV	0x30E6
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_STATUS_NV			0x30E7
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SIGNALED_NV				0x30E8
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_UNSIGNALED_NV			0x30E9
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV		0x0001
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_FOREVER_NV				0xFFFFFFFFFFFFFFFFull
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_ALREADY_SIGNALED_NV			0x30EA
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_TIMEOUT_EXPIRED_NV			0x30EB
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONDITION_SATISFIED_NV		0x30EC
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_TYPE_NV			0x30ED
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_CONDITION_NV			0x30EE
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_FENCE_NV			0x30EF
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NO_SYNC_NV				((EGLSyncNV)0)
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef void* EGLSyncNV;
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef khronos_utime_nanoseconds_t EGLTimeNV;
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if KHRONOS_SUPPORT_INT64   /* Dependent on EGL_KHR_reusable_sync which requires 64-bit uint support */
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_KHR_fence_sync
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_KHR_fence_sync 1
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Reuses most tokens and entry points from EGL_KHR_reusable_sync */
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR	0x30F0
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_CONDITION_KHR			0x30F8
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_SYNC_FENCE_KHR			0x30F9
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_HI_clientpixmap
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_HI_clientpixmap 1
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Surface Attribute */
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CLIENT_PIXMAP_POINTER_HI		0x8F74
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Structure representing a client pixmap
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * (pixmap's data is in client-space memory).
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct EGLClientPixmapHI
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	void*		pData;
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	EGLint		iWidth;
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	EGLint		iHeight;
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	EGLint		iStride;
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif	/* EGL_HI_clientpixmap */
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_HI_colorformats
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_HI_colorformats 1
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Config Attribute */
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_COLOR_FORMAT_HI			0x8F70
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Color Formats */
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_COLOR_RGB_HI			0x8F71
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_COLOR_RGBA_HI			0x8F72
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_COLOR_ARGB_HI			0x8F73
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* EGL_HI_colorformats */
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_MESA_drm_image
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_MESA_drm_image 1
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_DRM_BUFFER_FORMAT_MESA		0x31D0	    /* CreateDRMImageMESA attribute */
2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_DRM_BUFFER_USE_MESA			0x31D1	    /* CreateDRMImageMESA attribute */
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA	0x31D2	    /* EGL_IMAGE_FORMAT_MESA attribute value */
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_DRM_BUFFER_MESA			0x31D3	    /* eglCreateImageKHR target */
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_DRM_BUFFER_STRIDE_MESA		0x31D4
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_DRM_BUFFER_USE_SCANOUT_MESA		0x00000001  /* EGL_DRM_BUFFER_USE_MESA bits */
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_DRM_BUFFER_USE_SHARE_MESA		0x00000002  /* EGL_DRM_BUFFER_USE_MESA bits */
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_NV_post_sub_buffer
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NV_post_sub_buffer 1
2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_POST_SUB_BUFFER_SUPPORTED_NV	0x30BE
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_ANGLE_query_surface_pointer
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_ANGLE_query_surface_pointer 1
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLBoolean eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
303a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#ifndef EGL_ANGLE_software_display
304a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#define EGL_ANGLE_software_display 1
305a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#define EGL_SOFTWARE_DISPLAY_ANGLE ((EGLNativeDisplayType)-1)
306a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)#endif
307a93a17c8d99d686bd4a1511e5504e5e6cc9fcadfTorne (Richard Coles)
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE	0x3200
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_NV_coverage_sample_resolve
3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NV_coverage_sample_resolve 1
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_COVERAGE_SAMPLE_RESOLVE_NV		0x3131
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV	0x3132
3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV	0x3133
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if KHRONOS_SUPPORT_INT64   /* EGLuint64NV requires 64-bit uint support */
3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_NV_system_time
3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NV_system_time 1
3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef khronos_utime_nanoseconds_t EGLuint64NV;
3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void);
3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void);
3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#if KHRONOS_SUPPORT_INT64 /* EGLuint64KHR requires 64-bit uint support */
3342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_KHR_stream
3352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_KHR_stream 1
3362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef void* EGLStreamKHR;
3372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef khronos_uint64_t EGLuint64KHR;
3382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_NO_STREAM_KHR			((EGLStreamKHR)0)
3392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONSUMER_LATENCY_USEC_KHR		0x3210
3402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_PRODUCER_FRAME_KHR			0x3212
3412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONSUMER_FRAME_KHR			0x3213
3422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_STATE_KHR			0x3214
3432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_STATE_CREATED_KHR		0x3215
3442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_STATE_CONNECTING_KHR		0x3216
3452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_STATE_EMPTY_KHR		0x3217
3462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR    0x3218
3472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR    0x3219
3482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_STATE_DISCONNECTED_KHR	0x321A
3492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_BAD_STREAM_KHR			0x321B
3502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_BAD_STATE_KHR			0x321C
3512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
3522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR(EGLDisplay dpy, const EGLint *attrib_list);
3532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream);
3542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
3552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
3562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
3572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
3582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC)(EGLDisplay dpy, const EGLint *attrib_list);
3592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
3602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
3612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
3622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
3632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
3662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
3672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_KHR_stream_consumer_gltexture
3682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_KHR_stream_consumer_gltexture 1
3692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR	0x321E
3702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
3712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream);
3722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream);
3732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream);
3742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
3752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
3762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
3772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
3782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
3812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
3822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_KHR_stream_producer_eglsurface
3832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_KHR_stream_producer_eglsurface 1
3842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_BIT_KHR			0x0800
3852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
3862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
3872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
3882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
3892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
3922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
3932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_KHR_stream_producer_aldatalocator
3942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_KHR_stream_producer_aldatalocator 1
3952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
3972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
3982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
3992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_KHR_stream_fifo
4002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_KHR_stream_fifo 1
4012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* reuse EGLTimeKHR */
4022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_FIFO_LENGTH_KHR		0x31FC
4032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_TIME_NOW_KHR			0x31FD
4042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_TIME_CONSUMER_KHR		0x31FE
4052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_STREAM_TIME_PRODUCER_KHR		0x31FF
4062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
4072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
4082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
4092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
4102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef EGL_EXT_create_context_robustness
4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_EXT_create_context_robustness 1
4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT	0x30BF
4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_NO_RESET_NOTIFICATION_EXT		0x31BE
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define EGL_LOSE_CONTEXT_ON_RESET_EXT		0x31BF
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_ANGLE_d3d_share_handle_client_buffer
4222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_ANGLE_d3d_share_handle_client_buffer 1
4232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* reuse EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE */
4242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_KHR_create_context
4272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_KHR_create_context 1
4282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONTEXT_MAJOR_VERSION_KHR			    EGL_CONTEXT_CLIENT_VERSION
4292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONTEXT_MINOR_VERSION_KHR			    0x30FB
4302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONTEXT_FLAGS_KHR				    0x30FC
4312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR		    0x30FD
4322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR  0x31BD
4332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_NO_RESET_NOTIFICATION_KHR			    0x31BE
4342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_LOSE_CONTEXT_ON_RESET_KHR			    0x31BF
4352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR		    0x00000001
4362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR	    0x00000002
4372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR	    0x00000004
4382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR		    0x00000001
4392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR    0x00000002
4402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_OPENGL_ES3_BIT_KHR				    0x00000040
4412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_KHR_surfaceless_context
4442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_KHR_surfaceless_context 1
4452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* No tokens/entry points, just relaxes an error condition */
4462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
4492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_KHR_stream_cross_process_fd
4502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_KHR_stream_cross_process_fd 1
4512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef int EGLNativeFileDescriptorKHR;
4522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_NO_FILE_DESCRIPTOR_KHR		((EGLNativeFileDescriptorKHR)(-1))
4532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
4542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream);
4552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
4562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
4572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
4582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
4592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_EXT_multiview_window
4632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_EXT_multiview_window 1
4642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_MULTIVIEW_VIEW_COUNT_EXT		0x3134
4652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_KHR_wait_sync
4682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_KHR_wait_sync 1
4692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
4702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
4712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
4722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC)(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
4732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_NV_post_convert_rounding
4762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_NV_post_convert_rounding 1
4772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)/* No tokens or entry points, just relaxes behavior of SwapBuffers */
4782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_NV_native_query
4812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_NV_native_query 1
4822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
4832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV( EGLDisplay dpy, EGLNativeDisplayType* display_id);
4842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV( EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType* window);
4852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV( EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType* pixmap);
4862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
4872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC)(EGLDisplay dpy, EGLNativeDisplayType *display_id);
4882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC)(EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
4892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC)(EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
4902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_NV_3dvision_surface
4932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_NV_3dvision_surface 1
4942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_AUTO_STEREO_NV			0x3136
4952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
4962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_ANDROID_framebuffer_target
4982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_ANDROID_framebuffer_target 1
4992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_FRAMEBUFFER_TARGET_ANDROID		0x3147
5002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
5012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_ANDROID_blob_cache
5032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_ANDROID_blob_cache 1
5042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef khronos_ssize_t EGLsizeiANDROID;
5052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
5062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
5072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
5082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
5092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
5102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC)(EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
5112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
5122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_ANDROID_image_native_buffer
5142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_ANDROID_image_native_buffer 1
5152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_NATIVE_BUFFER_ANDROID		0x3140
5162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
5172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_ANDROID_native_fence_sync
5192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_ANDROID_native_fence_sync 1
5202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_SYNC_NATIVE_FENCE_ANDROID		0x3144
5212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID	0x3145
5222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID	0x3146
5232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_NO_NATIVE_FENCE_FD_ANDROID		-1
5242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifdef EGL_EGLEXT_PROTOTYPES
5252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID( EGLDisplay dpy, EGLSyncKHR);
5262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* EGL_EGLEXT_PROTOTYPES */
5272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC)(EGLDisplay dpy, EGLSyncKHR);
5282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
5292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_ANDROID_recordable
5312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_ANDROID_recordable 1
5322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_RECORDABLE_ANDROID			0x3142
5332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
5342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_EXT_buffer_age
5362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_EXT_buffer_age 1
5372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_BUFFER_AGE_EXT			0x313D
5382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
5392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef EGL_EXT_image_dma_buf_import
5412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_EXT_image_dma_buf_import 1
5422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_LINUX_DMA_BUF_EXT			0x3270
5432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_LINUX_DRM_FOURCC_EXT		0x3271
5442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DMA_BUF_PLANE0_FD_EXT		0x3272
5452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DMA_BUF_PLANE0_OFFSET_EXT		0x3273
5462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DMA_BUF_PLANE0_PITCH_EXT		0x3274
5472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DMA_BUF_PLANE1_FD_EXT		0x3275
5482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DMA_BUF_PLANE1_OFFSET_EXT		0x3276
5492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DMA_BUF_PLANE1_PITCH_EXT		0x3277
5502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DMA_BUF_PLANE2_FD_EXT		0x3278
5512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DMA_BUF_PLANE2_OFFSET_EXT		0x3279
5522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_DMA_BUF_PLANE2_PITCH_EXT		0x327A
5532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_YUV_COLOR_SPACE_HINT_EXT		0x327B
5542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_SAMPLE_RANGE_HINT_EXT		0x327C
5552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
5562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
5572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_ITU_REC601_EXT			0x327F
5582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_ITU_REC709_EXT			0x3280
5592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_ITU_REC2020_EXT			0x3281
5602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_YUV_FULL_RANGE_EXT			0x3282
5612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_YUV_NARROW_RANGE_EXT		0x3283
5622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_YUV_CHROMA_SITING_0_EXT		0x3284
5632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define EGL_YUV_CHROMA_SITING_0_5_EXT		0x3285
5642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif
5652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifdef __cplusplus
5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif
5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif /* __eglext_h_ */
571