• 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    </commands>
153    <!-- SECTION: ANGLE extension interface definitions -->
154    <extensions>
155        <extension name="EGL_ANGLE_device_creation" supported="egl">
156            <require>
157                <command name="eglCreateDeviceANGLE"/>
158                <command name="eglReleaseDeviceANGLE"/>
159            </require>
160        </extension>
161        <extension name="EGL_ANGLE_feature_control" supported="egl">
162            <require>
163                <command name="eglQueryStringiANGLE"/>
164                <command name="eglQueryDisplayAttribANGLE"/>
165                <enum name="EGL_FEATURE_NAME_ANGLE"/>
166                <enum name="EGL_FEATURE_CATEGORY_ANGLE"/>
167                <enum name="EGL_FEATURE_DESCRIPTION_ANGLE"/>
168                <enum name="EGL_FEATURE_BUG_ANGLE"/>
169                <enum name="EGL_FEATURE_STATUS_ANGLE"/>
170                <enum name="EGL_FEATURE_CONDITION_ANGLE"/>
171                <enum name="EGL_FEATURE_COUNT_ANGLE"/>
172                <enum name="EGL_FEATURE_OVERRIDES_ENABLED_ANGLE"/>
173                <enum name="EGL_FEATURE_OVERRIDES_DISABLED_ANGLE"/>
174                <enum name="EGL_FEATURE_ALL_DISABLED_ANGLE"/>
175            </require>
176        </extension>
177        <extension name="EGL_ANGLE_external_context_and_surface" supported="egl">
178            <require>
179                <command name="eglAcquireExternalContextANGLE"/>
180                <command name="eglReleaseExternalContextANGLE"/>
181                <enum name="EGL_EXTERNAL_CONTEXT_ANGLE"/>
182                <enum name="EGL_EXTERNAL_SURFACE_ANGLE"/>
183                <enum name="EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE"/>
184            </require>
185        </extension>
186        <extension name="EGL_ANGLE_stream_producer_d3d_texture" supported="egl">
187            <require>
188                <command name="eglCreateStreamProducerD3DTextureANGLE"/>
189                <command name="eglStreamPostD3DTextureANGLE"/>
190                <enum name="EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE"/>
191            </require>
192        </extension>
193        <extension name="EGL_CHROMIUM_sync_control" supported="egl">
194            <require>
195                <command name="eglGetSyncValuesCHROMIUM"/>
196            </require>
197        </extension>
198        <extension name="EGL_ANGLE_program_cache_control" supported="egl">
199            <require>
200                <command name="eglProgramCacheGetAttribANGLE"/>
201                <command name="eglProgramCacheQueryANGLE"/>
202                <command name="eglProgramCachePopulateANGLE"/>
203                <command name="eglProgramCacheResizeANGLE"/>
204                <enum name="EGL_PROGRAM_CACHE_SIZE_ANGLE"/>
205                <enum name="EGL_PROGRAM_CACHE_KEY_LENGTH_ANGLE"/>
206                <enum name="EGL_PROGRAM_CACHE_RESIZE_ANGLE"/>
207                <enum name="EGL_PROGRAM_CACHE_TRIM_ANGLE"/>
208                <enum name="EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE"/>
209            </require>
210        </extension>
211        <extension name="EGL_ANGLE_wait_until_work_scheduled" supported="egl">
212            <require>
213                <command name="eglWaitUntilWorkScheduledANGLE"/>
214            </require>
215        </extension>
216        <extension name="EGL_ANGLE_swap_with_frame_token" supported="egl">
217            <require>
218                <command name="eglSwapBuffersWithFrameTokenANGLE"/>
219            </require>
220        </extension>
221        <extension name="EGL_ANGLE_prepare_swap_buffers" supported="egl">
222            <require>
223                <command name="eglPrepareSwapBuffersANGLE"/>
224            </require>
225        </extension>
226        <extension name="EGL_ANGLE_power_preference" supported="egl">
227            <require>
228                <command name="eglReleaseHighPowerGPUANGLE"/>
229                <command name="eglReacquireHighPowerGPUANGLE"/>
230                <command name="eglHandleGPUSwitchANGLE"/>
231                <command name="eglForceGPUSwitchANGLE"/>
232                <enum name="EGL_POWER_PREFERENCE_ANGLE"/>
233                <enum name="EGL_LOW_POWER_ANGLE"/>
234                <enum name="EGL_HIGH_POWER_ANGLE"/>
235            </require>
236        </extension>
237        <extension name="EGL_ANGLE_display_semaphore_share_group" supported="egl">
238            <require>
239                <enum name="EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE"/>
240            </require>
241        </extension>
242        <extension name="EGL_ANGLE_display_texture_share_group" supported="egl">
243            <require>
244                <enum name="EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE"/>
245            </require>
246        </extension>
247        <extension name="EGL_ANGLE_vulkan_image" supported="egl">
248            <require>
249                <command name="eglExportVkImageANGLE"/>
250                <enum name="EGL_VULKAN_IMAGE_ANGLE"/>
251                <enum name="EGL_VULKAN_IMAGE_CREATE_INFO_HI_ANGLE"/>
252                <enum name="EGL_VULKAN_IMAGE_CREATE_INFO_LO_ANGLE"/>
253            </require>
254        </extension>
255        <extension name="EGL_ANGLE_metal_create_context_ownership_identity" supported="egl">
256            <require>
257                <enum name="EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE"/>
258            </require>
259        </extension>
260        <extension name="EGL_ANGLE_colorspace_attribute_passthrough" supported="egl" />
261        <extension name="EGL_ANGLE_context_virtualization" supported="egl">
262            <require>
263                <enum name="EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE"/>
264            </require>
265        </extension>
266        <extension name="EGL_ANGLE_create_context_backwards_compatible" supported="egl">
267            <require>
268                <enum name="EGL_CONTEXT_OPENGL_BACKWARDS_COMPATIBLE_ANGLE"/>
269            </require>
270        </extension>
271        <extension name="EGL_ANGLE_create_context_client_arrays" supported="egl">
272            <require>
273                <enum name="EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE"/>
274            </require>
275        </extension>
276        <extension name="EGL_ANGLE_create_context_extensions_enabled" supported="egl">
277            <require>
278                <enum name="EGL_EXTENSIONS_ENABLED_ANGLE"/>
279            </require>
280        </extension>
281        <extension name="EGL_ANGLE_create_context_webgl_compatibility" supported="egl">
282            <require>
283                <enum name="EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE"/>
284            </require>
285        </extension>
286        <extension name="EGL_ANGLE_create_surface_swap_interval" supported="egl">
287            <require>
288                <enum name="EGL_SWAP_INTERVAL_ANGLE"/>
289            </require>
290        </extension>
291        <extension name="EGL_ANGLE_d3d_share_handle_client_buffer" supported="egl">
292            <require>
293                <enum name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/>
294            </require>
295        </extension>
296        <extension name="EGL_ANGLE_device_cgl" supported="egl">
297            <require>
298                <enum name="EGL_CGL_CONTEXT_ANGLE"/>
299                <enum name="EGL_CGL_PIXEL_FORMAT_ANGLE"/>
300            </require>
301        </extension>
302        <extension name="EGL_ANGLE_device_eagl" supported="egl">
303            <require>
304                <enum name="EGL_EAGL_CONTEXT_ANGLE"/>
305            </require>
306        </extension>
307        <extension name="EGL_ANGLE_device_metal" supported="egl">
308            <require>
309                <enum name="EGL_METAL_DEVICE_ANGLE"/>
310            </require>
311        </extension>
312        <extension name="EGL_ANGLE_device_vulkan" supported="egl">
313            <require>
314                <enum name="EGL_VULKAN_VERSION_ANGLE"/>
315                <enum name="EGL_VULKAN_INSTANCE_ANGLE"/>
316                <enum name="EGL_VULKAN_INSTANCE_EXTENSIONS_ANGLE"/>
317                <enum name="EGL_VULKAN_PHYSICAL_DEVICE_ANGLE"/>
318                <enum name="EGL_VULKAN_DEVICE_ANGLE"/>
319                <enum name="EGL_VULKAN_DEVICE_EXTENSIONS_ANGLE"/>
320                <enum name="EGL_VULKAN_FEATURES_ANGLE"/>
321                <enum name="EGL_VULKAN_QUEUE_ANGLE"/>
322                <enum name="EGL_VULKAN_QUEUE_FAMILIY_INDEX_ANGLE"/>
323                <enum name="EGL_VULKAN_GET_INSTANCE_PROC_ADDR"/>
324            </require>
325        </extension>
326        <extension name="EGL_ANGLE_direct_composition" supported="egl">
327            <require>
328                <enum name="EGL_DIRECT_COMPOSITION_ANGLE"/>
329            </require>
330        </extension>
331        <extension name="EGL_ANGLE_display_power_preference" supported="egl">
332            <require>
333                <enum name="EGL_POWER_PREFERENCE_ANGLE"/>
334                <enum name="EGL_LOW_POWER_ANGLE"/>
335                <enum name="EGL_HIGH_POWER_ANGLE"/>
336            </require>
337        </extension>
338        <extension name="EGL_ANGLE_experimental_present_path" supported="egl">
339            <require>
340                <enum name="EGL_EXPERIMENTAL_PRESENT_PATH_ANGLE"/>
341                <enum name="EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE"/>
342                <enum name="EGL_EXPERIMENTAL_PRESENT_PATH_COPY_ANGLE"/>
343            </require>
344        </extension>
345        <extension name="EGL_ANGLE_ggp_stream_descriptor" supported="egl">
346            <require>
347                <enum name="EGL_GGP_STREAM_DESCRIPTOR_ANGLE"/>
348            </require>
349        </extension>
350        <extension name="EGL_ANGLE_iosurface_client_buffer" supported="egl">
351            <require>
352                <enum name="EGL_IOSURFACE_ANGLE"/>
353                <enum name="EGL_IOSURFACE_PLANE_ANGLE"/>
354                <enum name="EGL_TEXTURE_RECTANGLE_ANGLE"/>
355                <enum name="EGL_TEXTURE_TYPE_ANGLE"/>
356                <enum name="EGL_TEXTURE_INTERNAL_FORMAT_ANGLE"/>
357                <enum name="EGL_IOSURFACE_USAGE_HINT_ANGLE"/>
358                <enum name="EGL_BIND_TO_TEXTURE_TARGET_ANGLE"/>
359            </require>
360        </extension>
361        <extension name="EGL_ANGLE_keyed_mutex" supported="egl">
362            <require>
363                <enum name="EGL_DXGI_KEYED_MUTEX_ANGLE"/>
364            </require>
365        </extension>
366        <extension name="EGL_ANGLE_metal_create_context_ownership_identity" supported="egl">
367            <require>
368                <enum name="EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE"/>
369            </require>
370        </extension>
371        <extension name="EGL_ANGLE_metal_texture_client_buffer" supported="egl">
372            <require>
373                <enum name="EGL_METAL_TEXTURE_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            </require>
425        </extension>
426        <extension name="EGL_ANGLE_platform_angle_device_type_egl" supported="egl">
427            <require>
428                <enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE"/>
429            </require>
430        </extension>
431        <extension name="EGL_ANGLE_platform_angle_device_type_swiftshader" supported="egl">
432            <require>
433                <enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_SWIFTSHADER_ANGLE"/>
434            </require>
435        </extension>
436        <extension name="EGL_ANGLE_platform_angle_metal" supported="egl">
437            <require>
438                <enum name="EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE"/>
439            </require>
440        </extension>
441        <extension name="EGL_ANGLE_platform_angle_null" supported="egl">
442            <require>
443                <enum name="EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE"/>
444            </require>
445        </extension>
446        <extension name="EGL_ANGLE_platform_angle_opengl" supported="egl">
447            <require>
448                <enum name="EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE"/>
449                <enum name="EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE"/>
450                <enum name="EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE"/>
451            </require>
452        </extension>
453        <extension name="EGL_ANGLE_platform_angle_vulkan" supported="egl">
454            <require>
455                <enum name="EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE"/>
456            </require>
457        </extension>
458        <extension name="EGL_ANGLE_robust_resource_initialization" supported="egl">
459            <require>
460                <enum name="EGL_ROBUST_RESOURCE_INITIALIZATION_ANGLE"/>
461            </require>
462        </extension>
463        <extension name="EGL_ANGLE_surface_orientation" supported="egl">
464            <require>
465                <enum name="EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE"/>
466                <enum name="EGL_SURFACE_ORIENTATION_ANGLE"/>
467                <enum name="EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE"/>
468                <enum name="EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE"/>
469            </require>
470        </extension>
471        <extension name="EGL_ANGLE_surface_orientation" supported="egl">
472            <require>
473                <enum name="EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE"/>
474                <enum name="EGL_SURFACE_ORIENTATION_ANGLE"/>
475                <enum name="EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE"/>
476                <enum name="EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE"/>
477            </require>
478        </extension>
479        <extension name="EGL_ANGLE_vulkan_display" supported="egl">
480            <require>
481                <enum name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE"/>
482                <enum name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE"/>
483            </require>
484        </extension>
485        <extension name="EGL_ANGLE_metal_shared_event_sync" supported="egl">
486            <require>
487                <command name="eglCopyMetalSharedEventANGLE"/>
488                <enum name="EGL_SYNC_METAL_SHARED_EVENT_ANGLE"/>
489                <enum name="EGL_SYNC_METAL_SHARED_EVENT_OBJECT_ANGLE"/>
490                <enum name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_LO_ANGLE"/>
491                <enum name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_HI_ANGLE"/>
492                <enum name="EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE" />
493            </require>
494        </extension>
495    </extensions>
496
497    <!-- SECTION: EGL enumerant (token) definitions. -->
498    <enums namespace="EGL" start="0x3202" end="0x320F" vendor="ANGLE">
499        <enum value="0x3202" name="EGL_PLATFORM_ANGLE_ANGLE"/>
500        <enum value="0x3203" name="EGL_PLATFORM_ANGLE_TYPE_ANGLE"/>
501        <enum value="0x3204" name="EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE"/>
502        <enum value="0x3205" name="EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE"/>
503        <enum value="0x3206" name="EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE"/>
504        <enum value="0x3207" name="EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE"/>
505        <enum value="0x3208" name="EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE"/>
506        <enum value="0x3209" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE"/>
507        <enum value="0x320A" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE"/>
508        <enum value="0x320B" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_WARP_ANGLE"/>
509        <enum value="0x320C" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_REFERENCE_ANGLE"/>
510        <enum value="0x320D" name="EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE"/>
511        <enum value="0x320E" name="EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE"/>
512        <enum value="0x320F" name="EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE"/>
513    </enums>
514    <enums namespace="EGL" start="0x322F" end="0x322F" vendor="ANGLE">
515        <enum value="0x322F" name="EGL_SWAP_INTERVAL_ANGLE" alias="EGL_SWAP_INTERVAL_EXT"/>
516    </enums>
517    <enums namespace="EGL" start="0x33A0" end="0x33AF" vendor="ANGLE">
518        <!-- 0x33A0-0x33A1 are defined in egl.xml already -->
519        <enum value="0x33A2" name="EGL_DXGI_KEYED_MUTEX_ANGLE"/>
520        <enum value="0x33A3" name="EGL_D3D_TEXTURE_ANGLE"/>
521        <enum value="0x33A4" name="EGL_EXPERIMENTAL_PRESENT_PATH_ANGLE"/>
522        <enum value="0x33A5" name="EGL_DIRECT_COMPOSITION_ANGLE"/>
523        <enum value="0x33A7" name="EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE"/>
524        <enum value="0x33A8" name="EGL_SURFACE_ORIENTATION_ANGLE"/>
525        <enum value="0x33A9" name="EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE"/>
526        <enum value="0x33AA" name="EGL_EXPERIMENTAL_PRESENT_PATH_COPY_ANGLE"/>
527        <enum value="0x33AB" name="EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE"/>
528        <enum value="0x33AC" name="EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE"/>
529        <enum value="0x33AE" name="EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE"/>
530        <enum value="0x33AF" name="EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE"/>
531    </enums>
532    <enums namespace="EGL" start="0x3450" end="0x345F" vendor="ANGLE">
533        <enum value="0x3450" name="EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE"/>
534        <enum value="0x3451" name="EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED"/>
535        <enum value="0x3452" name="EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE"/>
536        <enum value="0x3453" name="EGL_ROBUST_RESOURCE_INITIALIZATION_ANGLE"/>
537        <enum value="0x3454" name="EGL_IOSURFACE_ANGLE"/>
538        <enum value="0x3455" name="EGL_PROGRAM_CACHE_SIZE_ANGLE"/>
539        <enum value="0x3456" name="EGL_PROGRAM_CACHE_KEY_LENGTH_ANGLE"/>
540        <enum value="0x3457" name="EGL_PROGRAM_CACHE_RESIZE_ANGLE"/>
541        <enum value="0x3458" name="EGL_PROGRAM_CACHE_TRIM_ANGLE"/>
542        <enum value="0x3459" name="EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE"/>
543        <enum value="0x345A" name="EGL_IOSURFACE_PLANE_ANGLE"/>
544        <enum value="0x345B" name="EGL_TEXTURE_RECTANGLE_ANGLE"/>
545        <enum value="0x345C" name="EGL_TEXTURE_TYPE_ANGLE"/>
546        <enum value="0x345D" name="EGL_TEXTURE_INTERNAL_FORMAT_ANGLE"/>
547        <enum value="0x345E" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE"/>
548        <enum value="0x345F" name="EGL_EXTENSIONS_ENABLED_ANGLE"/>
549    </enums>
550    <enums namespace="EGL" start="0x3460" end="0x346F" vendor="ANGLE">
551        <enum value="0x3460" name="EGL_FEATURE_NAME_ANGLE"/>
552        <enum value="0x3461" name="EGL_FEATURE_CATEGORY_ANGLE"/>
553        <enum value="0x3462" name="EGL_FEATURE_DESCRIPTION_ANGLE"/>
554        <enum value="0x3463" name="EGL_FEATURE_BUG_ANGLE"/>
555        <enum value="0x3464" name="EGL_FEATURE_STATUS_ANGLE"/>
556        <enum value="0x3465" name="EGL_FEATURE_COUNT_ANGLE"/>
557        <enum value="0x3466" name="EGL_FEATURE_OVERRIDES_ENABLED_ANGLE"/>
558        <enum value="0x3467" name="EGL_FEATURE_OVERRIDES_DISABLED_ANGLE"/>
559        <enum value="0x3468" name="EGL_FEATURE_CONDITION_ANGLE"/>
560        <enum value="0x3469" name="EGL_FEATURE_ALL_DISABLED_ANGLE"/>
561    </enums>
562    <enums namespace="EGL" start="0x3480" end="0x348F" vendor="ANGLE">
563        <enum value="0x3480" name="EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE"/>
564        <enum value="0x3481" name="EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE"/>
565        <enum value="0x3482" name="EGL_POWER_PREFERENCE_ANGLE"/>
566        <enum value="0x3483" name="EGL_CONTEXT_OPENGL_BACKWARDS_COMPATIBLE_ANGLE"/>
567        <enum value="0x3485" name="EGL_CGL_CONTEXT_ANGLE"/>
568        <enum value="0x3486" name="EGL_CGL_PIXEL_FORMAT_ANGLE"/>
569        <enum value="0x3487" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_SWIFTSHADER_ANGLE"/>
570        <enum value="0x3488" name="EGL_PLATFORM_ANGLE_D3D11ON12_ANGLE"/>
571        <enum value="0x3489" name="EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE"/>
572        <enum value="0x348A" name="EGL_IOSURFACE_USAGE_HINT_ANGLE"/>
573        <enum value="0x348B" name="EGL_GGP_STREAM_DESCRIPTOR_ANGLE"/>
574        <enum value="0x348C" name="EGL_EAGL_CONTEXT_ANGLE"/>
575
576        <!-- NOTE: Yes, these two values are the same according to the extension specs. -->
577        <enum value="0x348D" name="EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE"/>
578        <enum value="0x348D" name="EGL_BIND_TO_TEXTURE_TARGET_ANGLE"/>
579
580        <!-- NOTE: More duplicates!. -->
581        <enum value="0x348E" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE"/>
582        <enum value="0x348E" name="EGL_EXTERNAL_CONTEXT_ANGLE"/>
583
584        <!-- NOTE: More duplicates!. -->
585        <enum value="0x348F" name="EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE"/>
586        <enum value="0x348F" name="EGL_EXTERNAL_SURFACE_ANGLE"/>
587    </enums>
588    <enums namespace="EGL" start="0x3490" end="0x349F" vendor="ANGLE">
589        <enum value="0x3490" name="EGL_EXTERNAL_CONTEXT_SAVE_STATE_ANGLE"/>
590    </enums>
591    <enums namespace="EGL" start="0x34A0" end="0x34AF" vendor="ANGLE">
592        <enum value="0x34A0" name="EGL_PLATFORM_ANGLE_D3D_LUID_HIGH_ANGLE"/>
593        <enum value="0x34A1" name="EGL_PLATFORM_ANGLE_D3D_LUID_LOW_ANGLE"/>
594        <enum value="0x34A2" name="EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_EAGL_ANGLE"/>
595        <enum value="0x34A3" name="EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_CGL_ANGLE"/>
596        <enum value="0x34A4" name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE"/>
597        <enum value="0x34A5" name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE"/>
598        <enum value="0x34A6" name="EGL_METAL_DEVICE_ANGLE"/>
599        <enum value="0x34A7" name="EGL_METAL_TEXTURE_ANGLE"/>
600        <enum value="0x34A8" name="EGL_VULKAN_VERSION_ANGLE"/>
601        <enum value="0x34A9" name="EGL_VULKAN_INSTANCE_ANGLE"/>
602        <enum value="0x34AA" name="EGL_VULKAN_INSTANCE_EXTENSIONS_ANGLE"/>
603        <enum value="0x34AB" name="EGL_VULKAN_PHYSICAL_DEVICE_ANGLE"/>
604        <enum value="0x34AC" name="EGL_VULKAN_DEVICE_ANGLE"/>
605        <enum value="0x34AD" name="EGL_VULKAN_DEVICE_EXTENSIONS_ANGLE"/>
606        <enum value="0x34AE" name="EGL_VULKAN_FEATURES_ANGLE"/>
607        <enum value="0x34AF" name="EGL_VULKAN_QUEUE_ANGLE"/>
608    </enums>
609    <enums namespace="EGL" start="0x34D0" end="0x34DF" vendor="ANGLE">
610        <enum value="0x34D0" name="EGL_VULKAN_QUEUE_FAMILIY_INDEX_ANGLE"/>
611        <enum value="0x34D1" name="EGL_VULKAN_GET_INSTANCE_PROC_ADDR"/>
612        <enum value="0x34D2" name="EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE"/>
613        <enum value="0x34D3" name="EGL_VULKAN_IMAGE_ANGLE"/>
614        <enum value="0x34D4" name="EGL_VULKAN_IMAGE_CREATE_INFO_HI_ANGLE"/>
615        <enum value="0x34D5" name="EGL_VULKAN_IMAGE_CREATE_INFO_LO_ANGLE"/>
616        <enum value="0x34D6" name="EGL_PLATFORM_ANGLE_DEVICE_ID_HIGH_ANGLE"/>
617        <enum value="0x34D7" name="EGL_PLATFORM_ANGLE_DEVICE_ID_LOW_ANGLE"/>
618        <enum value="0x34D8" name="EGL_SYNC_METAL_SHARED_EVENT_ANGLE"/>
619        <enum value="0x34D9" name="EGL_SYNC_METAL_SHARED_EVENT_OBJECT_ANGLE"/>
620        <enum value="0x34DA" name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_LO_ANGLE"/>
621        <enum value="0x34DB" name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_HI_ANGLE"/>
622        <enum value="0x34DC" name="EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE" />
623    </enums>
624    <enums namespace="EGL" vendor="ANGLE">
625        <enum value="0x0001" name="EGL_LOW_POWER_ANGLE"/>
626        <enum value="0x0002" name="EGL_HIGH_POWER_ANGLE"/>
627        <enum value="0x0001" name="EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE"/>
628        <enum value="0x0002" name="EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE"/>
629    </enums>
630</registry>
631