]> git.cworth.org Git - glaze/blob - specs/egl.xml
Add egl definitions and related buildsupport.
[glaze] / specs / egl.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <registry>
3     <!--
4     Copyright (c) 2013-2014 The Khronos Group Inc.
5
6     Permission is hereby granted, free of charge, to any person obtaining a
7     copy of this software and/or associated documentation files (the
8     "Materials"), to deal in the Materials without restriction, including
9     without limitation the rights to use, copy, modify, merge, publish,
10     distribute, sublicense, and/or sell copies of the Materials, and to
11     permit persons to whom the Materials are furnished to do so, subject to
12     the following conditions:
13
14     The above copyright notice and this permission notice shall be included
15     in all copies or substantial portions of the Materials.
16
17     THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19     MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20     IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21     CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22     TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23     MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
24     -->
25     <!--
26     This file, egl.xml, is the EGL API Registry. The older ".spec" file
27     format has been retired and will no longer be updated with new
28     extensions and API versions. The canonical version of the registry,
29     together with documentation, schema, and Python generator scripts used
30     to generate C header files for EGL, can be found in the Khronos Registry
31     at
32         http://www.opengl.org/registry/
33     -->
34
35     <!-- SECTION: EGL type definitions. Does not include GL types. -->
36     <types>
37             <!-- These are dependencies EGL types require to be declared legally -->
38         <type name="khrplatform">#include &lt;KHR/khrplatform.h&gt;</type>
39         <type name="eglplatform" requires="khrplatform">#include &lt;EGL/eglplatform.h&gt;</type>
40         <type name="khronos_utime_nanoseconds_t" requires="khrplatform"/>
41         <type name="khronos_uint64_t" requires="khrplatform"/>
42         <type name="khronos_ssize_t" requires="khrplatform"/>
43         <type name="EGLNativeDisplayType" requires="eglplatform"/>
44         <type name="EGLNativePixmapType" requires="eglplatform"/>
45         <type name="EGLNativeWindowType" requires="eglplatform"/>
46         <type name="EGLint" requires="eglplatform"/>
47         <type name="NativeDisplayType" requires="eglplatform"/>
48         <type name="NativePixmapType" requires="eglplatform"/>
49         <type name="NativeWindowType" requires="eglplatform"/>
50         <!-- Dummy placeholders for non-EGL types -->
51         <type name="Bool"/>
52             <!-- These are actual EGL types.  -->
53         <type>typedef unsigned int <name>EGLBoolean</name>;</type>
54         <type>typedef unsigned int <name>EGLenum</name>;</type>
55         <type requires="khrplatform">typedef intptr_t <name>EGLAttribKHR</name>;</type>
56         <type requires="khrplatform">typedef intptr_t <name>EGLAttrib</name>;</type>
57         <type>typedef void *<name>EGLClientBuffer</name>;</type>
58         <type>typedef void *<name>EGLConfig</name>;</type>
59         <type>typedef void *<name>EGLContext</name>;</type>
60         <type>typedef void *<name>EGLDeviceEXT</name>;</type>
61         <type>typedef void *<name>EGLDisplay</name>;</type>
62         <type>typedef void *<name>EGLImage</name>;</type>
63         <type>typedef void *<name>EGLImageKHR</name>;</type>
64         <type>typedef void *<name>EGLOutputLayerEXT</name>;</type>
65         <type>typedef void *<name>EGLOutputPortEXT</name>;</type>
66         <type>typedef void *<name>EGLStreamKHR</name>;</type>
67         <type>typedef void *<name>EGLSurface</name>;</type>
68         <type>typedef void *<name>EGLSync</name>;</type>
69         <type>typedef void *<name>EGLSyncKHR</name>;</type>
70         <type>typedef void *<name>EGLSyncNV</name>;</type>
71         <type>typedef void (*<name>__eglMustCastToProperFunctionPointerType</name>)(void);</type>
72         <type requires="khrplatform">typedef khronos_utime_nanoseconds_t <name>EGLTimeKHR</name>;</type>
73         <type requires="khrplatform">typedef khronos_utime_nanoseconds_t <name>EGLTime</name>;</type>
74         <type requires="khrplatform">typedef khronos_utime_nanoseconds_t <name>EGLTimeNV</name>;</type>
75         <type requires="khrplatform">typedef khronos_utime_nanoseconds_t <name>EGLuint64NV</name>;</type>
76         <type requires="khrplatform">typedef khronos_uint64_t <name>EGLuint64KHR</name>;</type>
77         <type>typedef int <name>EGLNativeFileDescriptorKHR</name>;</type>
78         <type requires="khrplatform">typedef khronos_ssize_t <name>EGLsizeiANDROID</name>;</type>
79         <type requires="EGLsizeiANDROID">typedef void (*<name>EGLSetBlobFuncANDROID</name>) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);</type>
80         <type requires="EGLsizeiANDROID">typedef EGLsizeiANDROID (*<name>EGLGetBlobFuncANDROID</name>) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);</type>
81         <type>struct <name>EGLClientPixmapHI</name> {
82     void  *pData;
83     EGLint iWidth;
84     EGLint iHeight;
85     EGLint iStride;
86 };</type>
87     </types>
88
89     <!-- SECTION: EGL enumerant (token) definitions. -->
90
91     <!-- Bitmasks each have their own namespace, as do a few other
92          categories of enumeration -->
93
94     <enums namespace="EGLSurfaceTypeMask" type="bitmask" comment="EGL_SURFACE_TYPE bits">
95         <enum value="0x0001" name="EGL_PBUFFER_BIT"/>
96         <enum value="0x0002" name="EGL_PIXMAP_BIT"/>
97         <enum value="0x0004" name="EGL_WINDOW_BIT"/>
98         <enum value="0x0008" name="EGL_PBUFFER_IMAGE_BIT_TAO" comment="Unreleased TAO extension"/>
99         <enum value="0x0010" name="EGL_PBUFFER_PALETTE_IMAGE_BIT_TAO" comment="Unreleased TAO extension"/>
100         <enum value="0x0020" name="EGL_VG_COLORSPACE_LINEAR_BIT"/>
101         <enum value="0x0020" name="EGL_VG_COLORSPACE_LINEAR_BIT_KHR"/>
102         <enum value="0x0040" name="EGL_VG_ALPHA_FORMAT_PRE_BIT"/>
103         <enum value="0x0040" name="EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR"/>
104         <enum value="0x0080" name="EGL_LOCK_SURFACE_BIT_KHR"/>
105         <enum value="0x0100" name="EGL_OPTIMAL_FORMAT_BIT_KHR"/>
106         <enum value="0x0200" name="EGL_MULTISAMPLE_RESOLVE_BOX_BIT"/>
107         <enum value="0x0400" name="EGL_SWAP_BEHAVIOR_PRESERVED_BIT"/>
108         <enum value="0x0800" name="EGL_STREAM_BIT_KHR"/>
109             <!--
110         <enum value="0x0800"      name="EGL_STREAM_BIT_NV" comment="Draft EGL_NV_stream_producer_eglsurface extension (bug 8064)"/>
111             -->
112     </enums>
113
114     <enums namespace="EGLRenderableTypeMask" type="bitmask" comment="EGL_RENDERABLE_TYPE bits">
115         <enum value="0x0001" name="EGL_OPENGL_ES_BIT"/>
116         <enum value="0x0002" name="EGL_OPENVG_BIT"/>
117         <enum value="0x0004" name="EGL_OPENGL_ES2_BIT"/>
118         <enum value="0x0008" name="EGL_OPENGL_BIT"/>
119         <enum value="0x0010" name="EGL_INTEROP_BIT_KHR" comment="EGL_KHR_interop"/>
120         <enum value="0x0020" name="EGL_OPENMAX_IL_BIT_KHR" comment="EGL_KHR_interop"/>
121         <enum value="0x00000040" name="EGL_OPENGL_ES3_BIT"/>
122         <enum value="0x00000040" name="EGL_OPENGL_ES3_BIT_KHR" alias="EGL_OPENGL_ES3_BIT"/>
123     </enums>
124
125     <enums namespace="EGLLockUsageHintKHRMask" type="bitmask" comment="EGL_LOCK_USAGE_HINT_KHR bits">
126         <enum value="0x0001" name="EGL_READ_SURFACE_BIT_KHR"/>
127         <enum value="0x0002" name="EGL_WRITE_SURFACE_BIT_KHR"/>
128     </enums>
129
130     <enums namespace="EGLSyncFlagsKHR" type="bitmask" comment="Fence/reusable sync wait bits">
131         <enum value="0x0001" name="EGL_SYNC_FLUSH_COMMANDS_BIT"/>
132         <enum value="0x0001" name="EGL_SYNC_FLUSH_COMMANDS_BIT_KHR" alias="EGL_SYNC_FLUSH_COMMANDS_BIT"/>
133         <enum value="0x0001" name="EGL_SYNC_FLUSH_COMMANDS_BIT_NV" alias="EGL_SYNC_FLUSH_COMMANDS_BIT"/>
134     </enums>
135
136     <enums namespace="EGLDRMBufferUseMESAMask" type="bitmask" comment="EGL_DRM_BUFFER_USE_MESA bits">
137         <enum value="0x00000001" name="EGL_DRM_BUFFER_USE_SCANOUT_MESA"/>
138         <enum value="0x00000002" name="EGL_DRM_BUFFER_USE_SHARE_MESA"/>
139     </enums>
140
141     <!-- Should be shared with GL, but aren't aren't since the
142          FORWARD_COMPATIBLE and DEBUG_BIT values are swapped in the
143          corresponding GL enums. Oops :-( -->
144     <enums namespace="EGLContextFlagMask" type="bitmask" comment="EGL_CONTEXT_FLAGS_KHR bits">
145         <enum value="0x00000001" name="EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR"/>
146         <enum value="0x00000002" name="EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR"/>
147         <enum value="0x00000004" name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR"/>
148     </enums>
149
150     <enums namespace="EGLContextProfileMask" type="bitmask" comment="Shared with GL">
151         <enum value="0x00000001" name="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT"/>
152         <enum value="0x00000001" name="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR" alias="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT"/>
153         <enum value="0x00000002" name="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT"/>
154         <enum value="0x00000002" name="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR" alias="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT"/>
155     </enums>
156
157     <!-- The default ("API") enum namespace starts here. While some
158          assigned values may overlap, and different parts of the
159          namespace are reserved for different purposes, it is a single
160          namespace. The "class" attribute indicates some of the reserved
161          purposes but is by no means complete (and cannot be, since many
162          tokens are reused for different purposes in different
163          extensions and API versions). -->
164
165     <enums namespace="EGL" start="0x0000" end="0x2FFF" vendor="ARB"/>
166
167     <enums namespace="EGL" group="Boolean" vendor="ARB">
168         <enum value="0" name="EGL_FALSE"/>
169         <enum value="1" name="EGL_TRUE"/>
170     </enums>
171
172     <enums namespace="EGL" group="SpecialNumbers" vendor="ARB" comment="Tokens whose numeric value is intrinsically meaningful">
173         <enum value="((EGLint)-1)" name="EGL_DONT_CARE"/>
174         <enum value="((EGLint)-1)" name="EGL_UNKNOWN"/>
175         <enum value="-1" name="EGL_NO_NATIVE_FENCE_FD_ANDROID"/>
176         <enum value="0" name="EGL_DEPTH_ENCODING_NONE_NV"/>
177         <enum value="((EGLContext)0)" name="EGL_NO_CONTEXT"/>
178         <enum value="((EGLDeviceEXT)(0))" name="EGL_NO_DEVICE_EXT"/>
179         <enum value="((EGLDisplay)0)" name="EGL_NO_DISPLAY"/>
180         <enum value="((EGLImage)0)" name="EGL_NO_IMAGE"/>
181         <enum value="((EGLImageKHR)0)" name="EGL_NO_IMAGE_KHR"/>
182         <enum value="((EGLNativeDisplayType)0)" name="EGL_DEFAULT_DISPLAY"/>
183         <enum value="((EGLNativeFileDescriptorKHR)(-1))" name="EGL_NO_FILE_DESCRIPTOR_KHR"/>
184         <enum value="((EGLOutputLayerEXT)0)" name="EGL_NO_OUTPUT_LAYER_EXT"/>                 
185         <enum value="((EGLOutputPortEXT)0)" name="EGL_NO_OUTPUT_PORT_EXT"/>                  
186         <enum value="((EGLStreamKHR)0)" name="EGL_NO_STREAM_KHR"/>
187         <enum value="((EGLSurface)0)" name="EGL_NO_SURFACE"/>
188         <enum value="((EGLSync)0)" name="EGL_NO_SYNC"/>
189         <enum value="((EGLSyncKHR)0)" name="EGL_NO_SYNC_KHR" alias="EGL_NO_SYNC"/>
190         <enum value="((EGLSyncNV)0)" name="EGL_NO_SYNC_NV" alias="EGL_NO_SYNC"/>
191         <enum value="10000" name="EGL_DISPLAY_SCALING"/>
192         <enum value="0xFFFFFFFFFFFFFFFF" name="EGL_FOREVER" type="ull"/>
193         <enum value="0xFFFFFFFFFFFFFFFF" name="EGL_FOREVER_KHR" type="ull" alias="EGL_FOREVER"/>
194         <enum value="0xFFFFFFFFFFFFFFFF" name="EGL_FOREVER_NV" type="ull" alias="EGL_FOREVER"/>
195     </enums>
196
197     <enums namespace="EGL" start="0x3000" end="0x305F" vendor="KHR">
198         <enum value="0x3000" name="EGL_SUCCESS"/>
199         <enum value="0x3001" name="EGL_NOT_INITIALIZED"/>
200         <enum value="0x3002" name="EGL_BAD_ACCESS"/>
201         <enum value="0x3003" name="EGL_BAD_ALLOC"/>
202         <enum value="0x3004" name="EGL_BAD_ATTRIBUTE"/>
203         <enum value="0x3005" name="EGL_BAD_CONFIG"/>
204         <enum value="0x3006" name="EGL_BAD_CONTEXT"/>
205         <enum value="0x3007" name="EGL_BAD_CURRENT_SURFACE"/>
206         <enum value="0x3008" name="EGL_BAD_DISPLAY"/>
207         <enum value="0x3009" name="EGL_BAD_MATCH"/>
208         <enum value="0x300A" name="EGL_BAD_NATIVE_PIXMAP"/>
209         <enum value="0x300B" name="EGL_BAD_NATIVE_WINDOW"/>
210         <enum value="0x300C" name="EGL_BAD_PARAMETER"/>
211         <enum value="0x300D" name="EGL_BAD_SURFACE"/>
212         <enum value="0x300E" name="EGL_CONTEXT_LOST"/>
213             <unused start="0x300F" end="0x301F" comment="for additional errors"/>
214         <enum value="0x3020" name="EGL_BUFFER_SIZE"/>
215         <enum value="0x3021" name="EGL_ALPHA_SIZE"/>
216         <enum value="0x3022" name="EGL_BLUE_SIZE"/>
217         <enum value="0x3023" name="EGL_GREEN_SIZE"/>
218         <enum value="0x3024" name="EGL_RED_SIZE"/>
219         <enum value="0x3025" name="EGL_DEPTH_SIZE"/>
220         <enum value="0x3026" name="EGL_STENCIL_SIZE"/>
221         <enum value="0x3027" name="EGL_CONFIG_CAVEAT"/>
222         <enum value="0x3028" name="EGL_CONFIG_ID"/>
223         <enum value="0x3029" name="EGL_LEVEL"/>
224         <enum value="0x302A" name="EGL_MAX_PBUFFER_HEIGHT"/>
225         <enum value="0x302B" name="EGL_MAX_PBUFFER_PIXELS"/>
226         <enum value="0x302C" name="EGL_MAX_PBUFFER_WIDTH"/>
227         <enum value="0x302D" name="EGL_NATIVE_RENDERABLE"/>
228         <enum value="0x302E" name="EGL_NATIVE_VISUAL_ID"/>
229         <enum value="0x302F" name="EGL_NATIVE_VISUAL_TYPE"/>
230         <enum value="0x3031" name="EGL_SAMPLES"/>
231         <enum value="0x3032" name="EGL_SAMPLE_BUFFERS"/>
232         <enum value="0x3033" name="EGL_SURFACE_TYPE"/>
233         <enum value="0x3034" name="EGL_TRANSPARENT_TYPE"/>
234         <enum value="0x3035" name="EGL_TRANSPARENT_BLUE_VALUE"/>
235         <enum value="0x3036" name="EGL_TRANSPARENT_GREEN_VALUE"/>
236         <enum value="0x3037" name="EGL_TRANSPARENT_RED_VALUE"/>
237         <enum value="0x3038" name="EGL_NONE" comment="Attribute list terminator"/>
238         <enum value="0x3039" name="EGL_BIND_TO_TEXTURE_RGB"/>
239         <enum value="0x303A" name="EGL_BIND_TO_TEXTURE_RGBA"/>
240         <enum value="0x303B" name="EGL_MIN_SWAP_INTERVAL"/>
241         <enum value="0x303C" name="EGL_MAX_SWAP_INTERVAL"/>
242         <enum value="0x303D" name="EGL_LUMINANCE_SIZE"/>
243         <enum value="0x303E" name="EGL_ALPHA_MASK_SIZE"/>
244         <enum value="0x303F" name="EGL_COLOR_BUFFER_TYPE"/>
245         <enum value="0x3040" name="EGL_RENDERABLE_TYPE"/>
246         <enum value="0x3041" name="EGL_MATCH_NATIVE_PIXMAP"/>
247         <enum value="0x3042" name="EGL_CONFORMANT"/>
248         <enum value="0x3042" name="EGL_CONFORMANT_KHR"/>
249         <enum value="0x3043" name="EGL_MATCH_FORMAT_KHR"/>
250             <unused start="0x3044" end="0x304F" comment="for additional config attributes"/>
251         <enum value="0x3050" name="EGL_SLOW_CONFIG"/>
252         <enum value="0x3051" name="EGL_NON_CONFORMANT_CONFIG"/>
253         <enum value="0x3052" name="EGL_TRANSPARENT_RGB"/>
254         <enum value="0x3053" name="EGL_VENDOR"/>
255         <enum value="0x3054" name="EGL_VERSION"/>
256         <enum value="0x3055" name="EGL_EXTENSIONS"/>
257         <enum value="0x3056" name="EGL_HEIGHT"/>
258         <enum value="0x3057" name="EGL_WIDTH"/>
259         <enum value="0x3058" name="EGL_LARGEST_PBUFFER"/>
260         <enum value="0x3059" name="EGL_DRAW"/>
261         <enum value="0x305A" name="EGL_READ"/>
262         <enum value="0x305B" name="EGL_CORE_NATIVE_ENGINE"/>
263         <enum value="0x305C" name="EGL_NO_TEXTURE"/>
264         <enum value="0x305D" name="EGL_TEXTURE_RGB"/>
265         <enum value="0x305E" name="EGL_TEXTURE_RGBA"/>
266         <enum value="0x305F" name="EGL_TEXTURE_2D"/>
267     </enums>
268
269     <enums namespace="EGL" start="0x3060-0x306F" vendor="TAO" comment="Reserved for Phil Huxley">
270         <unused start="0x3060" end="0x306F"/>
271     </enums>
272
273     <enums namespace="EGL" start="0x3070-0x307F" vendor="NOK" comment="Reserved for Jani Vaarala">
274         <unused start="0x3070" end="0x307E"/>
275         <enum value="0x307F" name="EGL_Y_INVERTED_NOK"/>
276     </enums>
277
278     <enums namespace="EGL" start="0x3080-0x30AF" vendor="KHR">
279         <enum value="0x3080" name="EGL_TEXTURE_FORMAT"/>
280         <enum value="0x3081" name="EGL_TEXTURE_TARGET"/>
281         <enum value="0x3082" name="EGL_MIPMAP_TEXTURE"/>
282         <enum value="0x3083" name="EGL_MIPMAP_LEVEL"/>
283         <enum value="0x3084" name="EGL_BACK_BUFFER"/>
284         <enum value="0x3085" name="EGL_SINGLE_BUFFER"/>
285         <enum value="0x3086" name="EGL_RENDER_BUFFER"/>
286         <enum value="0x3087" name="EGL_COLORSPACE" alias="EGL_VG_COLORSPACE"/>
287         <enum value="0x3087" name="EGL_VG_COLORSPACE"/>
288         <enum value="0x3088" name="EGL_ALPHA_FORMAT" alias="EGL_VG_ALPHA_FORMAT"/>
289         <enum value="0x3088" name="EGL_VG_ALPHA_FORMAT"/>
290         <enum value="0x3089" name="EGL_COLORSPACE_sRGB"/>
291         <enum value="0x3089" name="EGL_GL_COLORSPACE_SRGB" alias="EGL_COLORSPACE_sRGB"/>
292         <enum value="0x3089" name="EGL_GL_COLORSPACE_SRGB_KHR" alias="EGL_COLORSPACE_sRGB"/>
293         <enum value="0x3089" name="EGL_VG_COLORSPACE_sRGB" alias="EGL_COLORSPACE_sRGB"/>
294         <enum value="0x308A" name="EGL_COLORSPACE_LINEAR"/>
295         <enum value="0x308A" name="EGL_GL_COLORSPACE_LINEAR" alias="EGL_COLORSPACE_LINEAR"/>
296         <enum value="0x308A" name="EGL_GL_COLORSPACE_LINEAR_KHR" alias="EGL_COLORSPACE_LINEAR"/>
297         <enum value="0x308A" name="EGL_VG_COLORSPACE_LINEAR" alias="EGL_COLORSPACE_LINEAR"/>
298         <enum value="0x308B" name="EGL_ALPHA_FORMAT_NONPRE" alias="EGL_VG_ALPHA_FORMAT_NONPRE"/>
299         <enum value="0x308B" name="EGL_VG_ALPHA_FORMAT_NONPRE"/>
300         <enum value="0x308C" name="EGL_ALPHA_FORMAT_PRE" alias="EGL_VG_ALPHA_FORMAT_PRE"/>
301         <enum value="0x308C" name="EGL_VG_ALPHA_FORMAT_PRE"/>
302         <enum value="0x308D" name="EGL_CLIENT_APIS"/>
303         <enum value="0x308E" name="EGL_RGB_BUFFER"/>
304         <enum value="0x308F" name="EGL_LUMINANCE_BUFFER"/>
305         <enum value="0x3090" name="EGL_HORIZONTAL_RESOLUTION"/>
306         <enum value="0x3091" name="EGL_VERTICAL_RESOLUTION"/>
307         <enum value="0x3092" name="EGL_PIXEL_ASPECT_RATIO"/>
308         <enum value="0x3093" name="EGL_SWAP_BEHAVIOR"/>
309         <enum value="0x3094" name="EGL_BUFFER_PRESERVED"/>
310         <enum value="0x3095" name="EGL_BUFFER_DESTROYED"/>
311         <enum value="0x3096" name="EGL_OPENVG_IMAGE"/>
312         <enum value="0x3097" name="EGL_CONTEXT_CLIENT_TYPE"/>
313         <enum value="0x3098" name="EGL_CONTEXT_CLIENT_VERSION"/>
314         <enum value="0x3098" name="EGL_CONTEXT_MAJOR_VERSION" alias="EGL_CONTEXT_CLIENT_VERSION"/>
315         <enum value="0x3098" name="EGL_CONTEXT_MAJOR_VERSION_KHR" alias="EGL_CONTEXT_CLIENT_VERSION"/>
316         <enum value="0x3099" name="EGL_MULTISAMPLE_RESOLVE"/>
317         <enum value="0x309A" name="EGL_MULTISAMPLE_RESOLVE_DEFAULT"/>
318         <enum value="0x309B" name="EGL_MULTISAMPLE_RESOLVE_BOX"/>
319         <enum value="0x309C" name="EGL_CL_EVENT_HANDLE"/>
320         <enum value="0x309C" name="EGL_CL_EVENT_HANDLE_KHR" alias="EGL_CL_EVENT_HANDLE"/>
321         <enum value="0x309D" name="EGL_GL_COLORSPACE"/>
322         <enum value="0x309D" name="EGL_GL_COLORSPACE_KHR" alias="EGL_GL_COLORSPACE"/>
323             <unused start="0x309E" end="0x309F"/>
324         <enum value="0x30A0" name="EGL_OPENGL_ES_API"/>
325         <enum value="0x30A1" name="EGL_OPENVG_API"/>
326         <enum value="0x30A2" name="EGL_OPENGL_API"/>
327             <unused start="0x30A3" end="0x30AF" comment="for additional client API names"/>
328     </enums>
329
330     <enums namespace="EGL" start="0x30B0-0x30BF" vendor="NV" comment="Reserved for Ignacio Llamas">
331         <enum value="0x30B0" name="EGL_NATIVE_PIXMAP_KHR"/>
332         <enum value="0x30B1" name="EGL_GL_TEXTURE_2D"/>
333         <enum value="0x30B1" name="EGL_GL_TEXTURE_2D_KHR" alias="EGL_GL_TEXTURE_2D"/>
334         <enum value="0x30B2" name="EGL_GL_TEXTURE_3D"/>
335         <enum value="0x30B2" name="EGL_GL_TEXTURE_3D_KHR" alias="EGL_GL_TEXTURE_3D"/>
336         <enum value="0x30B3" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
337         <enum value="0x30B3" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
338         <enum value="0x30B4" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
339         <enum value="0x30B4" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
340         <enum value="0x30B5" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
341         <enum value="0x30B5" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
342         <enum value="0x30B6" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
343         <enum value="0x30B6" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
344         <enum value="0x30B7" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
345         <enum value="0x30B7" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
346         <enum value="0x30B8" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
347         <enum value="0x30B8" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
348         <enum value="0x30B9" name="EGL_GL_RENDERBUFFER"/>
349         <enum value="0x30B9" name="EGL_GL_RENDERBUFFER_KHR" alias="EGL_GL_RENDERBUFFER"/>
350         <enum value="0x30BA" name="EGL_VG_PARENT_IMAGE_KHR"/>
351         <enum value="0x30BC" name="EGL_GL_TEXTURE_LEVEL"/>
352         <enum value="0x30BC" name="EGL_GL_TEXTURE_LEVEL_KHR" alias="EGL_GL_TEXTURE_LEVEL"/>
353         <enum value="0x30BD" name="EGL_GL_TEXTURE_ZOFFSET"/>
354         <enum value="0x30BD" name="EGL_GL_TEXTURE_ZOFFSET_KHR" alias="EGL_GL_TEXTURE_ZOFFSET"/>
355         <enum value="0x30BE" name="EGL_POST_SUB_BUFFER_SUPPORTED_NV"/>
356         <enum value="0x30BF" name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT" alias="EGL_CONTEXT_OPENGL_ROBUST_ACCESS"/>
357     </enums>
358
359     <enums namespace="EGL" start="0x30C0-0x30CF" vendor="KHR">
360         <enum value="0x30C0" name="EGL_FORMAT_RGB_565_EXACT_KHR"/>
361         <enum value="0x30C1" name="EGL_FORMAT_RGB_565_KHR"/>
362         <enum value="0x30C2" name="EGL_FORMAT_RGBA_8888_EXACT_KHR"/>
363         <enum value="0x30C3" name="EGL_FORMAT_RGBA_8888_KHR"/>
364         <enum value="0x30C4" name="EGL_MAP_PRESERVE_PIXELS_KHR"/>
365         <enum value="0x30C5" name="EGL_LOCK_USAGE_HINT_KHR"/>
366         <enum value="0x30C6" name="EGL_BITMAP_POINTER_KHR"/>
367         <enum value="0x30C7" name="EGL_BITMAP_PITCH_KHR"/>
368         <enum value="0x30C8" name="EGL_BITMAP_ORIGIN_KHR"/>
369         <enum value="0x30C9" name="EGL_BITMAP_PIXEL_RED_OFFSET_KHR"/>
370         <enum value="0x30CA" name="EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR"/>
371         <enum value="0x30CB" name="EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR"/>
372         <enum value="0x30CC" name="EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR"/>
373         <enum value="0x30CD" name="EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR"/>
374         <enum value="0x30CE" name="EGL_LOWER_LEFT_KHR"/>
375         <enum value="0x30CF" name="EGL_UPPER_LEFT_KHR"/>
376     </enums>
377
378     <enums namespace="EGL" start="0x30D0" end="0x30DF" vendor="Symbian" comment="Reserved for Robert Palmer (bug #2545)">
379             <unused start="0x30D0" end="0x30D1"/>
380         <enum value="0x30D2" name="EGL_IMAGE_PRESERVED"/>
381         <enum value="0x30D2" name="EGL_IMAGE_PRESERVED_KHR"/>
382             <unused start="0x30D3" end="0x30D9"/>
383         <enum value="0x30DA" name="EGL_SHARED_IMAGE_NOK" comment="Unreleased extension"/>
384             <unused start="0x30DB" end="0x30DF"/>
385     </enums>
386
387     <enums namespace="EGL" start="0x30E0" end="0x30EF" vendor="NV" comment="Reserved for Russell Pflughaupt (bug #3314)">
388         <enum value="0x30E0" name="EGL_COVERAGE_BUFFERS_NV"/>
389         <enum value="0x30E1" name="EGL_COVERAGE_SAMPLES_NV"/>
390         <enum value="0x30E2" name="EGL_DEPTH_ENCODING_NV"/>
391         <enum value="0x30E3" name="EGL_DEPTH_ENCODING_NONLINEAR_NV"/>
392             <unused start="0x30E4" end="0x30E5"/>
393         <enum value="0x30E6" name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV"/>
394         <enum value="0x30E7" name="EGL_SYNC_STATUS_NV"/>
395         <enum value="0x30E8" name="EGL_SIGNALED_NV"/>
396         <enum value="0x30E9" name="EGL_UNSIGNALED_NV"/>
397         <enum value="0x30EA" name="EGL_ALREADY_SIGNALED_NV"/>
398         <enum value="0x30EB" name="EGL_TIMEOUT_EXPIRED_NV"/>
399         <enum value="0x30EC" name="EGL_CONDITION_SATISFIED_NV"/>
400         <enum value="0x30ED" name="EGL_SYNC_TYPE_NV"/>
401         <enum value="0x30EE" name="EGL_SYNC_CONDITION_NV"/>
402         <enum value="0x30EF" name="EGL_SYNC_FENCE_NV"/>
403     </enums>
404
405     <enums namespace="EGL" start="0x30F0" end="0x30FF" vendor="KHR">
406         <enum value="0x30F0" name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE"/>
407         <enum value="0x30F0" name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR" alias="EGL_SYNC_PRIOR_COMMANDS_COMPLETE"/>
408         <enum value="0x30F1" name="EGL_SYNC_STATUS"/>
409         <enum value="0x30F1" name="EGL_SYNC_STATUS_KHR" alias="EGL_SYNC_STATUS"/>
410         <enum value="0x30F2" name="EGL_SIGNALED"/>
411         <enum value="0x30F2" name="EGL_SIGNALED_KHR" alias="EGL_SIGNALED"/>
412         <enum value="0x30F3" name="EGL_UNSIGNALED"/>
413         <enum value="0x30F3" name="EGL_UNSIGNALED_KHR" alias="EGL_UNSIGNALED"/>
414         <enum value="0x30F5" name="EGL_TIMEOUT_EXPIRED"/>
415         <enum value="0x30F5" name="EGL_TIMEOUT_EXPIRED_KHR" alias="EGL_TIMEOUT_EXPIRED"/>
416         <enum value="0x30F6" name="EGL_CONDITION_SATISFIED"/>
417         <enum value="0x30F6" name="EGL_CONDITION_SATISFIED_KHR" alias="EGL_CONDITION_SATISFIED"/>
418         <enum value="0x30F7" name="EGL_SYNC_TYPE"/>
419         <enum value="0x30F7" name="EGL_SYNC_TYPE_KHR" alias="EGL_SYNC_TYPE"/>
420         <enum value="0x30F8" name="EGL_SYNC_CONDITION"/>
421         <enum value="0x30F8" name="EGL_SYNC_CONDITION_KHR" alias="EGL_SYNC_CONDITION"/>
422         <enum value="0x30F9" name="EGL_SYNC_FENCE"/>
423         <enum value="0x30F9" name="EGL_SYNC_FENCE_KHR" alias="EGL_SYNC_FENCE"/>
424         <enum value="0x30FA" name="EGL_SYNC_REUSABLE_KHR"/>
425         <enum value="0x30FB" name="EGL_CONTEXT_MINOR_VERSION"/>
426         <enum value="0x30FB" name="EGL_CONTEXT_MINOR_VERSION_KHR" alias="EGL_CONTEXT_MINOR_VERSION"/>
427         <enum value="0x30FC" name="EGL_CONTEXT_FLAGS_KHR"/>
428         <enum value="0x30FD" name="EGL_CONTEXT_OPENGL_PROFILE_MASK"/>
429         <enum value="0x30FD" name="EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR" alias="EGL_CONTEXT_OPENGL_PROFILE_MASK"/>
430         <enum value="0x30FE" name="EGL_SYNC_CL_EVENT"/>
431         <enum value="0x30FE" name="EGL_SYNC_CL_EVENT_KHR" alias="EGL_SYNC_CL_EVENT"/>
432         <enum value="0x30FF" name="EGL_SYNC_CL_EVENT_COMPLETE"/>
433         <enum value="0x30FF" name="EGL_SYNC_CL_EVENT_COMPLETE_KHR" alias="EGL_SYNC_CL_EVENT_COMPLETE"/>
434     </enums>
435
436     <enums namespace="EGL" start="0x3100" end="0x310F" vendor="IMG" comment="Reserved for Ben Bowman (Khronos bug 4748)">
437         <enum value="0x3100" name="EGL_CONTEXT_PRIORITY_LEVEL_IMG"/>
438         <enum value="0x3101" name="EGL_CONTEXT_PRIORITY_HIGH_IMG"/>
439         <enum value="0x3102" name="EGL_CONTEXT_PRIORITY_MEDIUM_IMG"/>
440         <enum value="0x3103" name="EGL_CONTEXT_PRIORITY_LOW_IMG"/>
441             <unused start="0x3104" end="0x310F"/>
442     </enums>
443
444     <enums namespace="EGL" start="0x3110" end="0x311F" vendor="ATX" comment="Reserved for Tim Renouf, Antix (Khronos bug 4949)">
445         <enum value="0x3110" name="EGL_BITMAP_PIXEL_SIZE_KHR"/>
446             <unused start="0x3111" end="0x311F"/>
447     </enums>
448
449     <enums namespace="EGL" start="0x3120" end="0x312F" vendor="AMD" comment="Reserved for David Garcia (Khronos bug 5149)">
450             <unused start="0x3120" end="0x312F"/>
451     </enums>
452
453     <enums namespace="EGL" start="0x3130" end="0x313F" vendor="NV" comment="Reserved for Greg Prisament (Khronos bug 5166)">
454             <unused start="0x3130"/>
455         <enum value="0x3131" name="EGL_COVERAGE_SAMPLE_RESOLVE_NV"/>
456         <enum value="0x3132" name="EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV"/>
457         <enum value="0x3133" name="EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV"/>
458         <enum value="0x3134" name="EGL_MULTIVIEW_VIEW_COUNT_EXT"/>
459             <unused start="0x3135"/>
460         <enum value="0x3136" name="EGL_AUTO_STEREO_NV"/>
461             <unused start="0x3137"/>
462         <enum value="0x3138" name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT"/>
463             <unused start="0x3139" end="0x313C"/>
464         <enum value="0x313D" name="EGL_BUFFER_AGE_EXT"/>
465             <unused start="0x313E" end="0x313F"/>
466         <enum value="0x313F" name="EGL_PLATFORM_DEVICE_EXT"/>
467     </enums>
468
469     <enums namespace="EGL" start="0x3140" end="0x314F" vendor="Google" comment="Reserved for Mathias Agopian (Khronos bug 5199)">
470         <enum value="0x3140" name="EGL_NATIVE_BUFFER_ANDROID"/>
471         <enum value="0x3141" name="EGL_PLATFORM_ANDROID_KHR"/>
472         <enum value="0x3142" name="EGL_RECORDABLE_ANDROID"/>
473             <unused start="0x3143"/>
474         <enum value="0x3144" name="EGL_SYNC_NATIVE_FENCE_ANDROID"/>
475         <enum value="0x3145" name="EGL_SYNC_NATIVE_FENCE_FD_ANDROID"/>
476         <enum value="0x3146" name="EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID"/>
477         <enum value="0x3147" name="EGL_FRAMEBUFFER_TARGET_ANDROID"/>
478             <unused start="0x3148" end="0x314F"/>
479     </enums>
480
481     <enums namespace="EGL" start="0x3150" end="0x315F" vendor="NOK" comment="Reserved for Robert Palmer (Khronos bug 5368)">
482             <unused start="0x3150" end="0x315F"/>
483     </enums>
484
485     <enums namespace="EGL" start="0x3160" end="0x316F" vendor="Seaweed" comment="Reserved for Sree Sridharan (Khronos public bug 198)">
486             <unused start="0x3160" end="0x316F"/>
487     </enums>
488
489     <enums namespace="EGL" start="0x3170" end="0x318F" vendor="QNX" comment="Reserved for Joel Pilon (Khronos bug 5834)">
490             <unused start="0x3170" end="0x318F"/>
491     </enums>
492
493     <enums namespace="EGL" start="0x3190" end="0x31AF" vendor="FSL" comment="Reserved for Brian Murray, Freescale (Khronos bug 5939)">
494             <unused start="0x3190" end="0x31AF"/>
495     </enums>
496
497     <enums namespace="EGL" start="0x31B0" end="0x31BF" vendor="KHR" comment="Reserved for Marcus Lorentzon (Khronos bug 6437)">
498         <enum value="0x31B0" name="EGL_CONTEXT_OPENGL_DEBUG"/>
499         <enum value="0x31B1" name="EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE"/>
500         <enum value="0x31B2" name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS"/>
501             <unused start="0x31B3" end="0x31BC" comment="Formerly reserved for EGL_image_stream"/>
502         <enum value="0x31BD" name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR" alias="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY"/>
503         <enum value="0x31BD" name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY"/>
504         <enum value="0x31BE" name="EGL_NO_RESET_NOTIFICATION"/>
505         <enum value="0x31BE" name="EGL_NO_RESET_NOTIFICATION_KHR" alias="EGL_NO_RESET_NOTIFICATION"/>
506         <enum value="0x31BE" name="EGL_NO_RESET_NOTIFICATION_EXT" alias="EGL_NO_RESET_NOTIFICATION"/>
507         <enum value="0x31BF" name="EGL_LOSE_CONTEXT_ON_RESET"/>
508         <enum value="0x31BF" name="EGL_LOSE_CONTEXT_ON_RESET_KHR" alias="EGL_LOSE_CONTEXT_ON_RESET"/>
509         <enum value="0x31BF" name="EGL_LOSE_CONTEXT_ON_RESET_EXT" alias="EGL_LOSE_CONTEXT_ON_RESET"/>
510     </enums>
511
512     <enums namespace="EGL" start="0x31C0" end="0x31CF" vendor="QCOM" comment="Reserved for Maurice Ribble (Khronos bug 6644) - EGL_QCOM_create_image spec TBD">
513             <unused start="0x31C0" end="0x31CF"/>
514     </enums>
515
516     <enums namespace="EGL" start="0x31D0" end="0x31DF" vendor="MESA" comment="Reserved for Kristian H&#248;gsberg (Khronos bug 6757)">
517         <enum value="0x31D0" name="EGL_DRM_BUFFER_FORMAT_MESA"/>
518         <enum value="0x31D1" name="EGL_DRM_BUFFER_USE_MESA"/>
519         <enum value="0x31D2" name="EGL_DRM_BUFFER_FORMAT_ARGB32_MESA"/>
520         <enum value="0x31D3" name="EGL_DRM_BUFFER_MESA"/>
521         <enum value="0x31D4" name="EGL_DRM_BUFFER_STRIDE_MESA"/>
522         <enum value="0x31D5" name="EGL_PLATFORM_X11_KHR"/>
523         <enum value="0x31D5" name="EGL_PLATFORM_X11_EXT" alias="EGL_PLATFORM_X11_KHR"/>
524         <enum value="0x31D6" name="EGL_PLATFORM_X11_SCREEN_KHR"/>
525         <enum value="0x31D6" name="EGL_PLATFORM_X11_SCREEN_EXT" alias="EGL_PLATFORM_X11_SCREEN_KHR"/>
526         <enum value="0x31D7" name="EGL_PLATFORM_GBM_KHR"/>
527         <enum value="0x31D7" name="EGL_PLATFORM_GBM_MESA" alias="EGL_PLATFORM_GBM_KHR"/>
528         <enum value="0x31D8" name="EGL_PLATFORM_WAYLAND_KHR"/>
529         <enum value="0x31D8" name="EGL_PLATFORM_WAYLAND_EXT" alias="EGL_PLATFORM_WAYLAND_KHR"/>
530             <unused start="0x31D9" end="0x31DF"/>
531     </enums>
532
533     <enums namespace="EGL" start="0x31E0" end="0x31EF" vendor="HI" comment="Reserved for Mark Callow (Khronos bug 6799)">
534             <unused start="0x31E0" end="0x31EF"/>
535     </enums>
536
537     <enums namespace="EGL" start="0x31F0" end="0x31FF" vendor="KHR">
538             <unused start="0x31F0" end="0x31FB" comment="Placeholders for draft extensions follow"/>
539         <!--
540             <enum value="0x31F0" name="EGL_IMAGE_USE_AS_OPENGL_ES1_RENDERBUFFER_KHR"        comment="Draft KHR_image_use_gl1_renderbuffer"/>
541             <enum value="0x31F1" name="EGL_IMAGE_USE_AS_OPENGL_ES1_TEXTURE_2D_KHR"          comment="Draft KHR_image_use_gl1_texture_2d"/>
542             <enum value="0x31F2" name="EGL_IMAGE_USE_AS_OPENGL_ES1_TEXTURE_EXTERNAL_KHR"    comment="Draft KHR_image_use_gl1_texture_external"/>
543             <enum value="0x31F3" name="EGL_IMAGE_USE_AS_OPENGL_ES2_RENDERBUFFER_KHR"        comment="Draft KHR_image_use_gl2_renderbuffer"/>
544             <enum value="0x31F4" name="EGL_IMAGE_USE_AS_OPENGL_ES2_TEXTURE_2D_KHR"          comment="Draft KHR_image_use_gl2_texture_2d"/>
545             <enum value="0x31F5" name="EGL_IMAGE_USE_AS_OPENGL_ES2_TEXTURE_EXTERNAL_KHR"    comment="Draft KHR_image_use_gl2_texture_external"/>
546             <enum value="0x31F6" name="EGL_IMAGE_USE_AS_OPENVG_IMAGE_KHR"                   comment="Draft KHR_image_use_vg_vgimage"/>
547             <enum value="0x31F7" name="EGL_STREAM_CONSUMER_ATTACHMENT_MESA"                 comment="Draft EGL_MESA_image_stream_internal"/>
548             <enum value="0x31F8" name="EGL_NO_FORMAT_MESA"                                  comment="Draft EGL_MESA_image_stream_internal"/>
549             <enum value="0x31F9" name="EGL_FORMAT_RGBA8888_MESA"                            comment="Draft EGL_MESA_image_stream_internal"/>
550             <enum value="0x31FA" name="EGL_FORMAT_RGB888_MESA"                              comment="Draft EGL_MESA_image_stream_internal"/>
551             <enum value="0x31FB" name="EGL_FORMAT_RGB565_MESA"                              comment="Draft EGL_MESA_image_stream_internal"/>
552         -->
553         <enum value="0x31FC" name="EGL_STREAM_FIFO_LENGTH_KHR"/>
554         <enum value="0x31FD" name="EGL_STREAM_TIME_NOW_KHR"/>
555         <enum value="0x31FE" name="EGL_STREAM_TIME_CONSUMER_KHR"/>
556         <enum value="0x31FF" name="EGL_STREAM_TIME_PRODUCER_KHR"/>
557     </enums>
558
559     <enums namespace="EGL" start="0x3200" end="0x320F" vendor="ANGLE" comment="Reserved for Daniel Koch, ANGLE Project (Khronos bug 7139)">
560         <enum value="0x3200" name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/>
561             <unused start="0x3201" end="0x320F"/>
562     </enums>
563
564     <enums namespace="EGL" start="0x3210" end="0x321F" vendor="KHR">
565         <enum value="0x3210" name="EGL_CONSUMER_LATENCY_USEC_KHR"/>
566             <unused start="0x3211"/>
567         <enum value="0x3212" name="EGL_PRODUCER_FRAME_KHR"/>
568         <enum value="0x3213" name="EGL_CONSUMER_FRAME_KHR"/>
569         <enum value="0x3214" name="EGL_STREAM_STATE_KHR"/>
570         <enum value="0x3215" name="EGL_STREAM_STATE_CREATED_KHR"/>
571         <enum value="0x3216" name="EGL_STREAM_STATE_CONNECTING_KHR"/>
572         <enum value="0x3217" name="EGL_STREAM_STATE_EMPTY_KHR"/>
573         <enum value="0x3218" name="EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR"/>
574         <enum value="0x3219" name="EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR"/>
575         <enum value="0x321A" name="EGL_STREAM_STATE_DISCONNECTED_KHR"/>
576         <enum value="0x321B" name="EGL_BAD_STREAM_KHR"/>
577         <enum value="0x321C" name="EGL_BAD_STATE_KHR"/>
578         <enum value="0x321D" name="EGL_BUFFER_COUNT_NV" comment="From EGL_NV_stream_producer_eglsurface, which has no known specification and was replaced by a KHR extension"/>
579         <enum value="0x321E" name="EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR"/>
580         <enum value="0x321F" name="EGL_SYNC_NEW_FRAME_NV"/>
581     </enums>
582
583     <enums namespace="EGL" start="0x3220" end="0x325F" vendor="NV" comment="Reserved for Greg Roth (Bug 8220)">
584             <unused start="0x3220" end="0x322A"/>
585         <enum value="0x322B" name="EGL_BAD_DEVICE_EXT"/>
586         <enum value="0x322C" name="EGL_DEVICE_EXT"/>
587         <enum value="0x322D" name="EGL_BAD_OUTPUT_LAYER_EXT"/>                
588         <enum value="0x322E" name="EGL_BAD_OUTPUT_PORT_EXT"/>                 
589         <enum value="0x322F" name="EGL_SWAP_INTERVAL_EXT"/>                   
590             <unused start="0x3230" end="0x3232"/>
591         <enum value="0x3233" name="EGL_DRM_DEVICE_FILE_EXT"/>                 
592         <enum value="0x3234" name="EGL_DRM_CRTC_EXT"/>                        
593         <enum value="0x3235" name="EGL_DRM_PLANE_EXT"/>                       
594         <enum value="0x3236" name="EGL_DRM_CONNECTOR_EXT"/>                   
595         <enum value="0x3237" name="EGL_OPENWF_DEVICE_ID_EXT"/>                
596         <enum value="0x3238" name="EGL_OPENWF_PIPELINE_ID_EXT"/>              
597         <enum value="0x3239" name="EGL_OPENWF_PORT_ID_EXT"/>                  
598         <enum value="0x323A" name="EGL_CUDA_DEVICE_NV"/>
599         <enum value="0x323B" name="EGL_CUDA_EVENT_HANDLE_NV"/>
600         <enum value="0x323C" name="EGL_SYNC_CUDA_EVENT_NV"/>
601         <enum value="0x323D" name="EGL_SYNC_CUDA_EVENT_COMPLETE_NV"/>
602             <unused start="0x323E" end="0x325F"/>
603     </enums>
604
605     <enums namespace="EGL" start="0x3260" end="0x326F" vendor="BCOM" comment="Reserved for Gary Sweet, Broadcom (Public bug 620)">
606             <unused start="0x3260" end="0x326F"/>
607     </enums>
608
609     <enums namespace="EGL" start="0x3270" end="0x328F" vendor="ARM" comment="Reserved for Tom Cooksey (Bug 9963)">
610         <enum value="0x3270" name="EGL_LINUX_DMA_BUF_EXT"/>
611         <enum value="0x3271" name="EGL_LINUX_DRM_FOURCC_EXT"/>
612         <enum value="0x3272" name="EGL_DMA_BUF_PLANE0_FD_EXT"/>
613         <enum value="0x3273" name="EGL_DMA_BUF_PLANE0_OFFSET_EXT"/>
614         <enum value="0x3274" name="EGL_DMA_BUF_PLANE0_PITCH_EXT"/>
615         <enum value="0x3275" name="EGL_DMA_BUF_PLANE1_FD_EXT"/>
616         <enum value="0x3276" name="EGL_DMA_BUF_PLANE1_OFFSET_EXT"/>
617         <enum value="0x3277" name="EGL_DMA_BUF_PLANE1_PITCH_EXT"/>
618         <enum value="0x3278" name="EGL_DMA_BUF_PLANE2_FD_EXT"/>
619         <enum value="0x3279" name="EGL_DMA_BUF_PLANE2_OFFSET_EXT"/>
620         <enum value="0x327A" name="EGL_DMA_BUF_PLANE2_PITCH_EXT"/>
621         <enum value="0x327B" name="EGL_YUV_COLOR_SPACE_HINT_EXT"/>
622         <enum value="0x327C" name="EGL_SAMPLE_RANGE_HINT_EXT"/>
623         <enum value="0x327D" name="EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT"/>
624         <enum value="0x327E" name="EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT"/>
625         <enum value="0x327F" name="EGL_ITU_REC601_EXT"/>
626         <enum value="0x3280" name="EGL_ITU_REC709_EXT"/>
627         <enum value="0x3281" name="EGL_ITU_REC2020_EXT"/>
628         <enum value="0x3282" name="EGL_YUV_FULL_RANGE_EXT"/>
629         <enum value="0x3283" name="EGL_YUV_NARROW_RANGE_EXT"/>
630         <enum value="0x3284" name="EGL_YUV_CHROMA_SITING_0_EXT"/>
631         <enum value="0x3285" name="EGL_YUV_CHROMA_SITING_0_5_EXT"/>
632         <enum value="0x3286" name="EGL_DISCARD_SAMPLES_ARM"/>
633             <unused start="0x3287" end="0x328F"/>
634     </enums>
635
636     <enums namespace="EGL" start="0x3290" end="0x329F" vendor="MESA" comment="Reserved for John K&#229;re Alsaker (Public bug 757)">
637             <unused start="0x3290" end="0x329F"/>
638     </enums>
639
640     <enums namespace="EGL" start="0x32A0" end="0x32AF" vendor="Samsung" comment="Reserved for Dongyeon Kim (Public bug 880)">
641         <enum value="0x32A0" name="EGL_NATIVE_BUFFER_TIZEN"/>
642         <enum value="0x32A1" name="EGL_NATIVE_SURFACE_TIZEN"/>
643             <unused start="0x32A2" end="0x32AF"/>
644     </enums>
645
646     <enums namespace="EGL" start="0x32B0" end="0x32BF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 10663) - EGL_QCOM_lock_image spec TBD">
647             <unused start="0x32B0" end="0x32BF"/>
648     </enums>
649
650     <enums namespace="EGL" start="0x32C0" end="0x32CF" vendor="Vivante" comment="Reserved for Yanjun Zhang (Bug 11498)">
651         <enum value="0x32C0" name="EGL_PROTECTED_CONTENT_EXT"/>
652             <unused start="0x32C1" end="0x32CF"/>
653     </enums>
654
655     <enums namespace="EGL" start="0x32D0" end="0x32EF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 11735) - EGL_QCOM_gpu_perf spec TBD + Bug 12286 - EGL_QCOM_content_protection spec TBD">
656             <unused start="0x32D0" end="0x32EF"/>
657     </enums>
658
659 <!-- Please remember that new enumerant allocations must be obtained by
660      request to the Khronos API registrar (see comments at the top of this
661      file) File requests in the Khronos Bugzilla, EGL project, Registry
662      component. Also note that some EGL enum values are shared with other
663      Khronos APIs, and new ranges should be allocated with such overlaps in
664      mind. -->
665
666 <!-- Reservable for future use: 0x32F0-0x3FFF.
667      To generate a new range, allocate multiples of 16 starting at the
668      lowest available point in this block. -->
669     <enums namespace="EGL" start="0x32F0" end="0x3FFF" vendor="KHR">
670             <unused start="0x32F0" end="0x3FFF" comment="Reserved for future use"/>
671     </enums>
672
673     <enums namespace="EGL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with GL.">
674         <enum value="0x8F70" name="EGL_COLOR_FORMAT_HI"/>
675         <enum value="0x8F71" name="EGL_COLOR_RGB_HI"/>
676         <enum value="0x8F72" name="EGL_COLOR_RGBA_HI"/>
677         <enum value="0x8F73" name="EGL_COLOR_ARGB_HI"/>
678         <enum value="0x8F74" name="EGL_CLIENT_PIXMAP_POINTER_HI"/>
679     </enums>
680
681     <!-- SECTION: EGL command definitions. -->
682     <commands namespace="EGL">
683         <command>
684             <proto><ptype>EGLBoolean</ptype> <name>eglBindAPI</name></proto>
685             <param><ptype>EGLenum</ptype> <name>api</name></param>
686         </command>
687         <command>
688             <proto><ptype>EGLBoolean</ptype> <name>eglBindTexImage</name></proto>
689             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
690             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
691             <param><ptype>EGLint</ptype> <name>buffer</name></param>
692         </command>
693         <command>
694             <proto><ptype>EGLBoolean</ptype> <name>eglChooseConfig</name></proto>
695             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
696             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
697             <param><ptype>EGLConfig</ptype> *<name>configs</name></param>
698             <param><ptype>EGLint</ptype> <name>config_size</name></param>
699             <param><ptype>EGLint</ptype> *<name>num_config</name></param>
700         </command>
701         <command>
702             <proto><ptype>EGLint</ptype> <name>eglClientWaitSync</name></proto>
703             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
704             <param><ptype>EGLSync</ptype> <name>sync</name></param>
705             <param><ptype>EGLint</ptype> <name>flags</name></param>
706             <param><ptype>EGLTime</ptype> <name>timeout</name></param>
707         </command>
708         <command>
709             <proto><ptype>EGLint</ptype> <name>eglClientWaitSyncKHR</name></proto>
710             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
711             <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param>
712             <param><ptype>EGLint</ptype> <name>flags</name></param>
713             <param><ptype>EGLTimeKHR</ptype> <name>timeout</name></param>
714             <alias name="eglClientWaitSync"/>
715         </command>
716         <command>
717             <proto><ptype>EGLint</ptype> <name>eglClientWaitSyncNV</name></proto>
718             <param><ptype>EGLSyncNV</ptype> <name>sync</name></param>
719             <param><ptype>EGLint</ptype> <name>flags</name></param>
720             <param><ptype>EGLTimeNV</ptype> <name>timeout</name></param>
721         </command>
722         <command>
723             <proto><ptype>EGLBoolean</ptype> <name>eglCopyBuffers</name></proto>
724             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
725             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
726             <param><ptype>EGLNativePixmapType</ptype> <name>target</name></param>
727         </command>
728         <command>
729             <proto><ptype>EGLContext</ptype> <name>eglCreateContext</name></proto>
730             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
731             <param><ptype>EGLConfig</ptype> <name>config</name></param>
732             <param><ptype>EGLContext</ptype> <name>share_context</name></param>
733             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
734         </command>
735         <command>
736             <proto><ptype>EGLImageKHR</ptype> <name>eglCreateDRMImageMESA</name></proto>
737             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
738             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
739         </command>
740         <command>
741             <proto><ptype>EGLSyncNV</ptype> <name>eglCreateFenceSyncNV</name></proto>
742             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
743             <param><ptype>EGLenum</ptype> <name>condition</name></param>
744             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
745         </command>
746         <command>
747             <proto><ptype>EGLImage</ptype> <name>eglCreateImage</name></proto>
748             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
749             <param><ptype>EGLContext</ptype> <name>ctx</name></param>
750             <param><ptype>EGLenum</ptype> <name>target</name></param>
751             <param><ptype>EGLClientBuffer</ptype> <name>buffer</name></param>
752             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
753         </command>
754         <command>
755             <proto><ptype>EGLImageKHR</ptype> <name>eglCreateImageKHR</name></proto>
756             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
757             <param><ptype>EGLContext</ptype> <name>ctx</name></param>
758             <param><ptype>EGLenum</ptype> <name>target</name></param>
759             <param><ptype>EGLClientBuffer</ptype> <name>buffer</name></param>
760             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
761             <alias name="eglCreateImage"/>
762         </command>
763         <command>
764             <proto><ptype>EGLSurface</ptype> <name>eglCreatePbufferFromClientBuffer</name></proto>
765             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
766             <param><ptype>EGLenum</ptype> <name>buftype</name></param>
767             <param><ptype>EGLClientBuffer</ptype> <name>buffer</name></param>
768             <param><ptype>EGLConfig</ptype> <name>config</name></param>
769             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
770         </command>
771         <command>
772             <proto><ptype>EGLSurface</ptype> <name>eglCreatePbufferSurface</name></proto>
773             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
774             <param><ptype>EGLConfig</ptype> <name>config</name></param>
775             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
776         </command>
777         <command>
778             <proto><ptype>EGLSurface</ptype> <name>eglCreatePixmapSurface</name></proto>
779             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
780             <param><ptype>EGLConfig</ptype> <name>config</name></param>
781             <param><ptype>EGLNativePixmapType</ptype> <name>pixmap</name></param>
782             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
783         </command>
784         <command>
785             <proto><ptype>EGLSurface</ptype> <name>eglCreatePixmapSurfaceHI</name></proto>
786             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
787             <param><ptype>EGLConfig</ptype> <name>config</name></param>
788             <param>struct <ptype>EGLClientPixmapHI</ptype> *<name>pixmap</name></param>
789         </command>
790         <command>
791             <proto><ptype>EGLSurface</ptype> <name>eglCreatePlatformPixmapSurface</name></proto>
792             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
793             <param><ptype>EGLConfig</ptype> <name>config</name></param>
794             <param>void *<name>native_pixmap</name></param>
795             <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
796         </command>
797         <command>
798             <proto><ptype>EGLSurface</ptype> <name>eglCreatePlatformPixmapSurfaceEXT</name></proto>
799             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
800             <param><ptype>EGLConfig</ptype> <name>config</name></param>
801             <param>void *<name>native_pixmap</name></param>
802             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
803         </command>
804         <command>
805             <proto><ptype>EGLSurface</ptype> <name>eglCreatePlatformWindowSurface</name></proto>
806             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
807             <param><ptype>EGLConfig</ptype> <name>config</name></param>
808             <param>void *<name>native_window</name></param>
809             <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
810         </command>
811         <command>
812             <proto><ptype>EGLSurface</ptype> <name>eglCreatePlatformWindowSurfaceEXT</name></proto>
813             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
814             <param><ptype>EGLConfig</ptype> <name>config</name></param>
815             <param>void *<name>native_window</name></param>
816             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
817         </command>
818         <command>
819             <proto><ptype>EGLStreamKHR</ptype> <name>eglCreateStreamFromFileDescriptorKHR</name></proto>
820             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
821             <param><ptype>EGLNativeFileDescriptorKHR</ptype> <name>file_descriptor</name></param>
822         </command>
823         <command>
824             <proto><ptype>EGLStreamKHR</ptype> <name>eglCreateStreamKHR</name></proto>
825             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
826             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
827         </command>
828         <command>
829             <proto><ptype>EGLSurface</ptype> <name>eglCreateStreamProducerSurfaceKHR</name></proto>
830             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
831             <param><ptype>EGLConfig</ptype> <name>config</name></param>
832             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
833             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
834         </command>
835         <command>
836             <proto><ptype>EGLSyncKHR</ptype> <name>eglCreateStreamSyncNV</name></proto>
837             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
838             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
839             <param><ptype>EGLenum</ptype> <name>type</name></param>
840             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
841         </command>
842         <command>
843             <proto><ptype>EGLSync</ptype> <name>eglCreateSync</name></proto>
844             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
845             <param><ptype>EGLenum</ptype> <name>type</name></param>
846             <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
847         </command>
848         <command>
849             <proto><ptype>EGLSyncKHR</ptype> <name>eglCreateSyncKHR</name></proto>
850             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
851             <param><ptype>EGLenum</ptype> <name>type</name></param>
852             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
853         </command>
854         <command>
855             <proto><ptype>EGLSyncKHR</ptype> <name>eglCreateSync64KHR</name></proto>
856             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
857             <param><ptype>EGLenum</ptype> <name>type</name></param>
858             <param>const <ptype>EGLAttribKHR</ptype> *<name>attrib_list</name></param>
859             <alias name="eglCreateSync"/>
860         </command>
861         <command>
862             <proto><ptype>EGLSurface</ptype> <name>eglCreateWindowSurface</name></proto>
863             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
864             <param><ptype>EGLConfig</ptype> <name>config</name></param>
865             <param><ptype>EGLNativeWindowType</ptype> <name>win</name></param>
866             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
867         </command>
868         <command>
869             <proto><ptype>EGLBoolean</ptype> <name>eglDestroyContext</name></proto>
870             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
871             <param><ptype>EGLContext</ptype> <name>ctx</name></param>
872         </command>
873         <command>
874             <proto><ptype>EGLBoolean</ptype> <name>eglDestroyImage</name></proto>
875             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
876             <param><ptype>EGLImage</ptype> <name>image</name></param>
877         </command>
878         <command>
879             <proto><ptype>EGLBoolean</ptype> <name>eglDestroyImageKHR</name></proto>
880             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
881             <param><ptype>EGLImageKHR</ptype> <name>image</name></param>
882             <alias name="eglDestroyImage"/>
883         </command>
884         <command>
885             <proto><ptype>EGLBoolean</ptype> <name>eglDestroyStreamKHR</name></proto>
886             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
887             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
888         </command>
889         <command>
890             <proto><ptype>EGLBoolean</ptype> <name>eglDestroySurface</name></proto>
891             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
892             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
893         </command>
894         <command>
895             <proto><ptype>EGLBoolean</ptype> <name>eglDestroySync</name></proto>
896             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
897             <param><ptype>EGLSync</ptype> <name>sync</name></param>
898         </command>
899         <command>
900             <proto><ptype>EGLBoolean</ptype> <name>eglDestroySyncKHR</name></proto>
901             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
902             <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param>
903             <alias name="eglDestroySync"/>
904         </command>
905         <command>
906             <proto><ptype>EGLBoolean</ptype> <name>eglDestroySyncNV</name></proto>
907             <param><ptype>EGLSyncNV</ptype> <name>sync</name></param>
908         </command>
909         <command>
910             <proto><ptype>EGLint</ptype> <name>eglDupNativeFenceFDANDROID</name></proto>
911             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
912             <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param>
913         </command>
914         <command>
915             <proto><ptype>EGLBoolean</ptype> <name>eglExportDRMImageMESA</name></proto>
916             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
917             <param><ptype>EGLImageKHR</ptype> <name>image</name></param>
918             <param><ptype>EGLint</ptype> *<name>name</name></param>
919             <param><ptype>EGLint</ptype> *<name>handle</name></param>
920             <param><ptype>EGLint</ptype> *<name>stride</name></param>
921         </command>
922         <command>
923             <proto><ptype>EGLBoolean</ptype> <name>eglFenceNV</name></proto>
924             <param><ptype>EGLSyncNV</ptype> <name>sync</name></param>
925         </command>
926         <command>
927             <proto><ptype>EGLBoolean</ptype> <name>eglGetConfigAttrib</name></proto>
928             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
929             <param><ptype>EGLConfig</ptype> <name>config</name></param>
930             <param><ptype>EGLint</ptype> <name>attribute</name></param>
931             <param><ptype>EGLint</ptype> *<name>value</name></param>
932         </command>
933         <command>
934             <proto><ptype>EGLBoolean</ptype> <name>eglGetConfigs</name></proto>
935             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
936             <param><ptype>EGLConfig</ptype> *<name>configs</name></param>
937             <param><ptype>EGLint</ptype> <name>config_size</name></param>
938             <param><ptype>EGLint</ptype> *<name>num_config</name></param>
939         </command>
940         <command>
941             <proto><ptype>EGLContext</ptype> <name>eglGetCurrentContext</name></proto>
942         </command>
943         <command>
944             <proto><ptype>EGLDisplay</ptype> <name>eglGetCurrentDisplay</name></proto>
945         </command>
946         <command>
947             <proto><ptype>EGLSurface</ptype> <name>eglGetCurrentSurface</name></proto>
948             <param><ptype>EGLint</ptype> <name>readdraw</name></param>
949         </command>
950         <command>
951             <proto><ptype>EGLDisplay</ptype> <name>eglGetDisplay</name></proto>
952             <param><ptype>EGLNativeDisplayType</ptype> <name>display_id</name></param>
953         </command>
954         <command>
955             <proto><ptype>EGLint</ptype> <name>eglGetError</name></proto>
956         </command>
957         <command>
958             <proto><ptype>EGLBoolean</ptype> <name>eglGetOutputLayersEXT</name></proto>
959             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
960             <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
961             <param><ptype>EGLOutputLayerEXT</ptype> *<name>layers</name></param>
962             <param><ptype>EGLint</ptype> <name>max_layers</name></param>
963             <param><ptype>EGLint</ptype> *<name>num_layers</name></param>
964         </command>
965         <command>
966             <proto><ptype>EGLBoolean</ptype> <name>eglGetOutputPortsEXT</name></proto>
967             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
968             <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
969             <param><ptype>EGLOutputPortEXT</ptype> *<name>ports</name></param>
970             <param><ptype>EGLint</ptype> <name>max_ports</name></param>
971             <param><ptype>EGLint</ptype> *<name>num_ports</name></param>
972         </command>
973         <command>
974             <proto><ptype>EGLDisplay</ptype> <name>eglGetPlatformDisplay</name></proto>
975             <param><ptype>EGLenum</ptype> <name>platform</name></param>
976             <param>void *<name>native_display</name></param>
977             <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
978         </command>
979         <command>
980             <proto><ptype>EGLDisplay</ptype> <name>eglGetPlatformDisplayEXT</name></proto>
981             <param><ptype>EGLenum</ptype> <name>platform</name></param>
982             <param>void *<name>native_display</name></param>
983             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
984         </command>
985         <command>
986             <proto><ptype>__eglMustCastToProperFunctionPointerType</ptype> <name>eglGetProcAddress</name></proto>
987             <param>const char *<name>procname</name></param>
988         </command>
989         <command>
990             <proto><ptype>EGLNativeFileDescriptorKHR</ptype> <name>eglGetStreamFileDescriptorKHR</name></proto>
991             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
992             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
993         </command>
994         <command>
995             <proto><ptype>EGLBoolean</ptype> <name>eglGetSyncAttrib</name></proto>
996             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
997             <param><ptype>EGLSync</ptype> <name>sync</name></param>
998             <param><ptype>EGLint</ptype> <name>attribute</name></param>
999             <param><ptype>EGLAttrib</ptype> *<name>value</name></param>
1000         </command>
1001         <command>
1002             <proto><ptype>EGLBoolean</ptype> <name>eglGetSyncAttribKHR</name></proto>
1003             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1004             <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param>
1005             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1006             <param><ptype>EGLint</ptype> *<name>value</name></param>
1007         </command>
1008         <command>
1009             <proto><ptype>EGLBoolean</ptype> <name>eglGetSyncAttribNV</name></proto>
1010             <param><ptype>EGLSyncNV</ptype> <name>sync</name></param>
1011             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1012             <param><ptype>EGLint</ptype> *<name>value</name></param>
1013         </command>
1014         <command>
1015             <proto><ptype>EGLuint64NV</ptype> <name>eglGetSystemTimeFrequencyNV</name></proto>
1016         </command>
1017         <command>
1018             <proto><ptype>EGLuint64NV</ptype> <name>eglGetSystemTimeNV</name></proto>
1019         </command>
1020         <command>
1021             <proto><ptype>EGLBoolean</ptype> <name>eglInitialize</name></proto>
1022             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1023             <param><ptype>EGLint</ptype> *<name>major</name></param>
1024             <param><ptype>EGLint</ptype> *<name>minor</name></param>
1025         </command>
1026         <command>
1027             <proto><ptype>EGLBoolean</ptype> <name>eglLockSurfaceKHR</name></proto>
1028             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1029             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1030             <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param>
1031         </command>
1032         <command>
1033             <proto><ptype>EGLBoolean</ptype> <name>eglMakeCurrent</name></proto>
1034             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1035             <param><ptype>EGLSurface</ptype> <name>draw</name></param>
1036             <param><ptype>EGLSurface</ptype> <name>read</name></param>
1037             <param><ptype>EGLContext</ptype> <name>ctx</name></param>
1038         </command>
1039         <command>
1040             <proto><ptype>EGLBoolean</ptype> <name>eglOutputLayerAttribEXT</name></proto>
1041             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1042             <param><ptype>EGLOutputLayerEXT</ptype> <name>layer</name></param>
1043             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1044             <param><ptype>EGLAttrib</ptype> <name>value</name></param>
1045         </command>
1046         <command>
1047             <proto><ptype>EGLBoolean</ptype> <name>eglOutputPortAttribEXT</name></proto>
1048             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1049             <param><ptype>EGLOutputPortEXT</ptype> <name>port</name></param>
1050             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1051             <param><ptype>EGLAttrib</ptype> <name>value</name></param>
1052         </command>
1053         <command>
1054             <proto><ptype>EGLBoolean</ptype> <name>eglPostSubBufferNV</name></proto>
1055             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1056             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1057             <param><ptype>EGLint</ptype> <name>x</name></param>
1058             <param><ptype>EGLint</ptype> <name>y</name></param>
1059             <param><ptype>EGLint</ptype> <name>width</name></param>
1060             <param><ptype>EGLint</ptype> <name>height</name></param>
1061         </command>
1062         <command>
1063             <proto><ptype>EGLenum</ptype> <name>eglQueryAPI</name></proto>
1064         </command>
1065         <command>
1066             <proto><ptype>EGLBoolean</ptype> <name>eglQueryContext</name></proto>
1067             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1068             <param><ptype>EGLContext</ptype> <name>ctx</name></param>
1069             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1070             <param><ptype>EGLint</ptype> *<name>value</name></param>
1071         </command>
1072         <command>
1073             <proto><ptype>EGLBoolean</ptype> <name>eglQueryDeviceAttribEXT</name></proto>
1074             <param><ptype>EGLDeviceEXT</ptype> <name>device</name></param>                            
1075             <param><ptype>EGLint</ptype> <name>attribute</name></param>                               
1076             <param><ptype>EGLAttrib</ptype> *<name>value</name></param>   
1077         </command>
1078         <command>
1079             <proto>const char *<name>eglQueryDeviceStringEXT</name></proto>
1080             <param><ptype>EGLDeviceEXT</ptype> <name>device</name></param>                            
1081             <param><ptype>EGLint</ptype> <name>name</name></param>       
1082         </command>
1083         <command>
1084             <proto><ptype>EGLBoolean</ptype> <name>eglQueryDevicesEXT</name></proto>
1085             <param><ptype>EGLint</ptype> <name>max_devices</name></param>                         
1086             <param><ptype>EGLDeviceEXT</ptype> *<name>devices</name></param>                      
1087             <param><ptype>EGLint</ptype> *<name>num_devices</name></param> 
1088         </command>
1089         <command>
1090             <proto><ptype>EGLBoolean</ptype> <name>eglQueryDisplayAttribEXT</name></proto>
1091             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>                                 
1092             <param><ptype>EGLint</ptype> <name>attribute</name></param>                               
1093             <param><ptype>EGLAttrib</ptype> *<name>value</name></param>  
1094         </command>
1095         <command>
1096             <proto><ptype>EGLBoolean</ptype> <name>eglQueryNativeDisplayNV</name></proto>
1097             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1098             <param><ptype>EGLNativeDisplayType</ptype> *<name>display_id</name></param>
1099         </command>
1100         <command>
1101             <proto><ptype>EGLBoolean</ptype> <name>eglQueryNativePixmapNV</name></proto>
1102             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1103             <param><ptype>EGLSurface</ptype> <name>surf</name></param>
1104             <param><ptype>EGLNativePixmapType</ptype> *<name>pixmap</name></param>
1105         </command>
1106         <command>
1107             <proto><ptype>EGLBoolean</ptype> <name>eglQueryNativeWindowNV</name></proto>
1108             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1109             <param><ptype>EGLSurface</ptype> <name>surf</name></param>
1110             <param><ptype>EGLNativeWindowType</ptype> *<name>window</name></param>
1111         </command>
1112         <command>
1113             <proto><ptype>EGLBoolean</ptype> <name>eglQueryOutputLayerAttribEXT</name></proto>
1114             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1115             <param><ptype>EGLOutputLayerEXT</ptype> <name>layer</name></param>
1116             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1117             <param><ptype>EGLAttrib</ptype> *<name>value</name></param>
1118         </command>
1119         <command>
1120             <proto>const char *<name>eglQueryOutputLayerStringEXT</name></proto>
1121             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1122             <param><ptype>EGLOutputLayerEXT</ptype> <name>layer</name></param>
1123             <param><ptype>EGLint</ptype> <name>name</name></param>
1124         </command>
1125         <command>
1126             <proto><ptype>EGLBoolean</ptype> <name>eglQueryOutputPortAttribEXT</name></proto>
1127             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1128             <param><ptype>EGLOutputPortEXT</ptype> <name>port</name></param>
1129             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1130             <param><ptype>EGLAttrib</ptype> *<name>value</name></param>
1131         </command>
1132         <command>
1133             <proto>const char *<name>eglQueryOutputPortStringEXT</name></proto>
1134             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1135             <param><ptype>EGLOutputPortEXT</ptype> <name>port</name></param>
1136             <param><ptype>EGLint</ptype> <name>name</name></param>
1137         </command>
1138         <command>
1139             <proto><ptype>EGLBoolean</ptype> <name>eglQueryStreamKHR</name></proto>
1140             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1141             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
1142             <param><ptype>EGLenum</ptype> <name>attribute</name></param>
1143             <param><ptype>EGLint</ptype> *<name>value</name></param>
1144         </command>
1145         <command>
1146             <proto><ptype>EGLBoolean</ptype> <name>eglQueryStreamTimeKHR</name></proto>
1147             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1148             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
1149             <param><ptype>EGLenum</ptype> <name>attribute</name></param>
1150             <param><ptype>EGLTimeKHR</ptype> *<name>value</name></param>
1151         </command>
1152         <command>
1153             <proto><ptype>EGLBoolean</ptype> <name>eglQueryStreamu64KHR</name></proto>
1154             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1155             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
1156             <param><ptype>EGLenum</ptype> <name>attribute</name></param>
1157             <param><ptype>EGLuint64KHR</ptype> *<name>value</name></param>
1158         </command>
1159         <command>
1160             <proto>const char *<name>eglQueryString</name></proto>
1161             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1162             <param><ptype>EGLint</ptype> <name>name</name></param>
1163         </command>
1164         <command>
1165             <proto><ptype>EGLBoolean</ptype> <name>eglQuerySurface</name></proto>
1166             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1167             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1168             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1169             <param><ptype>EGLint</ptype> *<name>value</name></param>
1170         </command>
1171         <command>
1172             <proto><ptype>EGLBoolean</ptype> <name>eglQuerySurface64KHR</name></proto>
1173             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1174             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1175             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1176             <param><ptype>EGLAttribKHR</ptype> *<name>value</name></param>
1177         </command>
1178         <command>
1179             <proto><ptype>EGLBoolean</ptype> <name>eglQuerySurfacePointerANGLE</name></proto>
1180             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1181             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1182             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1183             <param>void **<name>value</name></param>
1184         </command>
1185         <command>
1186             <proto><ptype>EGLBoolean</ptype> <name>eglReleaseTexImage</name></proto>
1187             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1188             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1189             <param><ptype>EGLint</ptype> <name>buffer</name></param>
1190         </command>
1191         <command>
1192             <proto><ptype>EGLBoolean</ptype> <name>eglReleaseThread</name></proto>
1193         </command>
1194         <command>
1195             <proto>void <name>eglSetBlobCacheFuncsANDROID</name></proto>
1196             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1197             <param><ptype>EGLSetBlobFuncANDROID</ptype> <name>set</name></param>
1198             <param><ptype>EGLGetBlobFuncANDROID</ptype> <name>get</name></param>
1199         </command>
1200         <command>
1201             <proto><ptype>EGLBoolean</ptype> <name>eglSignalSyncKHR</name></proto>
1202             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1203             <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param>
1204             <param><ptype>EGLenum</ptype> <name>mode</name></param>
1205         </command>
1206         <command>
1207             <proto><ptype>EGLBoolean</ptype> <name>eglSignalSyncNV</name></proto>
1208             <param><ptype>EGLSyncNV</ptype> <name>sync</name></param>
1209             <param><ptype>EGLenum</ptype> <name>mode</name></param>
1210         </command>
1211         <command>
1212             <proto><ptype>EGLBoolean</ptype> <name>eglStreamAttribKHR</name></proto>
1213             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1214             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
1215             <param><ptype>EGLenum</ptype> <name>attribute</name></param>
1216             <param><ptype>EGLint</ptype> <name>value</name></param>
1217         </command>
1218         <command>
1219             <proto><ptype>EGLBoolean</ptype> <name>eglStreamConsumerAcquireKHR</name></proto>
1220             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1221             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
1222         </command>
1223         <command>
1224             <proto><ptype>EGLBoolean</ptype> <name>eglStreamConsumerGLTextureExternalKHR</name></proto>
1225             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1226             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
1227         </command>
1228         <command>
1229             <proto><ptype>EGLBoolean</ptype> <name>eglStreamConsumerOutputEXT</name></proto>
1230             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1231             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
1232             <param><ptype>EGLOutputLayerEXT</ptype> <name>layer</name></param>
1233         </command>
1234         <command>
1235             <proto><ptype>EGLBoolean</ptype> <name>eglStreamConsumerReleaseKHR</name></proto>
1236             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1237             <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
1238         </command>
1239         <command>
1240             <proto><ptype>EGLBoolean</ptype> <name>eglSurfaceAttrib</name></proto>
1241             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1242             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1243             <param><ptype>EGLint</ptype> <name>attribute</name></param>
1244             <param><ptype>EGLint</ptype> <name>value</name></param>
1245         </command>
1246         <command>
1247             <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffers</name></proto>
1248             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1249             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1250         </command>
1251         <command>
1252             <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersWithDamageEXT</name></proto>
1253             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1254             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1255             <param><ptype>EGLint</ptype> *<name>rects</name></param>
1256             <param><ptype>EGLint</ptype> <name>n_rects</name></param>
1257         </command>
1258         <command>
1259             <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersRegionNOK</name></proto>
1260             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1261             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1262             <param><ptype>EGLint</ptype> <name>numRects</name></param>
1263             <param>const <ptype>EGLint</ptype> *<name>rects</name></param>
1264         </command>
1265         <command>
1266             <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersRegion2NOK</name></proto>
1267             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1268             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1269             <param><ptype>EGLint</ptype> <name>numRects</name></param>
1270             <param>const <ptype>EGLint</ptype> *<name>rects</name></param>
1271         </command>
1272         <command>
1273             <proto><ptype>EGLBoolean</ptype> <name>eglSwapInterval</name></proto>
1274             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1275             <param><ptype>EGLint</ptype> <name>interval</name></param>
1276         </command>
1277         <command>
1278             <proto><ptype>EGLBoolean</ptype> <name>eglTerminate</name></proto>
1279             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1280         </command>
1281         <command>
1282             <proto><ptype>EGLBoolean</ptype> <name>eglUnlockSurfaceKHR</name></proto>
1283             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1284             <param><ptype>EGLSurface</ptype> <name>surface</name></param>
1285         </command>
1286         <command>
1287             <proto><ptype>EGLBoolean</ptype> <name>eglWaitClient</name></proto>
1288         </command>
1289         <command>
1290             <proto><ptype>EGLBoolean</ptype> <name>eglWaitGL</name></proto>
1291         </command>
1292         <command>
1293             <proto><ptype>EGLBoolean</ptype> <name>eglWaitNative</name></proto>
1294             <param><ptype>EGLint</ptype> <name>engine</name></param>
1295         </command>
1296         <command>
1297             <proto><ptype>EGLBoolean</ptype> <name>eglWaitSync</name></proto>
1298             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1299             <param><ptype>EGLSync</ptype> <name>sync</name></param>
1300             <param><ptype>EGLint</ptype> <name>flags</name></param>
1301         </command>
1302         <command>
1303             <proto><ptype>EGLint</ptype> <name>eglWaitSyncKHR</name></proto>
1304             <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
1305             <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param>
1306             <param><ptype>EGLint</ptype> <name>flags</name></param>
1307         </command>
1308     </commands>
1309
1310     <!-- SECTION: EGL API interface definitions. -->
1311     <feature api="egl" name="EGL_VERSION_1_0" number="1.0">
1312         <require>
1313             <enum name="EGL_ALPHA_SIZE"/>
1314             <enum name="EGL_BAD_ACCESS"/>
1315             <enum name="EGL_BAD_ALLOC"/>
1316             <enum name="EGL_BAD_ATTRIBUTE"/>
1317             <enum name="EGL_BAD_CONFIG"/>
1318             <enum name="EGL_BAD_CONTEXT"/>
1319             <enum name="EGL_BAD_CURRENT_SURFACE"/>
1320             <enum name="EGL_BAD_DISPLAY"/>
1321             <enum name="EGL_BAD_MATCH"/>
1322             <enum name="EGL_BAD_NATIVE_PIXMAP"/>
1323             <enum name="EGL_BAD_NATIVE_WINDOW"/>
1324             <enum name="EGL_BAD_PARAMETER"/>
1325             <enum name="EGL_BAD_SURFACE"/>
1326             <enum name="EGL_BLUE_SIZE"/>
1327             <enum name="EGL_BUFFER_SIZE"/>
1328             <enum name="EGL_CONFIG_CAVEAT"/>
1329             <enum name="EGL_CONFIG_ID"/>
1330             <enum name="EGL_CORE_NATIVE_ENGINE"/>
1331             <enum name="EGL_DEPTH_SIZE"/>
1332             <enum name="EGL_DONT_CARE"/>
1333             <enum name="EGL_DRAW"/>
1334             <enum name="EGL_EXTENSIONS"/>
1335             <enum name="EGL_FALSE"/>
1336             <enum name="EGL_GREEN_SIZE"/>
1337             <enum name="EGL_HEIGHT"/>
1338             <enum name="EGL_LARGEST_PBUFFER"/>
1339             <enum name="EGL_LEVEL"/>
1340             <enum name="EGL_MAX_PBUFFER_HEIGHT"/>
1341             <enum name="EGL_MAX_PBUFFER_PIXELS"/>
1342             <enum name="EGL_MAX_PBUFFER_WIDTH"/>
1343             <enum name="EGL_NATIVE_RENDERABLE"/>
1344             <enum name="EGL_NATIVE_VISUAL_ID"/>
1345             <enum name="EGL_NATIVE_VISUAL_TYPE"/>
1346             <enum name="EGL_NONE"/>
1347             <enum name="EGL_NON_CONFORMANT_CONFIG"/>
1348             <enum name="EGL_NOT_INITIALIZED"/>
1349             <enum name="EGL_NO_CONTEXT"/>
1350             <enum name="EGL_NO_DISPLAY"/>
1351             <enum name="EGL_NO_SURFACE"/>
1352             <enum name="EGL_PBUFFER_BIT"/>
1353             <enum name="EGL_PIXMAP_BIT"/>
1354             <enum name="EGL_READ"/>
1355             <enum name="EGL_RED_SIZE"/>
1356             <enum name="EGL_SAMPLES"/>
1357             <enum name="EGL_SAMPLE_BUFFERS"/>
1358             <enum name="EGL_SLOW_CONFIG"/>
1359             <enum name="EGL_STENCIL_SIZE"/>
1360             <enum name="EGL_SUCCESS"/>
1361             <enum name="EGL_SURFACE_TYPE"/>
1362             <enum name="EGL_TRANSPARENT_BLUE_VALUE"/>
1363             <enum name="EGL_TRANSPARENT_GREEN_VALUE"/>
1364             <enum name="EGL_TRANSPARENT_RED_VALUE"/>
1365             <enum name="EGL_TRANSPARENT_RGB"/>
1366             <enum name="EGL_TRANSPARENT_TYPE"/>
1367             <enum name="EGL_TRUE"/>
1368             <enum name="EGL_VENDOR"/>
1369             <enum name="EGL_VERSION"/>
1370             <enum name="EGL_WIDTH"/>
1371             <enum name="EGL_WINDOW_BIT"/>
1372             <command name="eglChooseConfig"/>
1373             <command name="eglCopyBuffers"/>
1374             <command name="eglCreateContext"/>
1375             <command name="eglCreatePbufferSurface"/>
1376             <command name="eglCreatePixmapSurface"/>
1377             <command name="eglCreateWindowSurface"/>
1378             <command name="eglDestroyContext"/>
1379             <command name="eglDestroySurface"/>
1380             <command name="eglGetConfigAttrib"/>
1381             <command name="eglGetConfigs"/>
1382             <command name="eglGetCurrentDisplay"/>
1383             <command name="eglGetCurrentSurface"/>
1384             <command name="eglGetDisplay"/>
1385             <command name="eglGetError"/>
1386             <command name="eglGetProcAddress"/>
1387             <command name="eglInitialize"/>
1388             <command name="eglMakeCurrent"/>
1389             <command name="eglQueryContext"/>
1390             <command name="eglQueryString"/>
1391             <command name="eglQuerySurface"/>
1392             <command name="eglSwapBuffers"/>
1393             <command name="eglTerminate"/>
1394             <command name="eglWaitGL"/>
1395             <command name="eglWaitNative"/>
1396         </require>
1397     </feature>
1398     <feature api="egl" name="EGL_VERSION_1_1" number="1.1">
1399         <require>
1400             <enum name="EGL_BACK_BUFFER"/>
1401             <enum name="EGL_BIND_TO_TEXTURE_RGB"/>
1402             <enum name="EGL_BIND_TO_TEXTURE_RGBA"/>
1403             <enum name="EGL_CONTEXT_LOST"/>
1404             <enum name="EGL_MIN_SWAP_INTERVAL"/>
1405             <enum name="EGL_MAX_SWAP_INTERVAL"/>
1406             <enum name="EGL_MIPMAP_TEXTURE"/>
1407             <enum name="EGL_MIPMAP_LEVEL"/>
1408             <enum name="EGL_NO_TEXTURE"/>
1409             <enum name="EGL_TEXTURE_2D"/>
1410             <enum name="EGL_TEXTURE_FORMAT"/>
1411             <enum name="EGL_TEXTURE_RGB"/>
1412             <enum name="EGL_TEXTURE_RGBA"/>
1413             <enum name="EGL_TEXTURE_TARGET"/>
1414             <command name="eglBindTexImage"/>
1415             <command name="eglReleaseTexImage"/>
1416             <command name="eglSurfaceAttrib"/>
1417             <command name="eglSwapInterval"/>
1418         </require>
1419     </feature>
1420     <feature api="egl" name="EGL_VERSION_1_2" number="1.2">
1421         <require>
1422             <enum name="EGL_ALPHA_FORMAT"/>
1423             <enum name="EGL_ALPHA_FORMAT_NONPRE"/>
1424             <enum name="EGL_ALPHA_FORMAT_PRE"/>
1425             <enum name="EGL_ALPHA_MASK_SIZE"/>
1426             <enum name="EGL_BUFFER_PRESERVED"/>
1427             <enum name="EGL_BUFFER_DESTROYED"/>
1428             <enum name="EGL_CLIENT_APIS"/>
1429             <enum name="EGL_COLORSPACE"/>
1430             <enum name="EGL_COLORSPACE_sRGB"/>
1431             <enum name="EGL_COLORSPACE_LINEAR"/>
1432             <enum name="EGL_COLOR_BUFFER_TYPE"/>
1433             <enum name="EGL_CONTEXT_CLIENT_TYPE"/>
1434             <enum name="EGL_DISPLAY_SCALING"/>
1435             <enum name="EGL_HORIZONTAL_RESOLUTION"/>
1436             <enum name="EGL_LUMINANCE_BUFFER"/>
1437             <enum name="EGL_LUMINANCE_SIZE"/>
1438             <enum name="EGL_OPENGL_ES_BIT"/>
1439             <enum name="EGL_OPENVG_BIT"/>
1440             <enum name="EGL_OPENGL_ES_API"/>
1441             <enum name="EGL_OPENVG_API"/>
1442             <enum name="EGL_OPENVG_IMAGE"/>
1443             <enum name="EGL_PIXEL_ASPECT_RATIO"/>
1444             <enum name="EGL_RENDERABLE_TYPE"/>
1445             <enum name="EGL_RENDER_BUFFER"/>
1446             <enum name="EGL_RGB_BUFFER"/>
1447             <enum name="EGL_SINGLE_BUFFER"/>
1448             <enum name="EGL_SWAP_BEHAVIOR"/>
1449             <enum name="EGL_UNKNOWN"/>
1450             <enum name="EGL_VERTICAL_RESOLUTION"/>
1451             <command name="eglBindAPI"/>
1452             <command name="eglQueryAPI"/>
1453             <command name="eglCreatePbufferFromClientBuffer"/>
1454             <command name="eglReleaseThread"/>
1455             <command name="eglWaitClient"/>
1456         </require>
1457     </feature>
1458     <feature api="egl" name="EGL_VERSION_1_3" number="1.3">
1459         <require>
1460             <enum name="EGL_CONFORMANT"/>
1461             <enum name="EGL_CONTEXT_CLIENT_VERSION"/>
1462             <enum name="EGL_MATCH_NATIVE_PIXMAP"/>
1463             <enum name="EGL_OPENGL_ES2_BIT"/>
1464             <enum name="EGL_VG_ALPHA_FORMAT"/>
1465             <enum name="EGL_VG_ALPHA_FORMAT_NONPRE"/>
1466             <enum name="EGL_VG_ALPHA_FORMAT_PRE"/>
1467             <enum name="EGL_VG_ALPHA_FORMAT_PRE_BIT"/>
1468             <enum name="EGL_VG_COLORSPACE"/>
1469             <enum name="EGL_VG_COLORSPACE_sRGB"/>
1470             <enum name="EGL_VG_COLORSPACE_LINEAR"/>
1471             <enum name="EGL_VG_COLORSPACE_LINEAR_BIT"/>
1472         </require>
1473     </feature>
1474     <feature api="egl" name="EGL_VERSION_1_4" number="1.4">
1475         <require>
1476             <enum name="EGL_DEFAULT_DISPLAY"/>
1477             <enum name="EGL_MULTISAMPLE_RESOLVE_BOX_BIT"/>
1478             <enum name="EGL_MULTISAMPLE_RESOLVE"/>
1479             <enum name="EGL_MULTISAMPLE_RESOLVE_DEFAULT"/>
1480             <enum name="EGL_MULTISAMPLE_RESOLVE_BOX"/>
1481             <enum name="EGL_OPENGL_API"/>
1482             <enum name="EGL_OPENGL_BIT"/>
1483             <enum name="EGL_SWAP_BEHAVIOR_PRESERVED_BIT"/>
1484             <command name="eglGetCurrentContext"/>
1485         </require>
1486     </feature>
1487     <feature api="egl" name="EGL_VERSION_1_5" number="1.5">
1488         <require comment="EGL_KHR_create_context features">
1489             <enum name="EGL_CONTEXT_MAJOR_VERSION"/>
1490             <enum name="EGL_CONTEXT_MINOR_VERSION"/>
1491             <enum name="EGL_CONTEXT_OPENGL_PROFILE_MASK"/>
1492             <enum name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY"/>
1493             <enum name="EGL_NO_RESET_NOTIFICATION"/>
1494             <enum name="EGL_LOSE_CONTEXT_ON_RESET"/>
1495             <enum name="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT"/>
1496             <enum name="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT"/>
1497             <enum name="EGL_CONTEXT_OPENGL_DEBUG"/>
1498             <enum name="EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE"/>
1499             <enum name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS"/>
1500             <enum name="EGL_OPENGL_ES3_BIT"/>
1501         </require>
1502         <require comment="EGL_EXT_create_context_robustness">
1503             <enum name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS"/>
1504             <enum name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY"/>
1505         </require>
1506         <require comment="EGL_EXT_client_extensions"/>
1507         <require comment="EGL_KHR_cl_event2">
1508             <enum name="EGL_CL_EVENT_HANDLE"/>
1509             <enum name="EGL_SYNC_CL_EVENT"/>
1510             <enum name="EGL_SYNC_CL_EVENT_COMPLETE"/>
1511         </require>
1512         <require comment="EGL_KHR_fence_sync">
1513             <enum name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE"/>
1514             <enum name="EGL_SYNC_TYPE"/>
1515             <enum name="EGL_SYNC_STATUS"/>
1516             <enum name="EGL_SYNC_CONDITION"/>
1517             <enum name="EGL_SIGNALED"/>
1518             <enum name="EGL_UNSIGNALED"/>
1519             <enum name="EGL_SYNC_FLUSH_COMMANDS_BIT"/>
1520             <enum name="EGL_FOREVER"/>
1521             <enum name="EGL_TIMEOUT_EXPIRED"/>
1522             <enum name="EGL_CONDITION_SATISFIED"/>
1523             <enum name="EGL_NO_SYNC"/>
1524             <enum name="EGL_SYNC_FENCE"/>
1525             <command name="eglCreateSync"/>
1526             <command name="eglDestroySync"/>
1527             <command name="eglClientWaitSync"/>
1528             <command name="eglGetSyncAttrib"/>
1529         </require>
1530         <require comment="EGL_KHR_get_all_proc_addresses"/>
1531         <require comment="EGL_KHR_client_get_all_proc_addresses"/>
1532         <require comment="EGL_KHR_gl_colorspace">
1533             <enum name="EGL_GL_COLORSPACE"/>
1534             <enum name="EGL_GL_COLORSPACE_SRGB"/>
1535             <enum name="EGL_GL_COLORSPACE_LINEAR"/>
1536         </require>
1537         <require comment="EGL_KHR_gl_renderbuffer_image">
1538             <enum name="EGL_GL_RENDERBUFFER"/>
1539         </require>
1540         <require comment="EGL_KHR_gl_texture_2D_image">
1541             <enum name="EGL_GL_TEXTURE_2D"/>
1542             <enum name="EGL_GL_TEXTURE_LEVEL"/>
1543         </require>
1544         <require comment="EGL_KHR_gl_texture_3D_image">
1545             <enum name="EGL_GL_TEXTURE_3D"/>
1546             <enum name="EGL_GL_TEXTURE_ZOFFSET"/>
1547         </require>
1548         <require comment="EGL_KHR_gl_texture_cubemap_image">
1549             <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
1550             <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
1551             <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
1552             <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
1553             <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
1554             <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
1555         </require>
1556         <require comment="EGL_KHR_image_base">
1557             <enum name="EGL_IMAGE_PRESERVED"/>
1558             <enum name="EGL_NO_IMAGE"/>
1559             <command name="eglCreateImage"/>
1560             <command name="eglDestroyImage"/>
1561         </require>
1562         <require comment="EGL_EXT_platform_base">
1563             <command name="eglGetPlatformDisplay"/>
1564             <command name="eglCreatePlatformWindowSurface"/>
1565             <command name="eglCreatePlatformPixmapSurface"/>
1566         </require>
1567         <require comment="EGL_KHR_surfaceless_context - just relaxes an error condition"/>
1568         <require comment="EGL_KHR_wait_sync">
1569             <command name="eglWaitSync"/>
1570         </require>
1571     </feature>
1572
1573     <!-- SECTION: EGL extension interface definitions -->
1574     <extensions>
1575         <extension name="EGL_ANDROID_blob_cache" supported="egl">
1576             <require>
1577                 <command name="eglSetBlobCacheFuncsANDROID"/>
1578             </require>
1579         </extension>
1580         <extension name="EGL_ANDROID_framebuffer_target" supported="egl">
1581             <require>
1582                 <enum name="EGL_FRAMEBUFFER_TARGET_ANDROID"/>
1583             </require>
1584         </extension>
1585         <extension name="EGL_ANDROID_image_native_buffer" supported="egl">
1586             <require>
1587                 <enum name="EGL_NATIVE_BUFFER_ANDROID"/>
1588             </require>
1589         </extension>
1590         <extension name="EGL_ANDROID_native_fence_sync" supported="egl">
1591             <require>
1592                 <enum name="EGL_SYNC_NATIVE_FENCE_ANDROID"/>
1593                 <enum name="EGL_SYNC_NATIVE_FENCE_FD_ANDROID"/>
1594                 <enum name="EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID"/>
1595                 <enum name="EGL_NO_NATIVE_FENCE_FD_ANDROID"/>
1596                 <command name="eglDupNativeFenceFDANDROID"/>
1597             </require>
1598         </extension>
1599         <extension name="EGL_ANDROID_recordable" supported="egl">
1600             <require>
1601                 <enum name="EGL_RECORDABLE_ANDROID"/>
1602             </require>
1603         </extension>
1604         <extension name="EGL_ANGLE_d3d_share_handle_client_buffer" supported="egl">
1605             <require>
1606                 <enum name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/>
1607             </require>
1608         </extension>
1609         <extension name="EGL_ANGLE_query_surface_pointer" supported="egl">
1610             <require>
1611                 <command name="eglQuerySurfacePointerANGLE"/>
1612             </require>
1613         </extension>
1614         <extension name="EGL_ANGLE_surface_d3d_texture_2d_share_handle" supported="egl">
1615             <require>
1616                 <enum name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/>
1617             </require>
1618         </extension>
1619         <extension name="EGL_ARM_pixmap_multisample_discard" supported="egl">
1620             <require>
1621                 <enum name="EGL_DISCARD_SAMPLES_ARM"/>
1622             </require>
1623         </extension>
1624         <extension name="EGL_EXT_buffer_age" supported="egl">
1625             <require>
1626                 <enum name="EGL_BUFFER_AGE_EXT"/>
1627             </require>
1628         </extension>
1629         <extension name="EGL_EXT_client_extensions" supported="egl"/>
1630         <extension name="EGL_EXT_create_context_robustness" supported="egl">
1631             <require>
1632                 <enum name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT"/>
1633                 <enum name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT"/>
1634                 <enum name="EGL_NO_RESET_NOTIFICATION_EXT"/>
1635                 <enum name="EGL_LOSE_CONTEXT_ON_RESET_EXT"/>
1636             </require>
1637         </extension>
1638         <extension name="EGL_EXT_device_base" supported="egl">
1639             <require>
1640                 <enum name="EGL_NO_DEVICE_EXT"/>
1641                 <enum name="EGL_BAD_DEVICE_EXT"/>
1642                 <enum name="EGL_DEVICE_EXT"/>
1643                 <command name="eglQueryDeviceAttribEXT"/>
1644                 <command name="eglQueryDeviceStringEXT"/>
1645                 <command name="eglQueryDevicesEXT"/>
1646                 <command name="eglQueryDisplayAttribEXT"/>
1647             </require>
1648         </extension>
1649         <extension name="EGL_EXT_device_drm" supported="egl">
1650             <require>
1651                 <enum name="EGL_DRM_DEVICE_FILE_EXT"/>
1652             </require>
1653         </extension>
1654         <extension name="EGL_EXT_device_openwf" supported="egl">
1655             <require>
1656                 <enum name="EGL_OPENWF_DEVICE_ID_EXT"/>
1657             </require>
1658         </extension>
1659         <extension name="EGL_EXT_image_dma_buf_import" supported="egl">
1660             <require>
1661                 <enum name="EGL_LINUX_DMA_BUF_EXT"/>
1662                 <enum name="EGL_LINUX_DRM_FOURCC_EXT"/>
1663                 <enum name="EGL_DMA_BUF_PLANE0_FD_EXT"/>
1664                 <enum name="EGL_DMA_BUF_PLANE0_OFFSET_EXT"/>
1665                 <enum name="EGL_DMA_BUF_PLANE0_PITCH_EXT"/>
1666                 <enum name="EGL_DMA_BUF_PLANE1_FD_EXT"/>
1667                 <enum name="EGL_DMA_BUF_PLANE1_OFFSET_EXT"/>
1668                 <enum name="EGL_DMA_BUF_PLANE1_PITCH_EXT"/>
1669                 <enum name="EGL_DMA_BUF_PLANE2_FD_EXT"/>
1670                 <enum name="EGL_DMA_BUF_PLANE2_OFFSET_EXT"/>
1671                 <enum name="EGL_DMA_BUF_PLANE2_PITCH_EXT"/>
1672                 <enum name="EGL_YUV_COLOR_SPACE_HINT_EXT"/>
1673                 <enum name="EGL_SAMPLE_RANGE_HINT_EXT"/>
1674                 <enum name="EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT"/>
1675                 <enum name="EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT"/>
1676                 <enum name="EGL_ITU_REC601_EXT"/>
1677                 <enum name="EGL_ITU_REC709_EXT"/>
1678                 <enum name="EGL_ITU_REC2020_EXT"/>
1679                 <enum name="EGL_YUV_FULL_RANGE_EXT"/>
1680                 <enum name="EGL_YUV_NARROW_RANGE_EXT"/>
1681                 <enum name="EGL_YUV_CHROMA_SITING_0_EXT"/>
1682                 <enum name="EGL_YUV_CHROMA_SITING_0_5_EXT"/>
1683             </require>
1684         </extension>
1685         <extension name="EGL_EXT_multiview_window" supported="egl">
1686             <require>
1687                 <enum name="EGL_MULTIVIEW_VIEW_COUNT_EXT"/>
1688             </require>
1689         </extension>
1690         <extension name="EGL_EXT_output_base" supported="egl">
1691             <require>
1692                 <type name="EGLOutputLayerEXT"/>
1693                 <type name="EGLOutputPortEXT"/>
1694                 <enum name="EGL_NO_OUTPUT_LAYER_EXT"/>
1695                 <enum name="EGL_NO_OUTPUT_PORT_EXT"/>
1696                 <enum name="EGL_BAD_OUTPUT_LAYER_EXT"/>
1697                 <enum name="EGL_BAD_OUTPUT_PORT_EXT"/>
1698                 <enum name="EGL_SWAP_INTERVAL_EXT"/>
1699                 <command name="eglGetOutputLayersEXT"/>
1700                 <command name="eglGetOutputPortsEXT"/>
1701                 <command name="eglOutputLayerAttribEXT"/>
1702                 <command name="eglQueryOutputLayerAttribEXT"/>
1703                 <command name="eglQueryOutputLayerStringEXT"/>
1704                 <command name="eglOutputPortAttribEXT"/>
1705                 <command name="eglQueryOutputPortAttribEXT"/>
1706                 <command name="eglQueryOutputPortStringEXT"/>
1707             </require>
1708         </extension>
1709         <extension name="EGL_EXT_output_drm" supported="egl">
1710             <require>
1711                 <enum name="EGL_DRM_CRTC_EXT"/>
1712                 <enum name="EGL_DRM_PLANE_EXT"/>
1713                 <enum name="EGL_DRM_CONNECTOR_EXT"/>
1714             </require>
1715         </extension>
1716         <extension name="EGL_EXT_output_openwf" supported="egl">
1717             <require>
1718                 <enum name="EGL_OPENWF_PIPELINE_ID_EXT"/>
1719                 <enum name="EGL_OPENWF_PORT_ID_EXT"/>
1720             </require>
1721         </extension>
1722         <extension name="EGL_EXT_platform_base" supported="egl">
1723             <require>
1724                 <command name="eglGetPlatformDisplayEXT"/>
1725                 <command name="eglCreatePlatformWindowSurfaceEXT"/>
1726                 <command name="eglCreatePlatformPixmapSurfaceEXT"/>
1727             </require>
1728         </extension>
1729         <extension name="EGL_EXT_platform_device" supported="egl">
1730             <require>
1731                 <enum name="EGL_PLATFORM_DEVICE_EXT"/>
1732             </require>
1733         </extension>
1734         <extension name="EGL_EXT_platform_wayland" supported="egl">
1735             <require>
1736                 <enum name="EGL_PLATFORM_WAYLAND_EXT"/>
1737             </require>
1738         </extension>
1739         <extension name="EGL_EXT_platform_x11" supported="egl">
1740             <require>
1741                 <enum name="EGL_PLATFORM_X11_EXT"/>
1742                 <enum name="EGL_PLATFORM_X11_SCREEN_EXT"/>
1743             </require>
1744         </extension>
1745         <extension name="EGL_EXT_protected_surface" supported="egl">
1746             <require>
1747                 <enum name="EGL_PROTECTED_CONTENT_EXT"/>
1748             </require>
1749         </extension>
1750         <extension name="EGL_EXT_stream_consumer_egloutput" supported="egl">
1751             <require>
1752                 <command name="eglStreamConsumerOutputEXT"/>
1753             </require>
1754         </extension>
1755         <extension name="EGL_EXT_swap_buffers_with_damage" supported="egl">
1756             <require>
1757                 <command name="eglSwapBuffersWithDamageEXT"/>
1758             </require>
1759         </extension>
1760         <extension name="EGL_HI_clientpixmap" supported="egl">
1761             <require>
1762                 <enum name="EGL_CLIENT_PIXMAP_POINTER_HI"/>
1763                 <command name="eglCreatePixmapSurfaceHI"/>
1764             </require>
1765         </extension>
1766         <extension name="EGL_HI_colorformats" supported="egl">
1767             <require>
1768                 <enum name="EGL_COLOR_FORMAT_HI"/>
1769                 <enum name="EGL_COLOR_RGB_HI"/>
1770                 <enum name="EGL_COLOR_RGBA_HI"/>
1771                 <enum name="EGL_COLOR_ARGB_HI"/>
1772             </require>
1773         </extension>
1774         <extension name="EGL_IMG_context_priority" supported="egl">
1775             <require>
1776                 <enum name="EGL_CONTEXT_PRIORITY_LEVEL_IMG"/>
1777                 <enum name="EGL_CONTEXT_PRIORITY_HIGH_IMG"/>
1778                 <enum name="EGL_CONTEXT_PRIORITY_MEDIUM_IMG"/>
1779                 <enum name="EGL_CONTEXT_PRIORITY_LOW_IMG"/>
1780             </require>
1781         </extension>
1782         <extension name="EGL_KHR_cl_event" supported="egl">
1783             <require>
1784                 <enum name="EGL_CL_EVENT_HANDLE_KHR"/>
1785                 <enum name="EGL_SYNC_CL_EVENT_KHR"/>
1786                 <enum name="EGL_SYNC_CL_EVENT_COMPLETE_KHR"/>
1787             </require>
1788         </extension>
1789         <extension name="EGL_KHR_cl_event2" supported="egl">
1790             <require>
1791                 <enum name="EGL_CL_EVENT_HANDLE_KHR"/>
1792                 <enum name="EGL_SYNC_CL_EVENT_KHR"/>
1793                 <enum name="EGL_SYNC_CL_EVENT_COMPLETE_KHR"/>
1794                 <command name="eglCreateSync64KHR"/>
1795             </require>
1796         </extension>
1797         <extension name="EGL_KHR_config_attribs" supported="egl">
1798             <require>
1799                 <enum name="EGL_CONFORMANT_KHR"/>
1800                 <enum name="EGL_VG_COLORSPACE_LINEAR_BIT_KHR"/>
1801                 <enum name="EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR"/>
1802             </require>
1803         </extension>
1804         <extension name="EGL_KHR_client_get_all_proc_addresses" supported="egl" comment="Alias of EGL_KHR_get_all_proc_addresses"/>
1805         <extension name="EGL_KHR_create_context" supported="egl">
1806             <require>
1807                 <enum name="EGL_CONTEXT_MAJOR_VERSION_KHR"/>
1808                 <enum name="EGL_CONTEXT_MINOR_VERSION_KHR"/>
1809                 <enum name="EGL_CONTEXT_FLAGS_KHR"/>
1810                 <enum name="EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR"/>
1811                 <enum name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR"/>
1812                 <enum name="EGL_NO_RESET_NOTIFICATION_KHR"/>
1813                 <enum name="EGL_LOSE_CONTEXT_ON_RESET_KHR"/>
1814                 <enum name="EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR"/>
1815                 <enum name="EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR"/>
1816                 <enum name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR"/>
1817                 <enum name="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR"/>
1818                 <enum name="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR"/>
1819                 <enum name="EGL_OPENGL_ES3_BIT"/>
1820                 <enum name="EGL_OPENGL_ES3_BIT_KHR"/>
1821             </require>
1822         </extension>
1823         <extension name="EGL_KHR_fence_sync" protect="KHRONOS_SUPPORT_INT64" supported="egl">
1824             <require>
1825                 <!-- @ Most interfaces defined by EGL_KHR_reusable sync -->
1826                 <enum name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR"/>
1827                 <enum name="EGL_SYNC_CONDITION_KHR"/>
1828                 <enum name="EGL_SYNC_FENCE_KHR"/>
1829             </require>
1830         </extension>
1831         <extension name="EGL_KHR_get_all_proc_addresses" supported="egl"/>
1832         <extension name="EGL_KHR_gl_colorspace" supported="egl">
1833             <require>
1834                 <enum name="EGL_GL_COLORSPACE_KHR"/>
1835                 <enum name="EGL_GL_COLORSPACE_SRGB_KHR"/>
1836                 <enum name="EGL_GL_COLORSPACE_LINEAR_KHR"/>
1837             </require>
1838         </extension>
1839         <extension name="EGL_KHR_gl_renderbuffer_image" supported="egl">
1840             <require>
1841                 <enum name="EGL_GL_RENDERBUFFER_KHR"/>
1842             </require>
1843         </extension>
1844         <extension name="EGL_KHR_gl_texture_2D_image" supported="egl">
1845             <require>
1846                 <enum name="EGL_GL_TEXTURE_2D_KHR"/>
1847                 <enum name="EGL_GL_TEXTURE_LEVEL_KHR"/>
1848             </require>
1849         </extension>
1850         <extension name="EGL_KHR_gl_texture_3D_image" supported="egl">
1851             <require>
1852                 <enum name="EGL_GL_TEXTURE_3D_KHR"/>
1853                 <enum name="EGL_GL_TEXTURE_ZOFFSET_KHR"/>
1854             </require>
1855         </extension>
1856         <extension name="EGL_KHR_gl_texture_cubemap_image" supported="egl">
1857             <require>
1858                 <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR"/>
1859                 <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR"/>
1860                 <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR"/>
1861                 <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR"/>
1862                 <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR"/>
1863                 <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR"/>
1864             </require>
1865         </extension>
1866         <extension name="EGL_KHR_image" supported="egl">
1867             <require>
1868                 <enum name="EGL_NATIVE_PIXMAP_KHR"/>
1869                 <enum name="EGL_NO_IMAGE_KHR"/>
1870                 <command name="eglCreateImageKHR"/>
1871                 <command name="eglDestroyImageKHR"/>
1872             </require>
1873         </extension>
1874         <extension name="EGL_KHR_image_base" supported="egl">
1875             <require>
1876                 <enum name="EGL_IMAGE_PRESERVED_KHR"/>
1877                 <enum name="EGL_NO_IMAGE_KHR"/>
1878                 <command name="eglCreateImageKHR"/>
1879                 <command name="eglDestroyImageKHR"/>
1880             </require>
1881         </extension>
1882         <extension name="EGL_KHR_image_pixmap" supported="egl">
1883             <require>
1884                 <enum name="EGL_NATIVE_PIXMAP_KHR"/>
1885             </require>
1886         </extension>
1887         <extension name="EGL_KHR_lock_surface" supported="egl">
1888             <require>
1889                 <enum name="EGL_READ_SURFACE_BIT_KHR"/>
1890                 <enum name="EGL_WRITE_SURFACE_BIT_KHR"/>
1891                 <enum name="EGL_LOCK_SURFACE_BIT_KHR"/>
1892                 <enum name="EGL_OPTIMAL_FORMAT_BIT_KHR"/>
1893                 <enum name="EGL_MATCH_FORMAT_KHR"/>
1894                 <enum name="EGL_FORMAT_RGB_565_EXACT_KHR"/>
1895                 <enum name="EGL_FORMAT_RGB_565_KHR"/>
1896                 <enum name="EGL_FORMAT_RGBA_8888_EXACT_KHR"/>
1897                 <enum name="EGL_FORMAT_RGBA_8888_KHR"/>
1898                 <enum name="EGL_MAP_PRESERVE_PIXELS_KHR"/>
1899                 <enum name="EGL_LOCK_USAGE_HINT_KHR"/>
1900                 <enum name="EGL_BITMAP_POINTER_KHR"/>
1901                 <enum name="EGL_BITMAP_PITCH_KHR"/>
1902                 <enum name="EGL_BITMAP_ORIGIN_KHR"/>
1903                 <enum name="EGL_BITMAP_PIXEL_RED_OFFSET_KHR"/>
1904                 <enum name="EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR"/>
1905                 <enum name="EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR"/>
1906                 <enum name="EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR"/>
1907                 <enum name="EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR"/>
1908                 <enum name="EGL_LOWER_LEFT_KHR"/>
1909                 <enum name="EGL_UPPER_LEFT_KHR"/>
1910                 <command name="eglLockSurfaceKHR"/>
1911                 <command name="eglUnlockSurfaceKHR"/>
1912             </require>
1913         </extension>
1914         <extension name="EGL_KHR_lock_surface2" supported="egl">
1915             <require>
1916                 <enum name="EGL_BITMAP_PIXEL_SIZE_KHR"/>
1917             </require>
1918         </extension>
1919         <extension name="EGL_KHR_lock_surface3" supported="egl">
1920             <require>
1921                 <enum name="EGL_READ_SURFACE_BIT_KHR"/>
1922                 <enum name="EGL_WRITE_SURFACE_BIT_KHR"/>
1923                 <enum name="EGL_LOCK_SURFACE_BIT_KHR"/>
1924                 <enum name="EGL_OPTIMAL_FORMAT_BIT_KHR"/>
1925                 <enum name="EGL_MATCH_FORMAT_KHR"/>
1926                 <enum name="EGL_FORMAT_RGB_565_EXACT_KHR"/>
1927                 <enum name="EGL_FORMAT_RGB_565_KHR"/>
1928                 <enum name="EGL_FORMAT_RGBA_8888_EXACT_KHR"/>
1929                 <enum name="EGL_FORMAT_RGBA_8888_KHR"/>
1930                 <enum name="EGL_MAP_PRESERVE_PIXELS_KHR"/>
1931                 <enum name="EGL_LOCK_USAGE_HINT_KHR"/>
1932                 <enum name="EGL_BITMAP_PITCH_KHR"/>
1933                 <enum name="EGL_BITMAP_ORIGIN_KHR"/>
1934                 <enum name="EGL_BITMAP_PIXEL_RED_OFFSET_KHR"/>
1935                 <enum name="EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR"/>
1936                 <enum name="EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR"/>
1937                 <enum name="EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR"/>
1938                 <enum name="EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR"/>
1939                 <enum name="EGL_BITMAP_PIXEL_SIZE_KHR"/>
1940                 <enum name="EGL_BITMAP_POINTER_KHR"/>
1941                 <enum name="EGL_LOWER_LEFT_KHR"/>
1942                 <enum name="EGL_UPPER_LEFT_KHR"/>
1943                 <command name="eglLockSurfaceKHR"/>
1944                 <command name="eglUnlockSurfaceKHR"/>
1945                 <command name="eglQuerySurface64KHR"/>
1946             </require>
1947         </extension>
1948         <extension name="EGL_KHR_platform_android" supported="egl">
1949             <require>
1950                 <enum name="EGL_PLATFORM_ANDROID_KHR"/>
1951             </require>
1952         </extension>
1953         <extension name="EGL_KHR_platform_gbm" supported="egl">
1954             <require>
1955                 <enum name="EGL_PLATFORM_GBM_KHR"/>
1956             </require>
1957         </extension>
1958         <extension name="EGL_KHR_platform_wayland" supported="egl">
1959             <require>
1960                 <enum name="EGL_PLATFORM_WAYLAND_KHR"/>
1961             </require>
1962         </extension>
1963         <extension name="EGL_KHR_platform_x11" supported="egl">
1964             <require>
1965                 <enum name="EGL_PLATFORM_X11_KHR"/>
1966                 <enum name="EGL_PLATFORM_X11_SCREEN_KHR"/>
1967             </require>
1968         </extension>
1969         <extension name="EGL_KHR_reusable_sync" protect="KHRONOS_SUPPORT_INT64" supported="egl">
1970             <require>
1971                 <enum name="EGL_SYNC_STATUS_KHR"/>
1972                 <enum name="EGL_SIGNALED_KHR"/>
1973                 <enum name="EGL_UNSIGNALED_KHR"/>
1974                 <enum name="EGL_TIMEOUT_EXPIRED_KHR"/>
1975                 <enum name="EGL_CONDITION_SATISFIED_KHR"/>
1976                 <enum name="EGL_SYNC_TYPE_KHR"/>
1977                 <enum name="EGL_SYNC_REUSABLE_KHR"/>
1978                 <enum name="EGL_SYNC_FLUSH_COMMANDS_BIT_KHR"/>
1979                 <enum name="EGL_FOREVER_KHR"/>
1980                 <enum name="EGL_NO_SYNC_KHR"/>
1981                 <command name="eglCreateSyncKHR"/>
1982                 <command name="eglDestroySyncKHR"/>
1983                 <command name="eglClientWaitSyncKHR"/>
1984                 <command name="eglSignalSyncKHR"/>
1985                 <command name="eglGetSyncAttribKHR"/>
1986             </require>
1987         </extension>
1988         <extension name="EGL_KHR_stream" protect="KHRONOS_SUPPORT_INT64" supported="egl">
1989             <require>
1990                 <enum name="EGL_NO_STREAM_KHR"/>
1991                 <enum name="EGL_CONSUMER_LATENCY_USEC_KHR"/>
1992                 <enum name="EGL_PRODUCER_FRAME_KHR"/>
1993                 <enum name="EGL_CONSUMER_FRAME_KHR"/>
1994                 <enum name="EGL_STREAM_STATE_KHR"/>
1995                 <enum name="EGL_STREAM_STATE_CREATED_KHR"/>
1996                 <enum name="EGL_STREAM_STATE_CONNECTING_KHR"/>
1997                 <enum name="EGL_STREAM_STATE_EMPTY_KHR"/>
1998                 <enum name="EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR"/>
1999                 <enum name="EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR"/>
2000                 <enum name="EGL_STREAM_STATE_DISCONNECTED_KHR"/>
2001                 <enum name="EGL_BAD_STREAM_KHR"/>
2002                 <enum name="EGL_BAD_STATE_KHR"/>
2003                 <command name="eglCreateStreamKHR"/>
2004                 <command name="eglDestroyStreamKHR"/>
2005                 <command name="eglStreamAttribKHR"/>
2006                 <command name="eglQueryStreamKHR"/>
2007                 <command name="eglQueryStreamu64KHR"/>
2008             </require>
2009         </extension>
2010         <extension name="EGL_KHR_stream_consumer_gltexture" protect="EGL_KHR_stream" supported="egl">
2011             <require>
2012                 <enum name="EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR"/>
2013                 <command name="eglStreamConsumerGLTextureExternalKHR"/>
2014                 <command name="eglStreamConsumerAcquireKHR"/>
2015                 <command name="eglStreamConsumerReleaseKHR"/>
2016             </require>
2017         </extension>
2018         <extension name="EGL_KHR_stream_cross_process_fd" protect="EGL_KHR_stream" supported="egl">
2019             <require>
2020                 <enum name="EGL_NO_FILE_DESCRIPTOR_KHR"/>
2021                 <command name="eglGetStreamFileDescriptorKHR"/>
2022                 <command name="eglCreateStreamFromFileDescriptorKHR"/>
2023             </require>
2024         </extension>
2025         <extension name="EGL_KHR_stream_fifo" protect="EGL_KHR_stream" supported="egl">
2026             <require>
2027                 <enum name="EGL_STREAM_FIFO_LENGTH_KHR"/>
2028                 <enum name="EGL_STREAM_TIME_NOW_KHR"/>
2029                 <enum name="EGL_STREAM_TIME_CONSUMER_KHR"/>
2030                 <enum name="EGL_STREAM_TIME_PRODUCER_KHR"/>
2031                 <command name="eglQueryStreamTimeKHR"/>
2032             </require>
2033         </extension>
2034         <extension name="EGL_KHR_stream_producer_aldatalocator" protect="EGL_KHR_stream" supported="egl"/>
2035         <extension name="EGL_KHR_stream_producer_eglsurface" protect="EGL_KHR_stream" supported="egl">
2036             <require>
2037                 <enum name="EGL_STREAM_BIT_KHR"/>
2038                 <command name="eglCreateStreamProducerSurfaceKHR"/>
2039             </require>
2040         </extension>
2041         <extension name="EGL_KHR_surfaceless_context" supported="egl" comment="Just relaxes an error condition"/>
2042         <extension name="EGL_KHR_vg_parent_image" supported="egl">
2043             <require>
2044                 <enum name="EGL_VG_PARENT_IMAGE_KHR"/>
2045             </require>
2046         </extension>
2047         <extension name="EGL_KHR_wait_sync" supported="egl">
2048             <require>
2049                 <command name="eglWaitSyncKHR"/>
2050             </require>
2051         </extension>
2052         <extension name="EGL_MESA_drm_image" supported="egl">
2053             <require>
2054                 <enum name="EGL_DRM_BUFFER_FORMAT_MESA"/>
2055                 <enum name="EGL_DRM_BUFFER_USE_MESA"/>
2056                 <enum name="EGL_DRM_BUFFER_FORMAT_ARGB32_MESA"/>
2057                 <enum name="EGL_DRM_BUFFER_MESA"/>
2058                 <enum name="EGL_DRM_BUFFER_STRIDE_MESA"/>
2059                 <enum name="EGL_DRM_BUFFER_USE_SCANOUT_MESA"/>
2060                 <enum name="EGL_DRM_BUFFER_USE_SHARE_MESA"/>
2061                 <command name="eglCreateDRMImageMESA"/>
2062                 <command name="eglExportDRMImageMESA"/>
2063             </require>
2064         </extension>
2065         <extension name="EGL_MESA_platform_gbm" supported="egl">
2066             <require>
2067                 <enum name="EGL_PLATFORM_GBM_MESA"/>
2068             </require>
2069         </extension>
2070         <extension name="EGL_NOK_swap_region" supported="egl">
2071             <require>
2072                 <command name="eglSwapBuffersRegionNOK"/>
2073             </require>
2074         </extension>
2075         <extension name="EGL_NOK_swap_region2" supported="egl">
2076             <require>
2077                 <command name="eglSwapBuffersRegion2NOK"/>
2078             </require>
2079         </extension>
2080         <extension name="EGL_NOK_texture_from_pixmap" supported="egl">
2081             <require>
2082                 <enum name="EGL_Y_INVERTED_NOK"/>
2083             </require>
2084         </extension>
2085         <extension name="EGL_NV_3dvision_surface" supported="egl">
2086             <require>
2087                 <enum name="EGL_AUTO_STEREO_NV"/>
2088             </require>
2089         </extension>
2090         <extension name="EGL_NV_coverage_sample" supported="egl">
2091             <require>
2092                 <enum name="EGL_COVERAGE_BUFFERS_NV"/>
2093                 <enum name="EGL_COVERAGE_SAMPLES_NV"/>
2094             </require>
2095         </extension>
2096         <extension name="EGL_NV_coverage_sample_resolve" supported="egl">
2097             <require>
2098                 <enum name="EGL_COVERAGE_SAMPLE_RESOLVE_NV"/>
2099                 <enum name="EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV"/>
2100                 <enum name="EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV"/>
2101             </require>
2102         </extension>
2103         <extension name="EGL_NV_cuda_event" supported="egl">
2104             <require>
2105                 <enum name="EGL_CUDA_EVENT_HANDLE_NV"/>
2106                 <enum name="EGL_SYNC_CUDA_EVENT_NV"/>
2107                 <enum name="EGL_SYNC_CUDA_EVENT_COMPLETE_NV"/>
2108             </require>
2109         </extension>
2110         <extension name="EGL_NV_depth_nonlinear" supported="egl">
2111             <require>
2112                 <enum name="EGL_DEPTH_ENCODING_NV"/>
2113                 <enum name="EGL_DEPTH_ENCODING_NONE_NV"/>
2114                 <enum name="EGL_DEPTH_ENCODING_NONLINEAR_NV"/>
2115             </require>
2116         </extension>
2117         <extension name="EGL_NV_device_cuda" supported="egl">
2118             <require>
2119                 <enum name="EGL_CUDA_DEVICE_NV"/>
2120             </require>
2121         </extension>
2122         <extension name="EGL_NV_native_query" supported="egl">
2123             <require>
2124                 <command name="eglQueryNativeDisplayNV"/>
2125                 <command name="eglQueryNativeWindowNV"/>
2126                 <command name="eglQueryNativePixmapNV"/>
2127             </require>
2128         </extension>
2129         <extension name="EGL_NV_post_convert_rounding" supported="egl">
2130             <require>
2131             </require>
2132         </extension>
2133         <extension name="EGL_NV_post_sub_buffer" supported="egl">
2134             <require>
2135                 <enum name="EGL_POST_SUB_BUFFER_SUPPORTED_NV"/>
2136                 <command name="eglPostSubBufferNV"/>
2137             </require>
2138         </extension>
2139         <extension name="EGL_NV_stream_sync" supported="egl">
2140             <require>
2141                 <enum name="EGL_SYNC_TYPE_KHR"/>
2142                 <enum name="EGL_SYNC_NEW_FRAME_NV"/>
2143                 <command name="eglCreateStreamSyncNV"/>
2144             </require>
2145         </extension>
2146         <extension name="EGL_NV_sync" protect="KHRONOS_SUPPORT_INT64" supported="egl">
2147             <require>
2148                 <enum name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV"/>
2149                 <enum name="EGL_SYNC_STATUS_NV"/>
2150                 <enum name="EGL_SIGNALED_NV"/>
2151                 <enum name="EGL_UNSIGNALED_NV"/>
2152                 <enum name="EGL_SYNC_FLUSH_COMMANDS_BIT_NV"/>
2153                 <enum name="EGL_FOREVER_NV"/>
2154                 <enum name="EGL_ALREADY_SIGNALED_NV"/>
2155                 <enum name="EGL_TIMEOUT_EXPIRED_NV"/>
2156                 <enum name="EGL_CONDITION_SATISFIED_NV"/>
2157                 <enum name="EGL_SYNC_TYPE_NV"/>
2158                 <enum name="EGL_SYNC_CONDITION_NV"/>
2159                 <enum name="EGL_SYNC_FENCE_NV"/>
2160                 <enum name="EGL_NO_SYNC_NV"/>
2161                 <command name="eglCreateFenceSyncNV"/>
2162                 <command name="eglDestroySyncNV"/>
2163                 <command name="eglFenceNV"/>
2164                 <command name="eglClientWaitSyncNV"/>
2165                 <command name="eglSignalSyncNV"/>
2166                 <command name="eglGetSyncAttribNV"/>
2167             </require>
2168         </extension>
2169         <extension name="EGL_NV_system_time" protect="KHRONOS_SUPPORT_INT64" supported="egl">
2170             <require>
2171                 <command name="eglGetSystemTimeFrequencyNV"/>
2172                 <command name="eglGetSystemTimeNV"/>
2173             </require>
2174         </extension>
2175         <extension name="EGL_TIZEN_image_native_buffer" supported="egl">
2176             <require>
2177                 <enum name="EGL_NATIVE_BUFFER_TIZEN"/>
2178             </require>
2179         </extension>
2180         <extension name="EGL_TIZEN_image_native_surface" supported="egl">
2181             <require>
2182                 <enum name="EGL_NATIVE_SURFACE_TIZEN"/>
2183             </require>
2184         </extension>
2185     </extensions>
2186 </registry>