• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="UTF-8"?>
2<registry>
3    <comment>
4    Copyright 2018 The ANGLE Project Authors. All rights reserved.
5    Use of this source code is governed by a BSD-style license that can be
6    found in the LICENSE file.
7
8    egl_angle_ext.xml
9        Includes data used to auto-generate ANGLE classes.
10    </comment>
11
12    <!-- SECTION: EGL type definitions. -->
13    <types>
14        <type requires="khrplatform">typedef khronos_uint64_t <name>EGLFrameTokenANGLE</name>;</type>
15    </types>
16
17    <!-- SECTION: EGL command definitions. -->
18    <commands namespace="EGL">
19        <command>
20            <proto><ptype>EGLDeviceEXT</ptype> <name>eglCreateDeviceANGLE</name></proto>
21            <param><ptype>EGLint</ptype> <name>device_type</name></param>
22            <param>void *<name>native_device</name></param>
23            <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
24        </command>
25        <command>
26            <proto><ptype>EGLBoolean</ptype> <name>eglReleaseDeviceANGLE</name></proto>
27            <param><ptype>EGLDeviceEXT</ptype> <name>device</name></param>
28        </command>
29        <command>
30            <proto><ptype>EGLBoolean</ptype> <name>eglCreateStreamProducerD3DTextureANGLE</name></proto>
31            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
32            <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
33            <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
34        </command>
35        <command>
36            <proto><ptype>EGLBoolean</ptype> <name>eglStreamPostD3DTextureANGLE</name></proto>
37            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
38            <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
39            <param>void *<name>texture</name></param>
40            <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
41        </command>
42        <command>
43            <proto><ptype>EGLBoolean</ptype> <name>eglGetSyncValuesCHROMIUM</name></proto>
44            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
45            <param><ptype>EGLSurface</ptype> <name>surface</name></param>
46            <param><ptype>EGLuint64KHR</ptype> *<name>ust</name></param>
47            <param><ptype>EGLuint64KHR</ptype> *<name>msc</name></param>
48            <param><ptype>EGLuint64KHR</ptype> *<name>sbc</name></param>
49        </command>
50        <command>
51            <proto><ptype>EGLint</ptype> <name>eglProgramCacheGetAttribANGLE</name></proto>
52            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
53            <param><ptype>EGLenum</ptype> <name>attrib</name></param>
54        </command>
55        <command>
56            <proto>void <name>eglProgramCacheQueryANGLE</name></proto>
57            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
58            <param><ptype>EGLint</ptype> <name>index</name></param>
59            <param>void *<name>key</name></param>
60            <param><ptype>EGLint</ptype> *<name>keysize</name></param>
61            <param>void *<name>binary</name></param>
62            <param><ptype>EGLint</ptype> *<name>binarysize</name></param>
63        </command>
64        <command>
65            <proto>void <name>eglProgramCachePopulateANGLE</name></proto>
66            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
67            <param>const void *<name>key</name></param>
68            <param><ptype>EGLint</ptype> <name>keysize</name></param>
69            <param>const void *<name>binary</name></param>
70            <param><ptype>EGLint</ptype> <name>binarysize</name></param>
71        </command>
72        <command>
73            <proto><ptype>EGLint</ptype> <name>eglProgramCacheResizeANGLE</name></proto>
74            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
75            <param><ptype>EGLint</ptype> <name>limit</name></param>
76            <param><ptype>EGLint</ptype> <name>mode</name></param>
77        </command>
78        <command>
79            <proto>const char *<name>eglQueryStringiANGLE</name></proto>
80            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
81            <param><ptype>EGLint</ptype> <name>name</name></param>
82            <param><ptype>EGLint</ptype> <name>index</name></param>
83        </command>
84        <command>
85            <proto><ptype>EGLBoolean</ptype> <name>eglDisplayAttribANGLE</name></proto>
86            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
87            <param><ptype>EGLint</ptype> <name>attribute</name></param>
88            <param><ptype>EGLAttrib</ptype> *<name>value</name></param>
89        </command>
90        <command>
91            <proto>void <name>eglAcquireExternalContextANGLE</name></proto>
92            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
93            <param><ptype>EGLSurface</ptype> <name>drawAndRead</name></param>
94        </command>
95        <command>
96            <proto>void <name>eglReleaseExternalContextANGLE</name></proto>
97            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
98        </command>
99        <command>
100            <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersWithFrameTokenANGLE</name></proto>
101            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
102            <param><ptype>EGLSurface</ptype> <name>surface</name></param>
103            <param><ptype>EGLFrameTokenANGLE</ptype> <name>frametoken</name></param>
104        </command>
105        <command>
106            <proto><ptype>EGLBoolean</ptype> <name>eglPrepareSwapBuffersANGLE</name></proto>
107            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
108            <param><ptype>EGLSurface</ptype> <name>surface</name></param>
109        </command>
110        <command>
111            <proto>void <name>eglReleaseHighPowerGPUANGLE</name></proto>
112            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
113            <param><ptype>EGLContext</ptype> <name>ctx</name></param>
114        </command>
115        <command>
116            <proto>void <name>eglReacquireHighPowerGPUANGLE</name></proto>
117            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
118            <param><ptype>EGLContext</ptype> <name>ctx</name></param>
119        </command>
120        <command>
121            <proto>void <name>eglHandleGPUSwitchANGLE</name></proto>
122            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
123        </command>
124        <command>
125            <proto>void <name>eglForceGPUSwitchANGLE</name></proto>
126            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
127            <param><ptype>EGLint</ptype> <name>gpuIDHigh</name></param>
128            <param><ptype>EGLint</ptype> <name>gpuIDLow</name></param>
129        </command>
130        <command>
131            <proto><ptype>EGLBoolean</ptype> <name>eglQueryDisplayAttribANGLE</name></proto>
132            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
133            <param><ptype>EGLint</ptype> <name>attribute</name></param>
134            <param><ptype>EGLAttrib</ptype> *<name>value</name></param>
135        </command>
136        <command>
137            <proto><ptype>EGLBoolean</ptype> <name>eglExportVkImageANGLE</name></proto>
138            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
139            <param><ptype>EGLImage</ptype> <name>image</name></param>
140            <param>void *<name>vk_image</name></param>
141            <param>void *<name>vk_image_create_info</name></param>
142        </command>
143        <command>
144            <proto>void *<name>eglCopyMetalSharedEventANGLE</name></proto>
145            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
146            <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param>
147        </command>
148        <command>
149            <proto>void <name>eglWaitUntilWorkScheduledANGLE</name></proto>
150            <param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
151        </command>
152        <command>
153            <proto>void <name>eglSetValidationEnabledANGLE</name></proto>
154            <param><ptype>EGLBoolean</ptype> <name>validationState</name></param>
155        </command>
156    </commands>
157    <!-- SECTION: ANGLE extension interface definitions -->
158    <extensions>
159        <extension name="EGL_ANGLE_device_creation" supported="egl">
160            <require>
161                <command name="eglCreateDeviceANGLE"/>
162                <command name="eglReleaseDeviceANGLE"/>
163            </require>
164        </extension>
165        <extension name="EGL_ANGLE_feature_control" supported="egl">
166            <require>
167                <command name="eglQueryStringiANGLE"/>
168                <command name="eglQueryDisplayAttribANGLE"/>
169                <enum name="EGL_FEATURE_NAME_ANGLE"/>
170                <enum name="EGL_FEATURE_CATEGORY_ANGLE"/>
171                <enum name="EGL_FEATURE_DESCRIPTION_ANGLE"/>
172                <enum name="EGL_FEATURE_BUG_ANGLE"/>
173                <enum name="EGL_FEATURE_STATUS_ANGLE"/>
174                <enum name="EGL_FEATURE_CONDITION_ANGLE"/>
175                <enum name="EGL_FEATURE_COUNT_ANGLE"/>
176                <enum name="EGL_FEATURE_OVERRIDES_ENABLED_ANGLE"/>
177                <enum name="EGL_FEATURE_OVERRIDES_DISABLED_ANGLE"/>
178                <enum name="EGL_FEATURE_ALL_DISABLED_ANGLE"/>
179            </require>
180        </extension>
181        <extension name="EGL_ANGLE_external_context_and_surface" supported="egl">
182            <require>
183                <command name="eglAcquireExternalContextANGLE"/>
184                <command name="eglReleaseExternalContextANGLE"/>
185                <enum name="EGL_EXTERNAL_CONTEXT_ANGLE"/>
186                <enum name="EGL_EXTERNAL_SURFACE_ANGLE"/>
187            </require>
188        </extension>
189        <extension name="EGL_ANGLE_stream_producer_d3d_texture" supported="egl">
190            <require>
191                <command name="eglCreateStreamProducerD3DTextureANGLE"/>
192                <command name="eglStreamPostD3DTextureANGLE"/>
193                <enum name="EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE"/>
194            </require>
195        </extension>
196        <extension name="EGL_CHROMIUM_sync_control" supported="egl">
197            <require>
198                <command name="eglGetSyncValuesCHROMIUM"/>
199            </require>
200        </extension>
201        <extension name="EGL_ANGLE_program_cache_control" supported="egl">
202            <require>
203                <command name="eglProgramCacheGetAttribANGLE"/>
204                <command name="eglProgramCacheQueryANGLE"/>
205                <command name="eglProgramCachePopulateANGLE"/>
206                <command name="eglProgramCacheResizeANGLE"/>
207                <enum name="EGL_PROGRAM_CACHE_SIZE_ANGLE"/>
208                <enum name="EGL_PROGRAM_CACHE_KEY_LENGTH_ANGLE"/>
209                <enum name="EGL_PROGRAM_CACHE_RESIZE_ANGLE"/>
210                <enum name="EGL_PROGRAM_CACHE_TRIM_ANGLE"/>
211                <enum name="EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE"/>
212            </require>
213        </extension>
214        <extension name="EGL_ANGLE_wait_until_work_scheduled" supported="egl">
215            <require>
216                <command name="eglWaitUntilWorkScheduledANGLE"/>
217            </require>
218        </extension>
219        <extension name="EGL_ANGLE_swap_with_frame_token" supported="egl">
220            <require>
221                <command name="eglSwapBuffersWithFrameTokenANGLE"/>
222            </require>
223        </extension>
224        <extension name="EGL_ANGLE_prepare_swap_buffers" supported="egl">
225            <require>
226                <command name="eglPrepareSwapBuffersANGLE"/>
227            </require>
228        </extension>
229        <extension name="EGL_ANGLE_power_preference" supported="egl">
230            <require>
231                <command name="eglReleaseHighPowerGPUANGLE"/>
232                <command name="eglReacquireHighPowerGPUANGLE"/>
233                <command name="eglHandleGPUSwitchANGLE"/>
234                <command name="eglForceGPUSwitchANGLE"/>
235                <enum name="EGL_POWER_PREFERENCE_ANGLE"/>
236                <enum name="EGL_LOW_POWER_ANGLE"/>
237                <enum name="EGL_HIGH_POWER_ANGLE"/>
238            </require>
239        </extension>
240        <extension name="EGL_ANGLE_display_semaphore_share_group" supported="egl">
241            <require>
242                <enum name="EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE"/>
243            </require>
244        </extension>
245        <extension name="EGL_ANGLE_display_texture_share_group" supported="egl">
246            <require>
247                <enum name="EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE"/>
248            </require>
249        </extension>
250        <extension name="EGL_ANGLE_vulkan_image" supported="egl">
251            <require>
252                <command name="eglExportVkImageANGLE"/>
253                <enum name="EGL_VULKAN_IMAGE_ANGLE"/>
254                <enum name="EGL_VULKAN_IMAGE_CREATE_INFO_HI_ANGLE"/>
255                <enum name="EGL_VULKAN_IMAGE_CREATE_INFO_LO_ANGLE"/>
256            </require>
257        </extension>
258        <extension name="EGL_ANGLE_metal_create_context_ownership_identity" supported="egl">
259            <require>
260                <enum name="EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE"/>
261            </require>
262        </extension>
263        <extension name="EGL_ANGLE_colorspace_attribute_passthrough" supported="egl" />
264        <extension name="EGL_ANGLE_context_virtualization" supported="egl">
265            <require>
266                <enum name="EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE"/>
267            </require>
268        </extension>
269        <extension name="EGL_ANGLE_create_context_backwards_compatible" supported="egl">
270            <require>
271                <enum name="EGL_CONTEXT_OPENGL_BACKWARDS_COMPATIBLE_ANGLE"/>
272            </require>
273        </extension>
274        <extension name="EGL_ANGLE_create_context_client_arrays" supported="egl">
275            <require>
276                <enum name="EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE"/>
277            </require>
278        </extension>
279        <extension name="EGL_ANGLE_create_context_extensions_enabled" supported="egl">
280            <require>
281                <enum name="EGL_EXTENSIONS_ENABLED_ANGLE"/>
282            </require>
283        </extension>
284        <extension name="EGL_ANGLE_create_context_webgl_compatibility" supported="egl">
285            <require>
286                <enum name="EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE"/>
287            </require>
288        </extension>
289        <extension name="EGL_ANGLE_create_surface_swap_interval" supported="egl">
290            <require>
291                <enum name="EGL_SWAP_INTERVAL_ANGLE"/>
292            </require>
293        </extension>
294        <extension name="EGL_ANGLE_d3d_share_handle_client_buffer" supported="egl">
295            <require>
296                <enum name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/>
297            </require>
298        </extension>
299        <extension name="EGL_ANGLE_device_cgl" supported="egl">
300            <require>
301                <enum name="EGL_CGL_CONTEXT_ANGLE"/>
302                <enum name="EGL_CGL_PIXEL_FORMAT_ANGLE"/>
303            </require>
304        </extension>
305        <extension name="EGL_ANGLE_device_d3d9" supported="egl">
306            <require>
307                <enum name="EGL_D3D9_DEVICE_ANGLE"/>
308            </require>
309        </extension>
310        <extension name="EGL_ANGLE_device_d3d1" supported="egl">
311            <require>
312                <enum name="EGL_D3D11_DEVICE_ANGLE"/>
313            </require>
314        </extension>
315        <extension name="EGL_ANGLE_device_eagl" supported="egl">
316            <require>
317                <enum name="EGL_EAGL_CONTEXT_ANGLE"/>
318            </require>
319        </extension>
320        <extension name="EGL_ANGLE_device_metal" supported="egl">
321            <require>
322                <enum name="EGL_METAL_DEVICE_ANGLE"/>
323            </require>
324        </extension>
325        <extension name="EGL_ANGLE_device_vulkan" supported="egl">
326            <require>
327                <enum name="EGL_VULKAN_VERSION_ANGLE"/>
328                <enum name="EGL_VULKAN_INSTANCE_ANGLE"/>
329                <enum name="EGL_VULKAN_INSTANCE_EXTENSIONS_ANGLE"/>
330                <enum name="EGL_VULKAN_PHYSICAL_DEVICE_ANGLE"/>
331                <enum name="EGL_VULKAN_DEVICE_ANGLE"/>
332                <enum name="EGL_VULKAN_DEVICE_EXTENSIONS_ANGLE"/>
333                <enum name="EGL_VULKAN_FEATURES_ANGLE"/>
334                <enum name="EGL_VULKAN_QUEUE_ANGLE"/>
335                <enum name="EGL_VULKAN_QUEUE_FAMILIY_INDEX_ANGLE"/>
336                <enum name="EGL_VULKAN_GET_INSTANCE_PROC_ADDR"/>
337            </require>
338        </extension>
339        <extension name="EGL_ANGLE_direct_composition" supported="egl">
340            <require>
341                <enum name="EGL_DIRECT_COMPOSITION_ANGLE"/>
342            </require>
343        </extension>
344        <extension name="EGL_ANGLE_display_power_preference" supported="egl">
345            <require>
346                <enum name="EGL_POWER_PREFERENCE_ANGLE"/>
347                <enum name="EGL_LOW_POWER_ANGLE"/>
348                <enum name="EGL_HIGH_POWER_ANGLE"/>
349            </require>
350        </extension>
351        <extension name="EGL_ANGLE_experimental_present_path" supported="egl">
352            <require>
353                <enum name="EGL_EXPERIMENTAL_PRESENT_PATH_ANGLE"/>
354                <enum name="EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE"/>
355                <enum name="EGL_EXPERIMENTAL_PRESENT_PATH_COPY_ANGLE"/>
356            </require>
357        </extension>
358        <extension name="EGL_ANGLE_ggp_stream_descriptor" supported="egl">
359            <require>
360                <enum name="EGL_GGP_STREAM_DESCRIPTOR_ANGLE"/>
361            </require>
362        </extension>
363        <extension name="EGL_ANGLE_iosurface_client_buffer" supported="egl">
364            <require>
365                <enum name="EGL_IOSURFACE_ANGLE"/>
366                <enum name="EGL_IOSURFACE_PLANE_ANGLE"/>
367                <enum name="EGL_TEXTURE_RECTANGLE_ANGLE"/>
368                <enum name="EGL_TEXTURE_TYPE_ANGLE"/>
369                <enum name="EGL_TEXTURE_INTERNAL_FORMAT_ANGLE"/>
370                <enum name="EGL_IOSURFACE_USAGE_HINT_ANGLE"/>
371                <enum name="EGL_BIND_TO_TEXTURE_TARGET_ANGLE"/>
372            </require>
373        </extension>
374        <extension name="EGL_ANGLE_keyed_mutex" supported="egl">
375            <require>
376                <enum name="EGL_DXGI_KEYED_MUTEX_ANGLE"/>
377            </require>
378        </extension>
379        <extension name="EGL_ANGLE_metal_create_context_ownership_identity" supported="egl">
380            <require>
381                <enum name="EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE"/>
382            </require>
383        </extension>
384        <extension name="EGL_ANGLE_metal_texture_client_buffer" supported="egl">
385            <require>
386                <enum name="EGL_METAL_TEXTURE_ANGLE"/>
387                <enum name="EGL_METAL_TEXTURE_ARRAY_SLICE_ANGLE"/>
388            </require>
389        </extension>
390        <extension name="EGL_ANGLE_platform_angle" supported="egl">
391            <require>
392                <enum name="EGL_PLATFORM_ANGLE_ANGLE"/>
393                <enum name="EGL_PLATFORM_ANGLE_TYPE_ANGLE"/>
394                <enum name="EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE"/>
395                <enum name="EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE"/>
396                <enum name="EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED"/>
397                <enum name="EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE"/>
398                <enum name="EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE"/>
399                <enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE"/>
400                <enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE"/>
401            </require>
402        </extension>
403        <extension name="EGL_ANGLE_platform_angle_d3d" supported="egl">
404            <require>
405                <enum name="EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE"/>
406                <enum name="EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE"/>
407                <enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE"/>
408                <enum name="EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE"/>
409                <enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_WARP_ANGLE"/>
410                <enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_REFERENCE_ANGLE"/>
411            </require>
412        </extension>
413        <extension name="EGL_ANGLE_platform_angle_d3d11on12" supported="egl">
414            <require>
415                <enum name="EGL_PLATFORM_ANGLE_D3D11ON12_ANGLE"/>
416            </require>
417        </extension>
418        <extension name="EGL_ANGLE_platform_angle_d3d_luid" supported="egl">
419            <require>
420                <enum name="EGL_PLATFORM_ANGLE_D3D_LUID_HIGH_ANGLE"/>
421                <enum name="EGL_PLATFORM_ANGLE_D3D_LUID_LOW_ANGLE"/>
422            </require>
423        </extension>
424        <extension name="EGL_ANGLE_platform_angle_device_context_volatile_cgl" supported="egl">
425            <require>
426                <enum name="EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_CGL_ANGLE"/>
427            </require>
428        </extension>
429        <extension name="EGL_ANGLE_platform_angle_device_context_volatile_eagl" supported="egl">
430            <require>
431                <enum name="EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_EAGL_ANGLE"/>
432            </require>
433        </extension>
434        <extension name="EGL_ANGLE_platform_angle_device_id" supported="egl">
435            <require>
436                <enum name="EGL_PLATFORM_ANGLE_DEVICE_ID_HIGH_ANGLE"/>
437                <enum name="EGL_PLATFORM_ANGLE_DEVICE_ID_LOW_ANGLE"/>
438                <enum name="EGL_PLATFORM_ANGLE_DISPLAY_KEY_ANGLE"/>
439            </require>
440        </extension>
441        <extension name="EGL_ANGLE_platform_angle_device_type_egl" supported="egl">
442            <require>
443                <enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE"/>
444            </require>
445        </extension>
446        <extension name="EGL_ANGLE_platform_angle_device_type_swiftshader" supported="egl">
447            <require>
448                <enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_SWIFTSHADER_ANGLE"/>
449            </require>
450        </extension>
451        <extension name="EGL_ANGLE_platform_angle_metal" supported="egl">
452            <require>
453                <enum name="EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE"/>
454            </require>
455        </extension>
456        <extension name="EGL_ANGLE_platform_angle_null" supported="egl">
457            <require>
458                <enum name="EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE"/>
459            </require>
460        </extension>
461        <extension name="EGL_ANGLE_platform_angle_webgpu" supported="egl">
462            <require>
463                <enum name="EGL_PLATFORM_ANGLE_TYPE_WEBGPU_ANGLE"/>
464            </require>
465        </extension>
466        <extension name="EGL_ANGLE_platform_angle_opengl" supported="egl">
467            <require>
468                <enum name="EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE"/>
469                <enum name="EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE"/>
470                <enum name="EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE"/>
471            </require>
472        </extension>
473        <extension name="EGL_ANGLE_platform_angle_vulkan" supported="egl">
474            <require>
475                <enum name="EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE"/>
476            </require>
477        </extension>
478        <extension name="EGL_ANGLE_robust_resource_initialization" supported="egl">
479            <require>
480                <enum name="EGL_ROBUST_RESOURCE_INITIALIZATION_ANGLE"/>
481            </require>
482        </extension>
483        <extension name="EGL_ANGLE_surface_orientation" supported="egl">
484            <require>
485                <enum name="EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE"/>
486                <enum name="EGL_SURFACE_ORIENTATION_ANGLE"/>
487                <enum name="EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE"/>
488                <enum name="EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE"/>
489            </require>
490        </extension>
491        <extension name="EGL_ANGLE_surface_orientation" supported="egl">
492            <require>
493                <enum name="EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE"/>
494                <enum name="EGL_SURFACE_ORIENTATION_ANGLE"/>
495                <enum name="EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE"/>
496                <enum name="EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE"/>
497            </require>
498        </extension>
499        <extension name="EGL_ANGLE_vulkan_display" supported="egl">
500            <require>
501                <enum name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE"/>
502                <enum name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE"/>
503            </require>
504        </extension>
505        <extension name="EGL_ANGLE_metal_shared_event_sync" supported="egl">
506            <require>
507                <command name="eglCopyMetalSharedEventANGLE"/>
508                <enum name="EGL_SYNC_METAL_SHARED_EVENT_ANGLE"/>
509                <enum name="EGL_SYNC_METAL_SHARED_EVENT_OBJECT_ANGLE"/>
510                <enum name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_LO_ANGLE"/>
511                <enum name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_HI_ANGLE"/>
512                <enum name="EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE" />
513            </require>
514        </extension>
515        <extension name="EGL_ANGLE_global_fence_sync" supported="egl">
516            <require>
517                <enum name="EGL_SYNC_GLOBAL_FENCE_ANGLE"/>
518            </require>
519        </extension>
520        <extension name="EGL_ANGLE_x11_visual" supported="egl">
521            <require>
522                <enum name="EGL_X11_VISUAL_ID_ANGLE"/>
523            </require>
524        </extension>
525        <extension name="EGL_ANGLE_d3d_texture_client_buffer" supported="egl">
526            <require>
527                <enum name="EGL_D3D_TEXTURE_ANGLE"/>
528            </require>
529        </extension>
530        <extension name="EGL_ANGLE_no_error" supported="egl">
531            <require>
532                <command name="eglSetValidationEnabledANGLE"/>
533            </require>
534        </extension>
535    </extensions>
536
537    <!-- SECTION: EGL enumerant (token) definitions. -->
538    <enums namespace="EGL" start="0x3202" end="0x320F" vendor="ANGLE">
539        <enum value="0x3202" name="EGL_PLATFORM_ANGLE_ANGLE"/>
540        <enum value="0x3203" name="EGL_PLATFORM_ANGLE_TYPE_ANGLE"/>
541        <enum value="0x3204" name="EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE"/>
542        <enum value="0x3205" name="EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE"/>
543        <enum value="0x3206" name="EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE"/>
544        <enum value="0x3207" name="EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE"/>
545        <enum value="0x3208" name="EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE"/>
546        <enum value="0x3209" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE"/>
547        <enum value="0x320A" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE"/>
548        <enum value="0x320B" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_WARP_ANGLE"/>
549        <enum value="0x320C" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_REFERENCE_ANGLE"/>
550        <enum value="0x320D" name="EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE"/>
551        <enum value="0x320E" name="EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE"/>
552        <enum value="0x320F" name="EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE"/>
553    </enums>
554    <enums namespace="EGL" start="0x322F" end="0x322F" vendor="ANGLE">
555        <enum value="0x322F" name="EGL_SWAP_INTERVAL_ANGLE" alias="EGL_SWAP_INTERVAL_EXT"/>
556    </enums>
557    <enums namespace="EGL" start="0x33A0" end="0x33AF" vendor="ANGLE">
558        <!-- 0x33A0-0x33A1 are defined in egl.xml already -->
559        <enum value="0x33A2" name="EGL_DXGI_KEYED_MUTEX_ANGLE"/>
560        <enum value="0x33A3" name="EGL_X11_VISUAL_ID_ANGLE"/>
561        <enum value="0x33A3" name="EGL_D3D_TEXTURE_ANGLE"/>
562        <enum value="0x33A4" name="EGL_EXPERIMENTAL_PRESENT_PATH_ANGLE"/>
563        <enum value="0x33A5" name="EGL_DIRECT_COMPOSITION_ANGLE"/>
564        <enum value="0x33A7" name="EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE"/>
565        <enum value="0x33A8" name="EGL_SURFACE_ORIENTATION_ANGLE"/>
566        <enum value="0x33A9" name="EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE"/>
567        <enum value="0x33AA" name="EGL_EXPERIMENTAL_PRESENT_PATH_COPY_ANGLE"/>
568        <enum value="0x33AB" name="EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE"/>
569        <enum value="0x33AC" name="EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE"/>
570        <enum value="0x33AE" name="EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE"/>
571        <enum value="0x33AF" name="EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE"/>
572    </enums>
573    <enums namespace="EGL" start="0x3450" end="0x345F" vendor="ANGLE">
574        <enum value="0x3450" name="EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE"/>
575        <enum value="0x3451" name="EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED"/>
576        <enum value="0x3452" name="EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE"/>
577        <enum value="0x3453" name="EGL_ROBUST_RESOURCE_INITIALIZATION_ANGLE"/>
578        <enum value="0x3454" name="EGL_IOSURFACE_ANGLE"/>
579        <enum value="0x3455" name="EGL_PROGRAM_CACHE_SIZE_ANGLE"/>
580        <enum value="0x3456" name="EGL_PROGRAM_CACHE_KEY_LENGTH_ANGLE"/>
581        <enum value="0x3457" name="EGL_PROGRAM_CACHE_RESIZE_ANGLE"/>
582        <enum value="0x3458" name="EGL_PROGRAM_CACHE_TRIM_ANGLE"/>
583        <enum value="0x3459" name="EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE"/>
584        <enum value="0x345A" name="EGL_IOSURFACE_PLANE_ANGLE"/>
585        <enum value="0x345B" name="EGL_TEXTURE_RECTANGLE_ANGLE"/>
586        <enum value="0x345C" name="EGL_TEXTURE_TYPE_ANGLE"/>
587        <enum value="0x345D" name="EGL_TEXTURE_INTERNAL_FORMAT_ANGLE"/>
588        <enum value="0x345E" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE"/>
589        <enum value="0x345F" name="EGL_EXTENSIONS_ENABLED_ANGLE"/>
590    </enums>
591    <enums namespace="EGL" start="0x3460" end="0x346F" vendor="ANGLE">
592        <enum value="0x3460" name="EGL_FEATURE_NAME_ANGLE"/>
593        <enum value="0x3461" name="EGL_FEATURE_CATEGORY_ANGLE"/>
594        <enum value="0x3462" name="EGL_FEATURE_DESCRIPTION_ANGLE"/>
595        <enum value="0x3463" name="EGL_FEATURE_BUG_ANGLE"/>
596        <enum value="0x3464" name="EGL_FEATURE_STATUS_ANGLE"/>
597        <enum value="0x3465" name="EGL_FEATURE_COUNT_ANGLE"/>
598        <enum value="0x3466" name="EGL_FEATURE_OVERRIDES_ENABLED_ANGLE"/>
599        <enum value="0x3467" name="EGL_FEATURE_OVERRIDES_DISABLED_ANGLE"/>
600        <enum value="0x3468" name="EGL_FEATURE_CONDITION_ANGLE"/>
601        <enum value="0x3469" name="EGL_FEATURE_ALL_DISABLED_ANGLE"/>
602    </enums>
603    <enums namespace="EGL" start="0x3480" end="0x348F" vendor="ANGLE">
604        <enum value="0x3480" name="EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE"/>
605        <enum value="0x3481" name="EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE"/>
606        <enum value="0x3482" name="EGL_POWER_PREFERENCE_ANGLE"/>
607        <enum value="0x3483" name="EGL_CONTEXT_OPENGL_BACKWARDS_COMPATIBLE_ANGLE"/>
608        <enum value="0x3485" name="EGL_CGL_CONTEXT_ANGLE"/>
609        <enum value="0x3486" name="EGL_CGL_PIXEL_FORMAT_ANGLE"/>
610        <enum value="0x3487" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_SWIFTSHADER_ANGLE"/>
611        <enum value="0x3488" name="EGL_PLATFORM_ANGLE_D3D11ON12_ANGLE"/>
612        <enum value="0x3489" name="EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE"/>
613        <enum value="0x348A" name="EGL_IOSURFACE_USAGE_HINT_ANGLE"/>
614        <enum value="0x348B" name="EGL_GGP_STREAM_DESCRIPTOR_ANGLE"/>
615        <enum value="0x348C" name="EGL_EAGL_CONTEXT_ANGLE"/>
616
617        <!-- NOTE: Yes, these two values are the same according to the extension specs. -->
618        <enum value="0x348D" name="EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE"/>
619        <enum value="0x348D" name="EGL_BIND_TO_TEXTURE_TARGET_ANGLE"/>
620
621        <!-- NOTE: More duplicates!. -->
622        <enum value="0x348E" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE"/>
623        <enum value="0x348E" name="EGL_EXTERNAL_CONTEXT_ANGLE"/>
624
625        <!-- NOTE: More duplicates!. -->
626        <enum value="0x348F" name="EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE"/>
627        <enum value="0x348F" name="EGL_EXTERNAL_SURFACE_ANGLE"/>
628    </enums>
629    <enums namespace="EGL" start="0x34A0" end="0x34AF" vendor="ANGLE">
630        <enum value="0x34A0" name="EGL_PLATFORM_ANGLE_D3D_LUID_HIGH_ANGLE"/>
631        <enum value="0x34A1" name="EGL_PLATFORM_ANGLE_D3D_LUID_LOW_ANGLE"/>
632        <enum value="0x34A2" name="EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_EAGL_ANGLE"/>
633        <enum value="0x34A3" name="EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_CGL_ANGLE"/>
634        <enum value="0x34A4" name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE"/>
635        <enum value="0x34A5" name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE"/>
636        <enum value="0x34A6" name="EGL_METAL_DEVICE_ANGLE"/>
637        <enum value="0x34A7" name="EGL_METAL_TEXTURE_ANGLE"/>
638        <enum value="0x34A8" name="EGL_VULKAN_VERSION_ANGLE"/>
639        <enum value="0x34A9" name="EGL_VULKAN_INSTANCE_ANGLE"/>
640        <enum value="0x34AA" name="EGL_VULKAN_INSTANCE_EXTENSIONS_ANGLE"/>
641        <enum value="0x34AB" name="EGL_VULKAN_PHYSICAL_DEVICE_ANGLE"/>
642        <enum value="0x34AC" name="EGL_VULKAN_DEVICE_ANGLE"/>
643        <enum value="0x34AD" name="EGL_VULKAN_DEVICE_EXTENSIONS_ANGLE"/>
644        <enum value="0x34AE" name="EGL_VULKAN_FEATURES_ANGLE"/>
645        <enum value="0x34AF" name="EGL_VULKAN_QUEUE_ANGLE"/>
646    </enums>
647    <enums namespace="EGL" start="0x34D0" end="0x34DF" vendor="ANGLE">
648        <enum value="0x34D0" name="EGL_VULKAN_QUEUE_FAMILIY_INDEX_ANGLE"/>
649        <enum value="0x34D1" name="EGL_VULKAN_GET_INSTANCE_PROC_ADDR"/>
650        <enum value="0x34D2" name="EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE"/>
651        <enum value="0x34D3" name="EGL_VULKAN_IMAGE_ANGLE"/>
652        <enum value="0x34D4" name="EGL_VULKAN_IMAGE_CREATE_INFO_HI_ANGLE"/>
653        <enum value="0x34D5" name="EGL_VULKAN_IMAGE_CREATE_INFO_LO_ANGLE"/>
654        <enum value="0x34D6" name="EGL_PLATFORM_ANGLE_DEVICE_ID_HIGH_ANGLE"/>
655        <enum value="0x34D7" name="EGL_PLATFORM_ANGLE_DEVICE_ID_LOW_ANGLE"/>
656        <enum value="0x34D8" name="EGL_SYNC_METAL_SHARED_EVENT_ANGLE"/>
657        <enum value="0x34D9" name="EGL_SYNC_METAL_SHARED_EVENT_OBJECT_ANGLE"/>
658        <enum value="0x34DA" name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_LO_ANGLE"/>
659        <enum value="0x34DB" name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_HI_ANGLE"/>
660        <enum value="0x34DC" name="EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE" />
661        <enum value="0x34DC" name="EGL_PLATFORM_ANGLE_DISPLAY_KEY_ANGLE" />
662        <enum value="0x34DD" name="EGL_METAL_TEXTURE_ARRAY_SLICE_ANGLE"/>
663        <enum value="0x34DE" name="EGL_SYNC_GLOBAL_FENCE_ANGLE"/>
664        <enum value="0x34DF" name="EGL_PLATFORM_ANGLE_TYPE_WEBGPU_ANGLE"/>
665    </enums>
666    <enums namespace="EGL" vendor="ANGLE">
667        <enum value="0x0001" name="EGL_LOW_POWER_ANGLE"/>
668        <enum value="0x0002" name="EGL_HIGH_POWER_ANGLE"/>
669        <enum value="0x0001" name="EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE"/>
670        <enum value="0x0002" name="EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE"/>
671    </enums>
672</registry>
673