Files
godot-angle-static/scripts/egl_angle_ext.xml
Dan Glastonbury a89f678f8a EGL: Implement ANGLE_metal_shared_event_sync on metal
Implement creation of fence sync object taking an external
MTLSharedEvent and optional value to use when signaling completion of
prior commands.

Extended end2end test suite with metal shared event test cases.

Test: angle_end2end_tests --gtest_filter=EGLSyncTestMetalSharedEvent.*
Bug: angleproject:7561
Change-Id: I0e72b5417275a20a24e535670ceb995ecc87abcb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3865060
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
2022-09-21 01:42:23 +00:00

588 lines
30 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<registry>
<comment>
Copyright 2018 The ANGLE Project Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
egl_angle_ext.xml
Includes data used to auto-generate ANGLE classes.
</comment>
<!-- SECTION: EGL type definitions. -->
<types>
<type requires="khrplatform">typedef khronos_uint64_t <name>EGLFrameTokenANGLE</name>;</type>
</types>
<!-- SECTION: EGL command definitions. -->
<commands namespace="EGL">
<command>
<proto><ptype>EGLDeviceEXT</ptype> <name>eglCreateDeviceANGLE</name></proto>
<param><ptype>EGLint</ptype> <name>device_type</name></param>
<param>void *<name>native_device</name></param>
<param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglReleaseDeviceANGLE</name></proto>
<param><ptype>EGLDeviceEXT</ptype> <name>device</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglCreateStreamProducerD3DTextureANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
<param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglStreamPostD3DTextureANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLStreamKHR</ptype> <name>stream</name></param>
<param>void *<name>texture</name></param>
<param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglGetSyncValuesCHROMIUM</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLSurface</ptype> <name>surface</name></param>
<param><ptype>EGLuint64KHR</ptype> *<name>ust</name></param>
<param><ptype>EGLuint64KHR</ptype> *<name>msc</name></param>
<param><ptype>EGLuint64KHR</ptype> *<name>sbc</name></param>
</command>
<command>
<proto><ptype>EGLint</ptype> <name>eglProgramCacheGetAttribANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLenum</ptype> <name>attrib</name></param>
</command>
<command>
<proto>void <name>eglProgramCacheQueryANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLint</ptype> <name>index</name></param>
<param>void *<name>key</name></param>
<param><ptype>EGLint</ptype> *<name>keysize</name></param>
<param>void *<name>binary</name></param>
<param><ptype>EGLint</ptype> *<name>binarysize</name></param>
</command>
<command>
<proto>void <name>eglProgramCachePopulateANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param>const void *<name>key</name></param>
<param><ptype>EGLint</ptype> <name>keysize</name></param>
<param>const void *<name>binary</name></param>
<param><ptype>EGLint</ptype> <name>binarysize</name></param>
</command>
<command>
<proto><ptype>EGLint</ptype> <name>eglProgramCacheResizeANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLint</ptype> <name>limit</name></param>
<param><ptype>EGLint</ptype> <name>mode</name></param>
</command>
<command>
<proto><ptype>const char *</ptype> <name>eglQueryStringiANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLint</ptype> <name>name</name></param>
<param><ptype>EGLint</ptype> <name>index</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglDisplayAttribANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLint</ptype> <name>attribute</name></param>
<param><ptype>EGLAttrib *</ptype> <name>value</name></param>
</command>
<command>
<proto><pytpe>EGLBoolean</pytpe> <name>eglSwapBuffersWithFrameTokenANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLSurface</ptype> <name>surface</name></param>
<param><ptype>EGLFrameTokenANGLE</ptype> <name>frametoken</name></param>
</command>
<command>
<proto><pytpe>EGLBoolean</pytpe> <name>eglPrepareSwapBuffersANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLSurface</ptype> <name>surface</name></param>
</command>
<command>
<proto><pytpe>void</pytpe> <name>eglReleaseHighPowerGPUANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLContext</ptype> <name>ctx</name></param>
</command>
<command>
<proto><pytpe>void</pytpe> <name>eglReacquireHighPowerGPUANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLContext</ptype> <name>ctx</name></param>
</command>
<command>
<proto><pytpe>void</pytpe> <name>eglHandleGPUSwitchANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
</command>
<command>
<proto><pytpe>void</pytpe> <name>eglForceGPUSwitchANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLint</ptype> <name>gpuIDHigh</name></param>
<param><ptype>EGLint</ptype> <name>gpuIDLow</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglQueryDisplayAttribANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLint</ptype> <name>attribute</name></param>
<param><ptype>EGLAttrib *</ptype> <name>value</name></param>
</command>
<command>
<proto><ptype>EGLBoolean</ptype> <name>eglExportVkImageANGLE</name></proto>
<param><ptype>EGLDisplay</ptype> <name>dpy</name></param>
<param><ptype>EGLImage</ptype> <name>image</name></param>
<param><ptype>void *</ptype> <name>vk_image</name></param>
<param><ptype>void *</ptype> <name>vk_image_create_info</name></param>
</command>
</commands>
<!-- SECTION: ANGLE extension interface definitions -->
<extensions>
<extension name="EGL_ANGLE_device_creation" supported="egl">
<require>
<command name="eglCreateDeviceANGLE"/>
<command name="eglReleaseDeviceANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_feature_control" supported="egl">
<require>
<command name="eglQueryStringiANGLE"/>
<command name="eglQueryDisplayAttribANGLE"/>
<enum name="EGL_FEATURE_NAME_ANGLE"/>
<enum name="EGL_FEATURE_CATEGORY_ANGLE"/>
<enum name="EGL_FEATURE_DESCRIPTION_ANGLE"/>
<enum name="EGL_FEATURE_BUG_ANGLE"/>
<enum name="EGL_FEATURE_STATUS_ANGLE"/>
<enum name="EGL_FEATURE_CONDITION_ANGLE"/>
<enum name="EGL_FEATURE_COUNT_ANGLE"/>
<enum name="EGL_FEATURE_OVERRIDES_ENABLED_ANGLE"/>
<enum name="EGL_FEATURE_OVERRIDES_DISABLED_ANGLE"/>
<enum name="EGL_FEATURE_ALL_DISABLED_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_stream_producer_d3d_texture" supported="egl">
<require>
<command name="eglCreateStreamProducerD3DTextureANGLE"/>
<command name="eglStreamPostD3DTextureANGLE"/>
<enum name="EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE"/>
</require>
</extension>
<extension name="EGL_CHROMIUM_sync_control" supported="egl">
<require>
<command name="eglGetSyncValuesCHROMIUM"/>
</require>
</extension>
<extension name="EGL_ANGLE_program_cache_control" supported="egl">
<require>
<command name="eglProgramCacheGetAttribANGLE"/>
<command name="eglProgramCacheQueryANGLE"/>
<command name="eglProgramCachePopulateANGLE"/>
<command name="eglProgramCacheResizeANGLE"/>
<enum name="EGL_PROGRAM_CACHE_SIZE_ANGLE"/>
<enum name="EGL_PROGRAM_CACHE_KEY_LENGTH_ANGLE"/>
<enum name="EGL_PROGRAM_CACHE_RESIZE_ANGLE"/>
<enum name="EGL_PROGRAM_CACHE_TRIM_ANGLE"/>
<enum name="EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_swap_with_frame_token" supported="egl">
<require>
<command name="eglSwapBuffersWithFrameTokenANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_prepare_swap_buffers" supported="egl">
<require>
<command name="eglPrepareSwapBuffersANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_power_preference" supported="egl">
<require>
<command name="eglReleaseHighPowerGPUANGLE"/>
<command name="eglReacquireHighPowerGPUANGLE"/>
<command name="eglHandleGPUSwitchANGLE"/>
<command name="eglForceGPUSwitchANGLE"/>
<enum name="EGL_POWER_PREFERENCE_ANGLE"/>
<enum name="EGL_LOW_POWER_ANGLE"/>
<enum name="EGL_HIGH_POWER_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_display_semaphore_share_group" supported="egl">
<require>
<enum name="EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_display_texture_share_group" supported="egl">
<require>
<enum name="EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_vulkan_image" supported="egl">
<require>
<command name="eglExportVkImageANGLE"/>
<enum name="EGL_VULKAN_IMAGE_ANGLE"/>
<enum name="EGL_VULKAN_IMAGE_CREATE_INFO_HI_ANGLE"/>
<enum name="EGL_VULKAN_IMAGE_CREATE_INFO_LO_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_metal_create_context_ownership_identity" supported="egl">
<require>
<enum name="EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_colorspace_attribute_passthrough" supported="egl" />
<extension name="EGL_ANGLE_context_virtualization" supported="egl">
<require>
<enum name="EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_create_context_backwards_compatible" supported="egl">
<require>
<enum name="EGL_CONTEXT_OPENGL_BACKWARDS_COMPATIBLE_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_create_context_client_arrays" supported="egl">
<require>
<enum name="EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_create_context_extensions_enabled" supported="egl">
<require>
<enum name="EGL_EXTENSIONS_ENABLED_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_create_context_webgl_compatibility" supported="egl">
<require>
<enum name="EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_create_surface_swap_interval" supported="egl">
<require>
<enum name="EGL_SWAP_INTERVAL_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_d3d_share_handle_client_buffer" supported="egl">
<require>
<enum name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_device_cgl" supported="egl">
<require>
<enum name="EGL_CGL_CONTEXT_ANGLE"/>
<enum name="EGL_CGL_PIXEL_FORMAT_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_device_eagl" supported="egl">
<require>
<enum name="EGL_EAGL_CONTEXT_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_device_metal" supported="egl">
<require>
<enum name="EGL_METAL_DEVICE_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_device_vulkan" supported="egl">
<require>
<enum name="EGL_VULKAN_VERSION_ANGLE"/>
<enum name="EGL_VULKAN_INSTANCE_ANGLE"/>
<enum name="EGL_VULKAN_INSTANCE_EXTENSIONS_ANGLE"/>
<enum name="EGL_VULKAN_PHYSICAL_DEVICE_ANGLE"/>
<enum name="EGL_VULKAN_DEVICE_ANGLE"/>
<enum name="EGL_VULKAN_DEVICE_EXTENSIONS_ANGLE"/>
<enum name="EGL_VULKAN_FEATURES_ANGLE"/>
<enum name="EGL_VULKAN_QUEUE_ANGLE"/>
<enum name="EGL_VULKAN_QUEUE_FAMILIY_INDEX_ANGLE"/>
<enum name="EGL_VULKAN_GET_INSTANCE_PROC_ADDR"/>
</require>
</extension>
<extension name="EGL_ANGLE_direct_composition" supported="egl">
<require>
<enum name="EGL_DIRECT_COMPOSITION_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_display_power_preference" supported="egl">
<require>
<enum name="EGL_POWER_PREFERENCE_ANGLE"/>
<enum name="EGL_LOW_POWER_ANGLE"/>
<enum name="EGL_HIGH_POWER_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_experimental_present_path" supported="egl">
<require>
<enum name="EGL_EXPERIMENTAL_PRESENT_PATH_ANGLE"/>
<enum name="EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE"/>
<enum name="EGL_EXPERIMENTAL_PRESENT_PATH_COPY_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_ggp_stream_descriptor" supported="egl">
<require>
<enum name="EGL_GGP_STREAM_DESCRIPTOR_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_iosurface_client_buffer" supported="egl">
<require>
<enum name="EGL_IOSURFACE_ANGLE"/>
<enum name="EGL_IOSURFACE_PLANE_ANGLE"/>
<enum name="EGL_TEXTURE_RECTANGLE_ANGLE"/>
<enum name="EGL_TEXTURE_TYPE_ANGLE"/>
<enum name="EGL_TEXTURE_INTERNAL_FORMAT_ANGLE"/>
<enum name="EGL_IOSURFACE_USAGE_HINT_ANGLE"/>
<enum name="EGL_BIND_TO_TEXTURE_TARGET_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_keyed_mutex" supported="egl">
<require>
<enum name="EGL_DXGI_KEYED_MUTEX_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_metal_create_context_ownership_identity" supported="egl">
<require>
<enum name="EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_metal_texture_client_buffer" supported="egl">
<require>
<enum name="EGL_METAL_TEXTURE_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_TYPE_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED"/>
<enum name="EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_d3d" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_WARP_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_REFERENCE_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_d3d11on12" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_D3D11ON12_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_d3d_luid" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_D3D_LUID_HIGH_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_D3D_LUID_LOW_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_device_context_volatile_cgl" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_CGL_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_device_context_volatile_eagl" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_EAGL_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_device_id" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_ID_HIGH_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_ID_LOW_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_device_type_egl" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_device_type_swiftshader" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_SWIFTSHADER_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_metal" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_null" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_opengl" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE"/>
<enum name="EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_platform_angle_vulkan" supported="egl">
<require>
<enum name="EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_robust_resource_initialization" supported="egl">
<require>
<enum name="EGL_ROBUST_RESOURCE_INITIALIZATION_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_surface_orientation" supported="egl">
<require>
<enum name="EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE"/>
<enum name="EGL_SURFACE_ORIENTATION_ANGLE"/>
<enum name="EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE"/>
<enum name="EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_surface_orientation" supported="egl">
<require>
<enum name="EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE"/>
<enum name="EGL_SURFACE_ORIENTATION_ANGLE"/>
<enum name="EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE"/>
<enum name="EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_vulkan_display" supported="egl">
<require>
<enum name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE"/>
<enum name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE"/>
</require>
</extension>
<extension name="EGL_ANGLE_metal_shared_event_sync" supported="egl">
<require>
<enum name="EGL_SYNC_METAL_SHARED_EVENT_ANGLE"/>
<enum name="EGL_SYNC_METAL_SHARED_EVENT_OBJECT_ANGLE"/>
<enum name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_LO_ANGLE"/>
<enum name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_HI_ANGLE"/>
</require>
</extension>
</extensions>
<!-- SECTION: EGL enumerant (token) definitions. -->
<enums namespace="EGL" start="0x3202" end="0x320F" vendor="ANGLE">
<enum value="0x3202" name="EGL_PLATFORM_ANGLE_ANGLE"/>
<enum value="0x3203" name="EGL_PLATFORM_ANGLE_TYPE_ANGLE"/>
<enum value="0x3204" name="EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE"/>
<enum value="0x3205" name="EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE"/>
<enum value="0x3206" name="EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE"/>
<enum value="0x3207" name="EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE"/>
<enum value="0x3208" name="EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE"/>
<enum value="0x3209" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE"/>
<enum value="0x320A" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE"/>
<enum value="0x320B" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_WARP_ANGLE"/>
<enum value="0x320C" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_REFERENCE_ANGLE"/>
<enum value="0x320D" name="EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE"/>
<enum value="0x320E" name="EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE"/>
<enum value="0x320F" name="EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE"/>
</enums>
<enums namespace="EGL" start="0x322F" end="0x322F" vendor="ANGLE">
<enum value="0x322F" name="EGL_SWAP_INTERVAL_ANGLE" alias="EGL_SWAP_INTERVAL_EXT"/>
</enums>
<enums namespace="EGL" start="0x33A0" end="0x33AF" vendor="ANGLE">
<!-- 0x33A0-0x33A1 are defined in egl.xml already -->
<enum value="0x33A2" name="EGL_DXGI_KEYED_MUTEX_ANGLE"/>
<enum value="0x33A3" name="EGL_D3D_TEXTURE_ANGLE"/>
<enum value="0x33A4" name="EGL_EXPERIMENTAL_PRESENT_PATH_ANGLE"/>
<enum value="0x33A5" name="EGL_DIRECT_COMPOSITION_ANGLE"/>
<enum value="0x33A7" name="EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE"/>
<enum value="0x33A8" name="EGL_SURFACE_ORIENTATION_ANGLE"/>
<enum value="0x33A9" name="EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE"/>
<enum value="0x33AA" name="EGL_EXPERIMENTAL_PRESENT_PATH_COPY_ANGLE"/>
<enum value="0x33AB" name="EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE"/>
<enum value="0x33AC" name="EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE"/>
<enum value="0x33AE" name="EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE"/>
<enum value="0x33AF" name="EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE"/>
</enums>
<enums namespace="EGL" start="0x3450" end="0x345F" vendor="ANGLE">
<enum value="0x3450" name="EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE"/>
<enum value="0x3451" name="EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED"/>
<enum value="0x3452" name="EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE"/>
<enum value="0x3453" name="EGL_ROBUST_RESOURCE_INITIALIZATION_ANGLE"/>
<enum value="0x3454" name="EGL_IOSURFACE_ANGLE"/>
<enum value="0x3455" name="EGL_PROGRAM_CACHE_SIZE_ANGLE"/>
<enum value="0x3456" name="EGL_PROGRAM_CACHE_KEY_LENGTH_ANGLE"/>
<enum value="0x3457" name="EGL_PROGRAM_CACHE_RESIZE_ANGLE"/>
<enum value="0x3458" name="EGL_PROGRAM_CACHE_TRIM_ANGLE"/>
<enum value="0x3459" name="EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE"/>
<enum value="0x345A" name="EGL_IOSURFACE_PLANE_ANGLE"/>
<enum value="0x345B" name="EGL_TEXTURE_RECTANGLE_ANGLE"/>
<enum value="0x345C" name="EGL_TEXTURE_TYPE_ANGLE"/>
<enum value="0x345D" name="EGL_TEXTURE_INTERNAL_FORMAT_ANGLE"/>
<enum value="0x345E" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE"/>
<enum value="0x345F" name="EGL_EXTENSIONS_ENABLED_ANGLE"/>
</enums>
<enums namespace="EGL" start="0x3460" end="0x346F" vendor="ANGLE">
<enum value="0x3460" name="EGL_FEATURE_NAME_ANGLE"/>
<enum value="0x3461" name="EGL_FEATURE_CATEGORY_ANGLE"/>
<enum value="0x3462" name="EGL_FEATURE_DESCRIPTION_ANGLE"/>
<enum value="0x3463" name="EGL_FEATURE_BUG_ANGLE"/>
<enum value="0x3464" name="EGL_FEATURE_STATUS_ANGLE"/>
<enum value="0x3465" name="EGL_FEATURE_COUNT_ANGLE"/>
<enum value="0x3466" name="EGL_FEATURE_OVERRIDES_ENABLED_ANGLE"/>
<enum value="0x3467" name="EGL_FEATURE_OVERRIDES_DISABLED_ANGLE"/>
<enum value="0x3468" name="EGL_FEATURE_CONDITION_ANGLE"/>
<enum value="0x3469" name="EGL_FEATURE_ALL_DISABLED_ANGLE"/>
</enums>
<enums namespace="EGL" start="0x3480" end="0x348F" vendor="ANGLE">
<enum value="0x3480" name="EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE"/>
<enum value="0x3481" name="EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE"/>
<enum value="0x3482" name="EGL_POWER_PREFERENCE_ANGLE"/>
<enum value="0x3483" name="EGL_CONTEXT_OPENGL_BACKWARDS_COMPATIBLE_ANGLE"/>
<enum value="0x3485" name="EGL_CGL_CONTEXT_ANGLE"/>
<enum value="0x3486" name="EGL_CGL_PIXEL_FORMAT_ANGLE"/>
<enum value="0x3487" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_SWIFTSHADER_ANGLE"/>
<enum value="0x3488" name="EGL_PLATFORM_ANGLE_D3D11ON12_ANGLE"/>
<enum value="0x3489" name="EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE"/>
<enum value="0x348A" name="EGL_IOSURFACE_USAGE_HINT_ANGLE"/>
<enum value="0x348B" name="EGL_GGP_STREAM_DESCRIPTOR_ANGLE"/>
<enum value="0x348C" name="EGL_EAGL_CONTEXT_ANGLE"/>
<!-- NOTE: Yes, these two values are the same according to the extension specs. -->
<enum value="0x348D" name="EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE"/>
<enum value="0x348D" name="EGL_BIND_TO_TEXTURE_TARGET_ANGLE"/>
<enum value="0x348E" name="EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE"/>
<enum value="0x348F" name="EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE"/>
</enums>
<enums namespace="EGL" start="0x34A0" end="0x34AF" vendor="ANGLE">
<enum value="0x34A0" name="EGL_PLATFORM_ANGLE_D3D_LUID_HIGH_ANGLE"/>
<enum value="0x34A1" name="EGL_PLATFORM_ANGLE_D3D_LUID_LOW_ANGLE"/>
<enum value="0x34A2" name="EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_EAGL_ANGLE"/>
<enum value="0x34A3" name="EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_CGL_ANGLE"/>
<enum value="0x34A4" name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE"/>
<enum value="0x34A5" name="EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE"/>
<enum value="0x34A6" name="EGL_METAL_DEVICE_ANGLE"/>
<enum value="0x34A7" name="EGL_METAL_TEXTURE_ANGLE"/>
<enum value="0x34A8" name="EGL_VULKAN_VERSION_ANGLE"/>
<enum value="0x34A9" name="EGL_VULKAN_INSTANCE_ANGLE"/>
<enum value="0x34AA" name="EGL_VULKAN_INSTANCE_EXTENSIONS_ANGLE"/>
<enum value="0x34AB" name="EGL_VULKAN_PHYSICAL_DEVICE_ANGLE"/>
<enum value="0x34AC" name="EGL_VULKAN_DEVICE_ANGLE"/>
<enum value="0x34AD" name="EGL_VULKAN_DEVICE_EXTENSIONS_ANGLE"/>
<enum value="0x34AE" name="EGL_VULKAN_FEATURES_ANGLE"/>
<enum value="0x34AF" name="EGL_VULKAN_QUEUE_ANGLE"/>
</enums>
<enums namespace="EGL" start="0x34D0" end="0x34DF" vendor="ANGLE">
<enum value="0x34D0" name="EGL_VULKAN_QUEUE_FAMILIY_INDEX_ANGLE"/>
<enum value="0x34D1" name="EGL_VULKAN_GET_INSTANCE_PROC_ADDR"/>
<enum value="0x34D2" name="EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE"/>
<enum value="0x34D3" name="EGL_VULKAN_IMAGE_ANGLE"/>
<enum value="0x34D4" name="EGL_VULKAN_IMAGE_CREATE_INFO_HI_ANGLE"/>
<enum value="0x34D5" name="EGL_VULKAN_IMAGE_CREATE_INFO_LO_ANGLE"/>
<enum value="0x34D6" name="EGL_PLATFORM_ANGLE_DEVICE_ID_HIGH_ANGLE"/>
<enum value="0x34D7" name="EGL_PLATFORM_ANGLE_DEVICE_ID_LOW_ANGLE"/>
<enum value="0x34D8" name="EGL_SYNC_METAL_SHARED_EVENT_ANGLE"/>
<enum value="0x34D9" name="EGL_SYNC_METAL_SHARED_EVENT_OBJECT_ANGLE"/>
<enum value="0x34DA" name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_LO_ANGLE"/>
<enum value="0x34DB" name="EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_HI_ANGLE"/>
</enums>
<enums namespace="EGL" vendor="ANGLE">
<enum value="0x0001" name="EGL_LOW_POWER_ANGLE"/>
<enum value="0x0002" name="EGL_HIGH_POWER_ANGLE"/>
<enum value="0x0001" name="EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE"/>
<enum value="0x0002" name="EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE"/>
</enums>
</registry>