1894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef __eglext_h_
2b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define __eglext_h_ 1
3894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
4894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef __cplusplus
5894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumanextern "C" {
6894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif
7894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
8894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman/*
962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu** Copyright (c) 2013-2017 The Khronos Group Inc.
10894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman**
11894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** Permission is hereby granted, free of charge, to any person obtaining a
12894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** copy of this software and/or associated documentation files (the
13894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** "Materials"), to deal in the Materials without restriction, including
14894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** without limitation the rights to use, copy, modify, merge, publish,
15894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** distribute, sublicense, and/or sell copies of the Materials, and to
16894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** permit persons to whom the Materials are furnished to do so, subject to
17894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** the following conditions:
18894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman**
19894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** The above copyright notice and this permission notice shall be included
20894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** in all copies or substantial portions of the Materials.
21894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman**
22894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman*/
30b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens/*
31b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens** This header is generated from the Khronos OpenGL / OpenGL ES XML
32b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens** API Registry. The current version of the Registry, generator scripts
33b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens** used to make the header, and the header can be found at
3462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu**   http://www.khronos.org/registry/egl
35b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens**
3662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu** Khronos $Git commit SHA1: a732b061e7 $ on $Git commit date: 2017-06-17 23:27:53 +0100 $
37b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens*/
38894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
39894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#include <EGL/eglplatform.h>
40894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
4162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EGLEXT_VERSION 20170627
42b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
43b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens/* Generated C header for:
44b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens * API: egl
45b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens * Versions considered: .*
46b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens * Versions emitted: _nomatch_^
47b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens * Default extensions included: egl
48b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens * Additional extensions included: _nomatch_^
49b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens * Extensions removed: _nomatch_^
50b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens */
51b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
52b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_cl_event
53b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_cl_event 1
54b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CL_EVENT_HANDLE_KHR           0x309C
55b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_CL_EVENT_KHR             0x30FE
56b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_CL_EVENT_COMPLETE_KHR    0x30FF
57b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_cl_event */
58b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
59b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_cl_event2
60b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_cl_event2 1
61b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef void *EGLSyncKHR;
62b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef intptr_t EGLAttribKHR;
63b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNC64KHRPROC) (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
64b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
65b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSync64KHR (EGLDisplay dpy, EGLenum type, const EGLAttribKHR *attrib_list);
66b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
67b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_cl_event2 */
68894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
69b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_client_get_all_proc_addresses
70b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_client_get_all_proc_addresses 1
71b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_client_get_all_proc_addresses */
72894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
73894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef EGL_KHR_config_attribs
74894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define EGL_KHR_config_attribs 1
75b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONFORMANT_KHR                0x3042
76b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR  0x0020
77b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR   0x0040
78b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_config_attribs */
79b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
8062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_KHR_context_flush_control
8162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_KHR_context_flush_control 1
8262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR 0
8362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_CONTEXT_RELEASE_BEHAVIOR_KHR  0x2097
8462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x2098
8562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_KHR_context_flush_control */
8662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
87b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_create_context
88b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_create_context 1
89b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_MAJOR_VERSION_KHR     0x3098
90b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_MINOR_VERSION_KHR     0x30FB
91b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_FLAGS_KHR             0x30FC
92b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD
93b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
94b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NO_RESET_NOTIFICATION_KHR     0x31BE
95b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_LOSE_CONTEXT_ON_RESET_KHR     0x31BF
96b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR  0x00000001
97b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002
98b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004
99b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001
100b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002
101b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_OPENGL_ES3_BIT_KHR            0x00000040
102b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_create_context */
103894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
104810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifndef EGL_KHR_create_context_no_error
105810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_KHR_create_context_no_error 1
106810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_CONTEXT_OPENGL_NO_ERROR_KHR   0x31B3
107810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif /* EGL_KHR_create_context_no_error */
108810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens
109810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifndef EGL_KHR_debug
110810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_KHR_debug 1
111810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef void *EGLLabelKHR;
112810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef void *EGLObjectKHR;
11362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef void (EGLAPIENTRY  *EGLDEBUGPROCKHR)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);
114810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_OBJECT_THREAD_KHR             0x33B0
115810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_OBJECT_DISPLAY_KHR            0x33B1
116810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_OBJECT_CONTEXT_KHR            0x33B2
117810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_OBJECT_SURFACE_KHR            0x33B3
118810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_OBJECT_IMAGE_KHR              0x33B4
119810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_OBJECT_SYNC_KHR               0x33B5
120810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_OBJECT_STREAM_KHR             0x33B6
121810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_DEBUG_MSG_CRITICAL_KHR        0x33B9
122810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_DEBUG_MSG_ERROR_KHR           0x33BA
123810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_DEBUG_MSG_WARN_KHR            0x33BB
124810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_DEBUG_MSG_INFO_KHR            0x33BC
125810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_DEBUG_CALLBACK_KHR            0x33B8
12662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLint (EGLAPIENTRYP PFNEGLDEBUGMESSAGECONTROLKHRPROC) (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
127810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEBUGKHRPROC) (EGLint attribute, EGLAttrib *value);
128810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef EGLint (EGLAPIENTRYP PFNEGLLABELOBJECTKHRPROC) (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
129810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
13062a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLint EGLAPIENTRY eglDebugMessageControlKHR (EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list);
131810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryDebugKHR (EGLint attribute, EGLAttrib *value);
132810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas CapensEGLAPI EGLint EGLAPIENTRY eglLabelObjectKHR (EGLDisplay display, EGLenum objectType, EGLObjectKHR object, EGLLabelKHR label);
133810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif
134810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif /* EGL_KHR_debug */
135810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens
13662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_KHR_display_reference
13762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_KHR_display_reference 1
13862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_TRACK_REFERENCES_KHR          0x3352
13962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBKHRPROC) (EGLDisplay dpy, EGLint name, EGLAttrib *value);
14062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifdef EGL_EGLEXT_PROTOTYPES
14162a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribKHR (EGLDisplay dpy, EGLint name, EGLAttrib *value);
14262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif
14362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_KHR_display_reference */
14462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
145b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_fence_sync
146b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_fence_sync 1
147810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef khronos_utime_nanoseconds_t EGLTimeKHR;
148b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef KHRONOS_SUPPORT_INT64
149b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
150b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_CONDITION_KHR            0x30F8
151b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_FENCE_KHR                0x30F9
152810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
153810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
154810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
155810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
156810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
157810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas CapensEGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
158810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
159810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas CapensEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
160810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
161810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif
162b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* KHRONOS_SUPPORT_INT64 */
163b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_fence_sync */
164b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
165b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_get_all_proc_addresses
166b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_get_all_proc_addresses 1
167b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_get_all_proc_addresses */
168b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
169b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_gl_colorspace
170b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_gl_colorspace 1
171b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_COLORSPACE_KHR             0x309D
172b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_COLORSPACE_SRGB_KHR        0x3089
173b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_COLORSPACE_LINEAR_KHR      0x308A
174b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_gl_colorspace */
175b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
176b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_gl_renderbuffer_image
177b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_gl_renderbuffer_image 1
178b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_RENDERBUFFER_KHR           0x30B9
179b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_gl_renderbuffer_image */
180b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
181b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_gl_texture_2D_image
182b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_gl_texture_2D_image 1
183b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_TEXTURE_2D_KHR             0x30B1
184b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_TEXTURE_LEVEL_KHR          0x30BC
185b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_gl_texture_2D_image */
186b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
187b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_gl_texture_3D_image
188b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_gl_texture_3D_image 1
189b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_TEXTURE_3D_KHR             0x30B2
190b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_TEXTURE_ZOFFSET_KHR        0x30BD
191b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_gl_texture_3D_image */
192b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
193b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_gl_texture_cubemap_image
194b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_gl_texture_cubemap_image 1
195b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3
196b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4
197b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5
198b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6
199b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7
200b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8
201b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_gl_texture_cubemap_image */
202894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
203894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef EGL_KHR_image
204894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define EGL_KHR_image 1
205894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumantypedef void *EGLImageKHR;
206b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NATIVE_PIXMAP_KHR             0x30B0
20762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NO_IMAGE_KHR                  EGL_CAST(EGLImageKHR,0)
208b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
209b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
210894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef EGL_EGLEXT_PROTOTYPES
211894018228b0e0bdbd7aa7e8f47d4a9458789ca82John BaumanEGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
212894018228b0e0bdbd7aa7e8f47d4a9458789ca82John BaumanEGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
213894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif
214b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_image */
215894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
216b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_image_base
217b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_image_base 1
218b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_IMAGE_PRESERVED_KHR           0x30D2
219b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_image_base */
220894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
221b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_image_pixmap
222b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_image_pixmap 1
223b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_image_pixmap */
224894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
225b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_lock_surface
226b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_lock_surface 1
227b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_READ_SURFACE_BIT_KHR          0x0001
228b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_WRITE_SURFACE_BIT_KHR         0x0002
229b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_LOCK_SURFACE_BIT_KHR          0x0080
230b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_OPTIMAL_FORMAT_BIT_KHR        0x0100
231b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_MATCH_FORMAT_KHR              0x3043
232b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_FORMAT_RGB_565_EXACT_KHR      0x30C0
233b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_FORMAT_RGB_565_KHR            0x30C1
234b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_FORMAT_RGBA_8888_EXACT_KHR    0x30C2
235b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_FORMAT_RGBA_8888_KHR          0x30C3
236b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_MAP_PRESERVE_PIXELS_KHR       0x30C4
237b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_LOCK_USAGE_HINT_KHR           0x30C5
238b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BITMAP_POINTER_KHR            0x30C6
239b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BITMAP_PITCH_KHR              0x30C7
240b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BITMAP_ORIGIN_KHR             0x30C8
241b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR   0x30C9
242b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
243b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR  0x30CB
244b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
245b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
246b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_LOWER_LEFT_KHR                0x30CE
247b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_UPPER_LEFT_KHR                0x30CF
248b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
249b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay dpy, EGLSurface surface);
250b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
251b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay dpy, EGLSurface surface, const EGLint *attrib_list);
252b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay dpy, EGLSurface surface);
253894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif
254b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_lock_surface */
255894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
256b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_lock_surface2
257b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_lock_surface2 1
258b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BITMAP_PIXEL_SIZE_KHR         0x3110
259b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_lock_surface2 */
260894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
261b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_lock_surface3
262b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_lock_surface3 1
263b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACE64KHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
264b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
265b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface64KHR (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLAttribKHR *value);
266894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif
267b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_lock_surface3 */
268b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
26962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_KHR_mutable_render_buffer
27062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_KHR_mutable_render_buffer 1
27162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_MUTABLE_RENDER_BUFFER_BIT_KHR 0x1000
27262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_KHR_mutable_render_buffer */
27362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
27462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_KHR_no_config_context
27562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_KHR_no_config_context 1
27662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NO_CONFIG_KHR                 EGL_CAST(EGLConfig,0)
27762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_KHR_no_config_context */
27862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
279810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifndef EGL_KHR_partial_update
280810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_KHR_partial_update 1
281810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_BUFFER_AGE_KHR                0x313D
282810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
283810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
284810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
285810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif
286810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif /* EGL_KHR_partial_update */
287810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens
288b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_platform_android
289b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_platform_android 1
290b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PLATFORM_ANDROID_KHR          0x3141
291b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_platform_android */
292b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
293b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_platform_gbm
294b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_platform_gbm 1
295b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PLATFORM_GBM_KHR              0x31D7
296b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_platform_gbm */
297b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
298b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_platform_wayland
299b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_platform_wayland 1
300b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PLATFORM_WAYLAND_KHR          0x31D8
301b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_platform_wayland */
302b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
303b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_platform_x11
304b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_platform_x11 1
305b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PLATFORM_X11_KHR              0x31D5
306b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PLATFORM_X11_SCREEN_KHR       0x31D6
307b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_platform_x11 */
308894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
309894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifndef EGL_KHR_reusable_sync
310894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#define EGL_KHR_reusable_sync 1
311b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef KHRONOS_SUPPORT_INT64
312b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_STATUS_KHR               0x30F1
313b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SIGNALED_KHR                  0x30F2
314b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_UNSIGNALED_KHR                0x30F3
315b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_TIMEOUT_EXPIRED_KHR           0x30F5
316b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONDITION_SATISFIED_KHR       0x30F6
317b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_TYPE_KHR                 0x30F7
318b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_REUSABLE_KHR             0x30FA
319b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR   0x0001
320b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_FOREVER_KHR                   0xFFFFFFFFFFFFFFFFull
32162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NO_SYNC_KHR                   EGL_CAST(EGLSyncKHR,0)
322894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Baumantypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
323b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
324b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
325b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
326b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* KHRONOS_SUPPORT_INT64 */
327b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_reusable_sync */
328b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
329b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_stream
330b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_stream 1
331b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef void *EGLStreamKHR;
332b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef khronos_uint64_t EGLuint64KHR;
333b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef KHRONOS_SUPPORT_INT64
33462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NO_STREAM_KHR                 EGL_CAST(EGLStreamKHR,0)
335b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONSUMER_LATENCY_USEC_KHR     0x3210
336b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PRODUCER_FRAME_KHR            0x3212
337b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONSUMER_FRAME_KHR            0x3213
338b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_STATE_KHR              0x3214
339b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_STATE_CREATED_KHR      0x3215
340b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_STATE_CONNECTING_KHR   0x3216
341b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_STATE_EMPTY_KHR        0x3217
342b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218
343b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219
344b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A
345b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BAD_STREAM_KHR                0x321B
346b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BAD_STATE_KHR                 0x321C
347b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list);
348b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
349b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
350b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
351b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
352b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
353b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list);
354b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream);
355b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
356b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
357b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
358b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
359b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* KHRONOS_SUPPORT_INT64 */
360b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream */
361b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
36262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_KHR_stream_attrib
36362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_KHR_stream_attrib 1
36462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifdef KHRONOS_SUPPORT_INT64
36562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMATTRIBKHRPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list);
36662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
36762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
36862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
36962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
37062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifdef EGL_EGLEXT_PROTOTYPES
37162a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamAttribKHR (EGLDisplay dpy, const EGLAttrib *attrib_list);
37262a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglSetStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib value);
37362a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLAttrib *value);
37462a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
37562a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
37662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif
37762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* KHRONOS_SUPPORT_INT64 */
37862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_KHR_stream_attrib */
37962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
380b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_stream_consumer_gltexture
381b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_stream_consumer_gltexture 1
382b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_KHR_stream
383b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
384b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
385b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
386b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
387b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
388b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream);
389b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream);
390b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream);
391b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
392b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream */
393b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream_consumer_gltexture */
394b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
395b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_stream_cross_process_fd
396b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_stream_cross_process_fd 1
397b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef int EGLNativeFileDescriptorKHR;
398b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_KHR_stream
39962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NO_FILE_DESCRIPTOR_KHR        EGL_CAST(EGLNativeFileDescriptorKHR,-1)
400b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
401b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
402b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
403b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream);
404b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
405b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
406b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream */
407b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream_cross_process_fd */
408b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
409b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_stream_fifo
410b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_stream_fifo 1
411b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_KHR_stream
412b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_FIFO_LENGTH_KHR        0x31FC
413b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_TIME_NOW_KHR           0x31FD
414b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_TIME_CONSUMER_KHR      0x31FE
415b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_TIME_PRODUCER_KHR      0x31FF
416b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
417b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
418b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
419b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
420b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream */
421b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream_fifo */
422b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
423b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_stream_producer_aldatalocator
424b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_stream_producer_aldatalocator 1
425b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_KHR_stream
426b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream */
427b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream_producer_aldatalocator */
428b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
429b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_stream_producer_eglsurface
430b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_stream_producer_eglsurface 1
431b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_KHR_stream
432b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_STREAM_BIT_KHR                0x0800
433b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
434b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
435b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
436894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif
437b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream */
438b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_stream_producer_eglsurface */
439894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
440b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_surfaceless_context
441b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_surfaceless_context 1
442b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_surfaceless_context */
443894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
444810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifndef EGL_KHR_swap_buffers_with_damage
445810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_KHR_swap_buffers_with_damage 1
446810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
447810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
448810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
449810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif
450810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif /* EGL_KHR_swap_buffers_with_damage */
451810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens
452b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_vg_parent_image
453b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_vg_parent_image 1
454b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_VG_PARENT_IMAGE_KHR           0x30BA
455b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_vg_parent_image */
456894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
457b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_KHR_wait_sync
458b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_KHR_wait_sync 1
459b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
460b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
461b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
462894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif
463b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_KHR_wait_sync */
464894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
465b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_ANDROID_blob_cache
466b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ANDROID_blob_cache 1
467b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef khronos_ssize_t EGLsizeiANDROID;
468b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
469b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
470b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
471b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
472b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
473b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
474b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_ANDROID_blob_cache */
475b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
47662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_ANDROID_create_native_client_buffer
47762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_ANDROID_create_native_client_buffer 1
47862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NATIVE_BUFFER_USAGE_ANDROID   0x3143
47962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NATIVE_BUFFER_USAGE_PROTECTED_BIT_ANDROID 0x00000001
48062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NATIVE_BUFFER_USAGE_RENDERBUFFER_BIT_ANDROID 0x00000002
48162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NATIVE_BUFFER_USAGE_TEXTURE_BIT_ANDROID 0x00000004
48262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLClientBuffer (EGLAPIENTRYP PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC) (const EGLint *attrib_list);
48362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifdef EGL_EGLEXT_PROTOTYPES
48462a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLClientBuffer EGLAPIENTRY eglCreateNativeClientBufferANDROID (const EGLint *attrib_list);
48562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif
48662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_ANDROID_create_native_client_buffer */
48762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
488b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_ANDROID_framebuffer_target
489b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ANDROID_framebuffer_target 1
490b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_FRAMEBUFFER_TARGET_ANDROID    0x3147
491b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_ANDROID_framebuffer_target */
492b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
49362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_ANDROID_front_buffer_auto_refresh
49462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_ANDROID_front_buffer_auto_refresh 1
49562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_FRONT_BUFFER_AUTO_REFRESH_ANDROID 0x314C
49662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_ANDROID_front_buffer_auto_refresh */
49762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
498b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_ANDROID_image_native_buffer
499b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ANDROID_image_native_buffer 1
500b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NATIVE_BUFFER_ANDROID         0x3140
501b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_ANDROID_image_native_buffer */
502b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
503b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_ANDROID_native_fence_sync
504b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ANDROID_native_fence_sync 1
505b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_NATIVE_FENCE_ANDROID     0x3144
506b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID  0x3145
507b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
508b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NO_NATIVE_FENCE_FD_ANDROID    -1
509b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
510b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
511b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
51219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif
513b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_ANDROID_native_fence_sync */
51419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
51562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_ANDROID_presentation_time
51662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_ANDROID_presentation_time 1
51762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef khronos_stime_nanoseconds_t EGLnsecsANDROID;
51862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLPRESENTATIONTIMEANDROIDPROC) (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
51962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifdef EGL_EGLEXT_PROTOTYPES
52062a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglPresentationTimeANDROID (EGLDisplay dpy, EGLSurface surface, EGLnsecsANDROID time);
52162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif
52262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_ANDROID_presentation_time */
52362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
524b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_ANDROID_recordable
525b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ANDROID_recordable 1
526b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_RECORDABLE_ANDROID            0x3142
527b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_ANDROID_recordable */
528894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
529b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_ANGLE_d3d_share_handle_client_buffer
530b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ANGLE_d3d_share_handle_client_buffer 1
531b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
532b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */
533894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
534810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifndef EGL_ANGLE_device_d3d
535810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_ANGLE_device_d3d 1
536810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_D3D9_DEVICE_ANGLE             0x33A0
537810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_D3D11_DEVICE_ANGLE            0x33A1
538810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif /* EGL_ANGLE_device_d3d */
539810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens
540b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_ANGLE_query_surface_pointer
541b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ANGLE_query_surface_pointer 1
542b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
543894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef EGL_EGLEXT_PROTOTYPES
544b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
54519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif
546b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_ANGLE_query_surface_pointer */
54719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
548b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
549b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
550b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */
551b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
552810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifndef EGL_ANGLE_window_fixed_size
553810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_ANGLE_window_fixed_size 1
554810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_FIXED_SIZE_ANGLE              0x3201
555810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif /* EGL_ANGLE_window_fixed_size */
556810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens
55762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_ARM_implicit_external_sync
55862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_ARM_implicit_external_sync 1
55962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SYNC_PRIOR_COMMANDS_IMPLICIT_EXTERNAL_ARM 0x328A
56062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_ARM_implicit_external_sync */
56162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
562b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_ARM_pixmap_multisample_discard
563b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ARM_pixmap_multisample_discard 1
564b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DISCARD_SAMPLES_ARM           0x3286
565b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_ARM_pixmap_multisample_discard */
566b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
56762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_bind_to_front
56862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_bind_to_front 1
56962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_FRONT_BUFFER_EXT              0x3464
57062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_bind_to_front */
57162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
572b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_buffer_age
573b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_buffer_age 1
574b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BUFFER_AGE_EXT                0x313D
575b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_buffer_age */
576b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
577b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_client_extensions
578b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_client_extensions 1
579b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_client_extensions */
580b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
58162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_compositor
58262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_compositor 1
58362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_PRIMARY_COMPOSITOR_CONTEXT_EXT 0x3460
58462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXTERNAL_REF_ID_EXT           0x3461
58562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_COMPOSITOR_DROP_NEWEST_FRAME_EXT 0x3462
58662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_COMPOSITOR_KEEP_NEWEST_FRAME_EXT 0x3463
58762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTLISTEXTPROC) (const EGLint *external_ref_ids, EGLint num_entries);
58862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETCONTEXTATTRIBUTESEXTPROC) (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
58962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWLISTEXTPROC) (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
59062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETWINDOWATTRIBUTESEXTPROC) (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
59162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORBINDTEXWINDOWEXTPROC) (EGLint external_win_id);
59262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSETSIZEEXTPROC) (EGLint external_win_id, EGLint width, EGLint height);
59362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLCOMPOSITORSWAPPOLICYEXTPROC) (EGLint external_win_id, EGLint policy);
59462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifdef EGL_EGLEXT_PROTOTYPES
59562a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextListEXT (const EGLint *external_ref_ids, EGLint num_entries);
59662a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetContextAttributesEXT (EGLint external_ref_id, const EGLint *context_attributes, EGLint num_entries);
59762a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowListEXT (EGLint external_ref_id, const EGLint *external_win_ids, EGLint num_entries);
59862a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetWindowAttributesEXT (EGLint external_win_id, const EGLint *window_attributes, EGLint num_entries);
59962a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglCompositorBindTexWindowEXT (EGLint external_win_id);
60062a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglCompositorSetSizeEXT (EGLint external_win_id, EGLint width, EGLint height);
60162a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglCompositorSwapPolicyEXT (EGLint external_win_id, EGLint policy);
60262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif
60362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_compositor */
60462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
605b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_create_context_robustness
606b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_create_context_robustness 1
607b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
608b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
609b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NO_RESET_NOTIFICATION_EXT     0x31BE
610b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_LOSE_CONTEXT_ON_RESET_EXT     0x31BF
611b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_create_context_robustness */
612b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
613b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_device_base
614b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_device_base 1
615b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef void *EGLDeviceEXT;
61662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NO_DEVICE_EXT                 EGL_CAST(EGLDeviceEXT,0)
617b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BAD_DEVICE_EXT                0x322B
618b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DEVICE_EXT                    0x322C
619b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICEATTRIBEXTPROC) (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
620b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef const char *(EGLAPIENTRYP PFNEGLQUERYDEVICESTRINGEXTPROC) (EGLDeviceEXT device, EGLint name);
621b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDEVICESEXTPROC) (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
622b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBEXTPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
623b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
624b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT (EGLDeviceEXT device, EGLint attribute, EGLAttrib *value);
625b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI const char *EGLAPIENTRY eglQueryDeviceStringEXT (EGLDeviceEXT device, EGLint name);
626b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryDevicesEXT (EGLint max_devices, EGLDeviceEXT *devices, EGLint *num_devices);
627b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
628b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
629b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_device_base */
630b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
631b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_device_drm
632b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_device_drm 1
633b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_DEVICE_FILE_EXT           0x3233
634b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_device_drm */
635b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
636810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifndef EGL_EXT_device_enumeration
637810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_EXT_device_enumeration 1
638810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif /* EGL_EXT_device_enumeration */
639810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens
640b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_device_openwf
641b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_device_openwf 1
642b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_OPENWF_DEVICE_ID_EXT          0x3237
643b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_device_openwf */
644b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
645810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifndef EGL_EXT_device_query
646810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_EXT_device_query 1
647810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif /* EGL_EXT_device_query */
648810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens
64962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_gl_colorspace_bt2020_linear
65062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_gl_colorspace_bt2020_linear 1
65162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F
65262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_gl_colorspace_bt2020_linear */
65362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
65462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_gl_colorspace_bt2020_pq
65562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_gl_colorspace_bt2020_pq 1
65662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_GL_COLORSPACE_BT2020_PQ_EXT   0x3340
65762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_gl_colorspace_bt2020_pq */
65862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
65962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_gl_colorspace_display_p3
66062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_gl_colorspace_display_p3 1
66162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_GL_COLORSPACE_DISPLAY_P3_EXT  0x3363
66262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_gl_colorspace_display_p3 */
66362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
66462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_gl_colorspace_display_p3_linear
66562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_gl_colorspace_display_p3_linear 1
66662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_GL_COLORSPACE_DISPLAY_P3_LINEAR_EXT 0x3362
66762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_gl_colorspace_display_p3_linear */
66862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
66962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_gl_colorspace_scrgb
67062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_gl_colorspace_scrgb 1
67162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_GL_COLORSPACE_SCRGB_EXT       0x3351
67262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_gl_colorspace_scrgb */
67362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
67462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_gl_colorspace_scrgb_linear
67562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_gl_colorspace_scrgb_linear 1
67662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_GL_COLORSPACE_SCRGB_LINEAR_EXT 0x3350
67762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_gl_colorspace_scrgb_linear */
67862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
679b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_image_dma_buf_import
680b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_image_dma_buf_import 1
681b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_LINUX_DMA_BUF_EXT             0x3270
682b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_LINUX_DRM_FOURCC_EXT          0x3271
683b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DMA_BUF_PLANE0_FD_EXT         0x3272
684b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DMA_BUF_PLANE0_OFFSET_EXT     0x3273
685b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DMA_BUF_PLANE0_PITCH_EXT      0x3274
686b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DMA_BUF_PLANE1_FD_EXT         0x3275
687b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DMA_BUF_PLANE1_OFFSET_EXT     0x3276
688b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DMA_BUF_PLANE1_PITCH_EXT      0x3277
689b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DMA_BUF_PLANE2_FD_EXT         0x3278
690b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DMA_BUF_PLANE2_OFFSET_EXT     0x3279
691b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DMA_BUF_PLANE2_PITCH_EXT      0x327A
692b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_YUV_COLOR_SPACE_HINT_EXT      0x327B
693b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SAMPLE_RANGE_HINT_EXT         0x327C
694b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
695b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
696b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ITU_REC601_EXT                0x327F
697b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ITU_REC709_EXT                0x3280
698b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ITU_REC2020_EXT               0x3281
699b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_YUV_FULL_RANGE_EXT            0x3282
700b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_YUV_NARROW_RANGE_EXT          0x3283
701b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_YUV_CHROMA_SITING_0_EXT       0x3284
702b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_YUV_CHROMA_SITING_0_5_EXT     0x3285
703b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_image_dma_buf_import */
704b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
70562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_image_dma_buf_import_modifiers
70662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_image_dma_buf_import_modifiers 1
70762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE3_FD_EXT         0x3440
70862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE3_OFFSET_EXT     0x3441
70962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE3_PITCH_EXT      0x3442
71062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT 0x3443
71162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT 0x3444
71262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT 0x3445
71362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE1_MODIFIER_HI_EXT 0x3446
71462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT 0x3447
71562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE2_MODIFIER_HI_EXT 0x3448
71662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE3_MODIFIER_LO_EXT 0x3449
71762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_DMA_BUF_PLANE3_MODIFIER_HI_EXT 0x344A
71862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFFORMATSEXTPROC) (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
71962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDMABUFMODIFIERSEXTPROC) (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
72062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifdef EGL_EGLEXT_PROTOTYPES
72162a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufFormatsEXT (EGLDisplay dpy, EGLint max_formats, EGLint *formats, EGLint *num_formats);
72262a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglQueryDmaBufModifiersEXT (EGLDisplay dpy, EGLint format, EGLint max_modifiers, EGLuint64KHR *modifiers, EGLBoolean *external_only, EGLint *num_modifiers);
72362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif
72462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_image_dma_buf_import_modifiers */
72562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
72662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_image_implicit_sync_control
72762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_image_implicit_sync_control 1
72862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_IMPORT_SYNC_TYPE_EXT          0x3470
72962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_IMPORT_IMPLICIT_SYNC_EXT      0x3471
73062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_IMPORT_EXPLICIT_SYNC_EXT      0x3472
73162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_image_implicit_sync_control */
73262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
733b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_multiview_window
734b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_multiview_window 1
735b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_MULTIVIEW_VIEW_COUNT_EXT      0x3134
736b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_multiview_window */
737b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
738b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_output_base
739b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_output_base 1
740b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef void *EGLOutputLayerEXT;
741b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef void *EGLOutputPortEXT;
74262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NO_OUTPUT_LAYER_EXT           EGL_CAST(EGLOutputLayerEXT,0)
74362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NO_OUTPUT_PORT_EXT            EGL_CAST(EGLOutputPortEXT,0)
744b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BAD_OUTPUT_LAYER_EXT          0x322D
745b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_BAD_OUTPUT_PORT_EXT           0x322E
746b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SWAP_INTERVAL_EXT             0x322F
747b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTLAYERSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
748b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETOUTPUTPORTSEXTPROC) (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
749b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
750b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
751b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
752b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
753b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
754b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef const char *(EGLAPIENTRYP PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC) (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
755b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
756b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglGetOutputLayersEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputLayerEXT *layers, EGLint max_layers, EGLint *num_layers);
757b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglGetOutputPortsEXT (EGLDisplay dpy, const EGLAttrib *attrib_list, EGLOutputPortEXT *ports, EGLint max_ports, EGLint *num_ports);
758b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib value);
759b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputLayerAttribEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint attribute, EGLAttrib *value);
760b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI const char *EGLAPIENTRY eglQueryOutputLayerStringEXT (EGLDisplay dpy, EGLOutputLayerEXT layer, EGLint name);
761b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib value);
762b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryOutputPortAttribEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint attribute, EGLAttrib *value);
763b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI const char *EGLAPIENTRY eglQueryOutputPortStringEXT (EGLDisplay dpy, EGLOutputPortEXT port, EGLint name);
764b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
765b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_output_base */
766b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
767b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_output_drm
768b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_output_drm 1
769b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_CRTC_EXT                  0x3234
770b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_PLANE_EXT                 0x3235
771b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_CONNECTOR_EXT             0x3236
772b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_output_drm */
773b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
774b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_output_openwf
775b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_output_openwf 1
776b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_OPENWF_PIPELINE_ID_EXT        0x3238
777b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_OPENWF_PORT_ID_EXT            0x3239
778b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_output_openwf */
779b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
78062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_pixel_format_float
78162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_pixel_format_float 1
78262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_COLOR_COMPONENT_TYPE_EXT      0x3339
78362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_COLOR_COMPONENT_TYPE_FIXED_EXT 0x333A
78462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_COLOR_COMPONENT_TYPE_FLOAT_EXT 0x333B
78562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_pixel_format_float */
78662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
787b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_platform_base
788b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_platform_base 1
789b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
790b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
791b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
792b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
793b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list);
794b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
795b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
796b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
797b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_platform_base */
798b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
799b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_platform_device
800b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_platform_device 1
801b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PLATFORM_DEVICE_EXT           0x313F
802b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_platform_device */
803b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
804b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_platform_wayland
805b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_platform_wayland 1
806b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PLATFORM_WAYLAND_EXT          0x31D8
807b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_platform_wayland */
808b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
809b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_platform_x11
810b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_platform_x11 1
811b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PLATFORM_X11_EXT              0x31D5
812b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PLATFORM_X11_SCREEN_EXT       0x31D6
813b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_platform_x11 */
814b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
81562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_protected_content
81662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_protected_content 1
81762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_PROTECTED_CONTENT_EXT         0x32C0
81862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_protected_content */
81962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
820b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_protected_surface
821b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_protected_surface 1
822b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_protected_surface */
823b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
824b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_stream_consumer_egloutput
825b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_stream_consumer_egloutput 1
826b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMEROUTPUTEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
827b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
828b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStreamKHR stream, EGLOutputLayerEXT layer);
82919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif
830b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_stream_consumer_egloutput */
831b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
83262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_surface_CTA861_3_metadata
83362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_surface_CTA861_3_metadata 1
83462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_CTA861_3_MAX_CONTENT_LIGHT_LEVEL_EXT 0x3360
83562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_CTA861_3_MAX_FRAME_AVERAGE_LEVEL_EXT 0x3361
83662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_surface_CTA861_3_metadata */
83762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
83862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_EXT_surface_SMPTE2086_metadata
83962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_EXT_surface_SMPTE2086_metadata 1
84062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SMPTE2086_DISPLAY_PRIMARY_RX_EXT 0x3341
84162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SMPTE2086_DISPLAY_PRIMARY_RY_EXT 0x3342
84262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SMPTE2086_DISPLAY_PRIMARY_GX_EXT 0x3343
84362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SMPTE2086_DISPLAY_PRIMARY_GY_EXT 0x3344
84462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SMPTE2086_DISPLAY_PRIMARY_BX_EXT 0x3345
84562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SMPTE2086_DISPLAY_PRIMARY_BY_EXT 0x3346
84662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SMPTE2086_WHITE_POINT_X_EXT   0x3347
84762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SMPTE2086_WHITE_POINT_Y_EXT   0x3348
84862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SMPTE2086_MAX_LUMINANCE_EXT   0x3349
84962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SMPTE2086_MIN_LUMINANCE_EXT   0x334A
85062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_METADATA_SCALING_EXT          50000
85162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_EXT_surface_SMPTE2086_metadata */
85262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
853b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_EXT_swap_buffers_with_damage
854b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_EXT_swap_buffers_with_damage 1
855b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
856b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
857b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
85819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif
859b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_EXT_swap_buffers_with_damage */
86019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
861810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifndef EGL_EXT_yuv_surface
862810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_EXT_yuv_surface 1
863810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_ORDER_EXT                 0x3301
864810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_NUMBER_OF_PLANES_EXT      0x3311
865810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_SUBSAMPLE_EXT             0x3312
866810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_DEPTH_RANGE_EXT           0x3317
867810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_CSC_STANDARD_EXT          0x330A
868810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_PLANE_BPP_EXT             0x331A
869810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_BUFFER_EXT                0x3300
870810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_ORDER_YUV_EXT             0x3302
871810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_ORDER_YVU_EXT             0x3303
872810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_ORDER_YUYV_EXT            0x3304
873810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_ORDER_UYVY_EXT            0x3305
874810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_ORDER_YVYU_EXT            0x3306
875810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_ORDER_VYUY_EXT            0x3307
876810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_ORDER_AYUV_EXT            0x3308
877810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_SUBSAMPLE_4_2_0_EXT       0x3313
878810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_SUBSAMPLE_4_2_2_EXT       0x3314
879810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_SUBSAMPLE_4_4_4_EXT       0x3315
880810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_DEPTH_RANGE_LIMITED_EXT   0x3318
881810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_DEPTH_RANGE_FULL_EXT      0x3319
882810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_CSC_STANDARD_601_EXT      0x330B
883810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_CSC_STANDARD_709_EXT      0x330C
884810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_CSC_STANDARD_2020_EXT     0x330D
885810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_PLANE_BPP_0_EXT           0x331B
886810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_PLANE_BPP_8_EXT           0x331C
887810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_YUV_PLANE_BPP_10_EXT          0x331D
888810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif /* EGL_EXT_yuv_surface */
889810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens
89019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#ifndef EGL_HI_clientpixmap
89119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#define EGL_HI_clientpixmap 1
892b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capensstruct EGLClientPixmapHI {
893b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens    void  *pData;
894b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens    EGLint iWidth;
895b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens    EGLint iHeight;
896b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens    EGLint iStride;
89719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman};
898b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CLIENT_PIXMAP_POINTER_HI      0x8F74
899b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
90019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#ifdef EGL_EGLEXT_PROTOTYPES
901b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
902b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif
903b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_HI_clientpixmap */
90419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
90519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#ifndef EGL_HI_colorformats
90619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#define EGL_HI_colorformats 1
907b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_COLOR_FORMAT_HI               0x8F70
908b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_COLOR_RGB_HI                  0x8F71
909b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_COLOR_RGBA_HI                 0x8F72
910b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_COLOR_ARGB_HI                 0x8F73
91119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif /* EGL_HI_colorformats */
91219bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
913b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_IMG_context_priority
914b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_IMG_context_priority 1
915b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_PRIORITY_LEVEL_IMG    0x3100
916b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_PRIORITY_HIGH_IMG     0x3101
917b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG   0x3102
918b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONTEXT_PRIORITY_LOW_IMG      0x3103
919b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_IMG_context_priority */
920b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
92162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_IMG_image_plane_attribs
92262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_IMG_image_plane_attribs 1
92362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NATIVE_BUFFER_MULTIPLANE_SEPARATE_IMG 0x3105
92462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NATIVE_BUFFER_PLANE_OFFSET_IMG 0x3106
92562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_IMG_image_plane_attribs */
92662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
92719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#ifndef EGL_MESA_drm_image
92819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#define EGL_MESA_drm_image 1
929b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_BUFFER_FORMAT_MESA        0x31D0
930b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_BUFFER_USE_MESA           0x31D1
931b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
932b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_BUFFER_MESA               0x31D3
933b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_BUFFER_STRIDE_MESA        0x31D4
934b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_BUFFER_USE_SCANOUT_MESA   0x00000001
935b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DRM_BUFFER_USE_SHARE_MESA     0x00000002
936b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
937b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
93819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#ifdef EGL_EGLEXT_PROTOTYPES
93919bac1e08be200c31efd26f0f5fd144c9b3eefd3John BaumanEGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
94019bac1e08be200c31efd26f0f5fd144c9b3eefd3John BaumanEGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
94119bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif
942b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_MESA_drm_image */
94319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
944810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifndef EGL_MESA_image_dma_buf_export
945810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#define EGL_MESA_image_dma_buf_export 1
946810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
947810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDMABUFIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
948810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
949810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageQueryMESA (EGLDisplay dpy, EGLImageKHR image, int *fourcc, int *num_planes, EGLuint64KHR *modifiers);
950810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglExportDMABUFImageMESA (EGLDisplay dpy, EGLImageKHR image, int *fds, EGLint *strides, EGLint *offsets);
951810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif
952810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens#endif /* EGL_MESA_image_dma_buf_export */
953810f99be7600e677c8723fe4f3267a6232b4e8a1Nicolas Capens
954b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_MESA_platform_gbm
955b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_MESA_platform_gbm 1
956b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_PLATFORM_GBM_MESA             0x31D7
957b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_MESA_platform_gbm */
958b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
95962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_MESA_platform_surfaceless
96062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_MESA_platform_surfaceless 1
96162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_PLATFORM_SURFACELESS_MESA     0x31DD
96262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_MESA_platform_surfaceless */
96362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
964b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NOK_swap_region
965b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NOK_swap_region 1
966b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGIONNOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
96719bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#ifdef EGL_EGLEXT_PROTOTYPES
968b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegionNOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
96919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif
970b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NOK_swap_region */
971894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
972b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NOK_swap_region2
973b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NOK_swap_region2 1
974b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSREGION2NOKPROC) (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
975894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef EGL_EGLEXT_PROTOTYPES
976b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersRegion2NOK (EGLDisplay dpy, EGLSurface surface, EGLint numRects, const EGLint *rects);
977894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif
978b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NOK_swap_region2 */
979b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
980b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NOK_texture_from_pixmap
981b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NOK_texture_from_pixmap 1
982b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_Y_INVERTED_NOK                0x307F
983b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NOK_texture_from_pixmap */
984b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
985b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_3dvision_surface
986b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_3dvision_surface 1
987b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_AUTO_STEREO_NV                0x3136
988b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_3dvision_surface */
989b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
990b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_coverage_sample
991b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_coverage_sample 1
992b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_COVERAGE_BUFFERS_NV           0x30E0
993b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_COVERAGE_SAMPLES_NV           0x30E1
994b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_coverage_sample */
995b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
996b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_coverage_sample_resolve
997b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_coverage_sample_resolve 1
998b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_COVERAGE_SAMPLE_RESOLVE_NV    0x3131
999b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
1000b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133
1001b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_coverage_sample_resolve */
1002b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
1003b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_cuda_event
1004b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_cuda_event 1
1005b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CUDA_EVENT_HANDLE_NV          0x323B
1006b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_CUDA_EVENT_NV            0x323C
1007b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_CUDA_EVENT_COMPLETE_NV   0x323D
1008b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_cuda_event */
1009b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
1010b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_depth_nonlinear
1011b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_depth_nonlinear 1
1012b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DEPTH_ENCODING_NV             0x30E2
1013b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DEPTH_ENCODING_NONE_NV        0
1014b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_DEPTH_ENCODING_NONLINEAR_NV   0x30E3
1015b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_depth_nonlinear */
1016b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
1017b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_device_cuda
1018b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_device_cuda 1
1019b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CUDA_DEVICE_NV                0x323A
1020b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_device_cuda */
1021b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
1022b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_native_query
1023b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_native_query 1
1024b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1025b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1026b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1027b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
1028b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id);
1029b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
1030b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
1031894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif
1032b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_native_query */
1033b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
1034b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_post_convert_rounding
1035b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_post_convert_rounding 1
1036b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_post_convert_rounding */
1037894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
1038b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_post_sub_buffer
1039b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_post_sub_buffer 1
1040b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_POST_SUB_BUFFER_SUPPORTED_NV  0x30BE
1041b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
1042b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
1043b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
104419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif
1045b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_post_sub_buffer */
104619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
104762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_robustness_video_memory_purge
104862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_robustness_video_memory_purge 1
104962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_GENERATE_RESET_ON_VIDEO_MEMORY_PURGE_NV 0x334C
105062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_robustness_video_memory_purge */
105162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
105262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_consumer_gltexture_yuv
105362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_consumer_gltexture_yuv 1
105462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_YUV_PLANE0_TEXTURE_UNIT_NV    0x332C
105562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_YUV_PLANE1_TEXTURE_UNIT_NV    0x332D
105662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_YUV_PLANE2_TEXTURE_UNIT_NV    0x332E
105762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLAttrib *attrib_list);
105862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifdef EGL_EGLEXT_PROTOTYPES
105962a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalAttribsNV (EGLDisplay dpy, EGLStreamKHR stream, EGLAttrib *attrib_list);
106062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif
106162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_consumer_gltexture_yuv */
106262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
106362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_cross_display
106462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_cross_display 1
106562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_CROSS_DISPLAY_NV       0x334E
106662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_cross_display */
106762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
106862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_cross_object
106962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_cross_object 1
107062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_CROSS_OBJECT_NV        0x334D
107162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_cross_object */
107262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
107362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_cross_partition
107462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_cross_partition 1
107562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_CROSS_PARTITION_NV     0x323F
107662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_cross_partition */
107762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
107862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_cross_process
107962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_cross_process 1
108062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_CROSS_PROCESS_NV       0x3245
108162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_cross_process */
108262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
108362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_cross_system
108462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_cross_system 1
108562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_CROSS_SYSTEM_NV        0x334F
108662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_cross_system */
108762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
108862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_fifo_next
108962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_fifo_next 1
109062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_PENDING_FRAME_NV              0x3329
109162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_TIME_PENDING_NV        0x332A
109262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_fifo_next */
109362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
109462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_fifo_synchronous
109562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_fifo_synchronous 1
109662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_FIFO_SYNCHRONOUS_NV    0x3336
109762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_fifo_synchronous */
109862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
109962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_frame_limits
110062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_frame_limits 1
110162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_PRODUCER_MAX_FRAME_HINT_NV    0x3337
110262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_CONSUMER_MAX_FRAME_HINT_NV    0x3338
110362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_frame_limits */
110462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
110562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_metadata
110662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_metadata 1
110762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_MAX_STREAM_METADATA_BLOCKS_NV 0x3250
110862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_MAX_STREAM_METADATA_BLOCK_SIZE_NV 0x3251
110962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_MAX_STREAM_METADATA_TOTAL_SIZE_NV 0x3252
111062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_PRODUCER_METADATA_NV          0x3253
111162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_CONSUMER_METADATA_NV          0x3254
111262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_PENDING_METADATA_NV           0x3328
111362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_METADATA0_SIZE_NV             0x3255
111462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_METADATA1_SIZE_NV             0x3256
111562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_METADATA2_SIZE_NV             0x3257
111662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_METADATA3_SIZE_NV             0x3258
111762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_METADATA0_TYPE_NV             0x3259
111862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_METADATA1_TYPE_NV             0x325A
111962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_METADATA2_TYPE_NV             0x325B
112062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_METADATA3_TYPE_NV             0x325C
112162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBNVPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
112262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLSETSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
112362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMMETADATANVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
112462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifdef EGL_EGLEXT_PROTOTYPES
112562a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribNV (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
112662a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglSetStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint n, EGLint offset, EGLint size, const void *data);
112762a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamMetadataNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum name, EGLint n, EGLint offset, EGLint size, void *data);
112862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif
112962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_metadata */
113062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
113162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_remote
113262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_remote 1
113362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_STATE_INITIALIZING_NV  0x3240
113462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_TYPE_NV                0x3241
113562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_PROTOCOL_NV            0x3242
113662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_ENDPOINT_NV            0x3243
113762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_LOCAL_NV               0x3244
113862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_PRODUCER_NV            0x3247
113962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_CONSUMER_NV            0x3248
114062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_PROTOCOL_FD_NV         0x3246
114162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_remote */
114262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
114362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_reset
114462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_reset 1
114562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SUPPORT_RESET_NV              0x3334
114662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SUPPORT_REUSE_NV              0x3335
114762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetutypedef EGLBoolean (EGLAPIENTRYP PFNEGLRESETSTREAMNVPROC) (EGLDisplay dpy, EGLStreamKHR stream);
114862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifdef EGL_EGLEXT_PROTOTYPES
114962a3d37734adaa522571deb7f82ab2a04477d30eAlexis HetuEGLAPI EGLBoolean EGLAPIENTRY eglResetStreamNV (EGLDisplay dpy, EGLStreamKHR stream);
115062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif
115162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_reset */
115262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
115362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_socket
115462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_socket 1
115562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_STREAM_PROTOCOL_SOCKET_NV     0x324B
115662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SOCKET_HANDLE_NV              0x324C
115762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SOCKET_TYPE_NV                0x324D
115862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_socket */
115962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
116062a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_socket_inet
116162a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_socket_inet 1
116262a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SOCKET_TYPE_INET_NV           0x324F
116362a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_socket_inet */
116462a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
116562a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#ifndef EGL_NV_stream_socket_unix
116662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NV_stream_socket_unix 1
116762a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_SOCKET_TYPE_UNIX_NV           0x324E
116862a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#endif /* EGL_NV_stream_socket_unix */
116962a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu
1170b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_stream_sync
1171b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_stream_sync 1
1172b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_NEW_FRAME_NV             0x321F
1173b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
1174b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
1175b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
117619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif
1177b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_stream_sync */
117819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
1179b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_NV_sync
1180b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NV_sync 1
1181b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef void *EGLSyncNV;
1182b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef khronos_utime_nanoseconds_t EGLTimeNV;
1183b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef KHRONOS_SUPPORT_INT64
1184b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6
1185b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_STATUS_NV                0x30E7
1186b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SIGNALED_NV                   0x30E8
1187b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_UNSIGNALED_NV                 0x30E9
1188b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV    0x0001
1189b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_FOREVER_NV                    0xFFFFFFFFFFFFFFFFull
1190b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_ALREADY_SIGNALED_NV           0x30EA
1191b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_TIMEOUT_EXPIRED_NV            0x30EB
1192b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_CONDITION_SATISFIED_NV        0x30EC
1193b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_TYPE_NV                  0x30ED
1194b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_CONDITION_NV             0x30EE
1195b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_SYNC_FENCE_NV                 0x30EF
119662a3d37734adaa522571deb7f82ab2a04477d30eAlexis Hetu#define EGL_NO_SYNC_NV                    EGL_CAST(EGLSyncNV,0)
1197b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1198b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
1199b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
1200b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
1201b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
1202b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capenstypedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
1203b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
1204b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
1205b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
1206b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
1207b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
1208b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
1209b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
121019bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif
1211b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* KHRONOS_SUPPORT_INT64 */
1212b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_sync */
121319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
121419bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#ifndef EGL_NV_system_time
121519bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#define EGL_NV_system_time 1
121619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Baumantypedef khronos_utime_nanoseconds_t EGLuint64NV;
1217b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef KHRONOS_SUPPORT_INT64
121819bac1e08be200c31efd26f0f5fd144c9b3eefd3John Baumantypedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
121919bac1e08be200c31efd26f0f5fd144c9b3eefd3John Baumantypedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
1220b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifdef EGL_EGLEXT_PROTOTYPES
1221b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void);
1222b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas CapensEGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
122319bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman#endif
1224b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* KHRONOS_SUPPORT_INT64 */
1225b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_NV_system_time */
122619bac1e08be200c31efd26f0f5fd144c9b3eefd3John Bauman
1227b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_TIZEN_image_native_buffer
1228b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_TIZEN_image_native_buffer 1
1229b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NATIVE_BUFFER_TIZEN           0x32A0
1230b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_TIZEN_image_native_buffer */
1231b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens
1232b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#ifndef EGL_TIZEN_image_native_surface
1233b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_TIZEN_image_native_surface 1
1234b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#define EGL_NATIVE_SURFACE_TIZEN          0x32A1
1235b0e93551e2f7b80ce37e46ebc5e3bd197687e369Nicolas Capens#endif /* EGL_TIZEN_image_native_surface */
1236894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
1237894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#ifdef __cplusplus
1238894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman}
1239894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif
1240894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman
1241894018228b0e0bdbd7aa7e8f47d4a9458789ca82John Bauman#endif
1242