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