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