xref: /aosp_15_r20/external/angle/doc/ExtensionSupport.md (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# ANGLE Supported Extensions
2*8975f5c5SAndroid Build Coastguard Worker
3*8975f5c5SAndroid Build Coastguard WorkerThis is a list of all extensions currently supported by ANGLE's front-end, and
4*8975f5c5SAndroid Build Coastguard Workersupport listed for some of the tested targets for ANGLE's Vulkan back-end. To
5*8975f5c5SAndroid Build Coastguard Workerproduce a list of all supported extensions in the Vulkan back-end, run
6*8975f5c5SAndroid Build Coastguard Worker`angle_end2end_tests` with `--gtest_filter EGLPrintEGLinfoTest.PrintGLInfo/ES*_Vulkan`.
7*8975f5c5SAndroid Build Coastguard Worker
8*8975f5c5SAndroid Build Coastguard WorkerSpecifications for GLES extensions can be found in the [Khronos OpenGL ES API
9*8975f5c5SAndroid Build Coastguard WorkerRegistry](http://www.khronos.org/registry/gles/)
10*8975f5c5SAndroid Build Coastguard Worker
11*8975f5c5SAndroid Build Coastguard WorkerSpecifications for EGL extensions can be found in the [Khronos EGL API
12*8975f5c5SAndroid Build Coastguard WorkerRegistry](http://www.khronos.org/registry/egl/)
13*8975f5c5SAndroid Build Coastguard Worker
14*8975f5c5SAndroid Build Coastguard WorkerSpecifications for ANGLE-specific extensions can be found in the [ANGLE
15*8975f5c5SAndroid Build Coastguard Workerextension registry](../extensions)
16*8975f5c5SAndroid Build Coastguard Worker
17*8975f5c5SAndroid Build Coastguard WorkerThis list is automatically generated by [`gen_extensions.py`](../src/libANGLE/gen_extensions.py)
18*8975f5c5SAndroid Build Coastguard Workerusing data from registry_xml.py and gl.xml.
19*8975f5c5SAndroid Build Coastguard Worker
20*8975f5c5SAndroid Build Coastguard Worker## GLES 2.0, 3.0, 3.1 and 3.2 extension support
21*8975f5c5SAndroid Build Coastguard Worker
22*8975f5c5SAndroid Build Coastguard Worker*Note: some data is sampled from older drivers, so might not represent the latest driver support.*
23*8975f5c5SAndroid Build Coastguard Worker
24*8975f5c5SAndroid Build Coastguard Worker| Extension Name | NVIDIA 1660 Win10 | Intel 630 Win10 | NVIDIA 1660 Linux | Intel 630 Linux | SwiftShader Win10 | Pixel 4 Android 11 | Pixel 6 Android 13 |
25*8975f5c5SAndroid Build Coastguard Worker| -------------- | :---------------: | :-------------: | :---------------: | :-------------: | :---------------: | :----------------: | :----------------: |
26*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_base_instance](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_base_instance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
27*8975f5c5SAndroid Build Coastguard Worker| [GL_KHR_blend_equation_advanced](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_blend_equation_advanced.txt) | ✔ |  | ✔ |  | ✔ | ✔ | ✔ |
28*8975f5c5SAndroid Build Coastguard Worker| [GL_KHR_blend_equation_advanced_coherent](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_blend_equation_advanced_coherent.txt) |  |  |  |  |  |  |  |
29*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_blend_func_extended](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_blend_func_extended.txt) | ✔ | ✔ | ✔ | ✔ |  | ✔ |  |
30*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_blend_minmax](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_blend_minmax.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
31*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_buffer_storage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_buffer_storage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
32*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_clear_texture](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_clear_texture.txt) |  |  |  |  |  |  |  |
33*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_clip_control](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_clip_control.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
34*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_clip_cull_distance](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_clip_cull_distance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |  |
35*8975f5c5SAndroid Build Coastguard Worker| [GL_APPLE_clip_distance](https://khronos.org/registry/OpenGL/extensions/APPLE/APPLE_clip_distance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |  |
36*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_color_buffer_float](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_color_buffer_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
37*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_color_buffer_half_float](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_color_buffer_half_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
38*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_EAC_R11_signed_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_R11_signed_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
39*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_EAC_R11_unsigned_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_R11_unsigned_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
40*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_EAC_RG11_signed_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_RG11_signed_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
41*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_EAC_RG11_unsigned_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_RG11_unsigned_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
42*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_compressed_ETC1_RGB8_sub_texture](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_compressed_ETC1_RGB8_sub_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
43*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_ETC1_RGB8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC1_RGB8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
44*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_punchthroughA_RGBA8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
45*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
46*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_ETC2_RGB8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_RGB8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
47*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_ETC2_RGBA8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_RGBA8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
48*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_ETC2_sRGB8_alpha8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_sRGB8_alpha8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
49*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_ETC2_sRGB8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_sRGB8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
50*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_compressed_paletted_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_paletted_texture.txt) |  |  |  |  |  |  |  |
51*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_conservative_depth](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_conservative_depth.txt) |  |  |  |  |  |  |  |
52*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_copy_image](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_copy_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
53*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_copy_image](https://khronos.org/registry/OpenGL/extensions/OES/OES_copy_image.txt) |  |  |  |  |  |  |  |
54*8975f5c5SAndroid Build Coastguard Worker| [GL_KHR_debug](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_debug.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
55*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_debug_label](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_debug_label.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
56*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_debug_marker](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_debug_marker.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
57*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_depth24](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth24.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
58*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_depth32](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth32.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
59*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_depth_buffer_float2](https://khronos.org/registry/OpenGL/extensions/NV/NV_depth_buffer_float2.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
60*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_depth_clamp](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_depth_clamp.txt) |  |  |  |  |  |  |  |
61*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_depth_texture](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_depth_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
62*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_depth_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
63*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_depth_texture_cube_map](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth_texture_cube_map.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
64*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_discard_framebuffer](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_discard_framebuffer.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
65*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_disjoint_timer_query](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_disjoint_timer_query.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
66*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_draw_buffers](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_draw_buffers.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
67*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_draw_buffers_indexed](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_draw_buffers_indexed.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
68*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_draw_buffers_indexed](https://khronos.org/registry/OpenGL/extensions/OES/OES_draw_buffers_indexed.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
69*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_draw_elements_base_vertex](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_draw_elements_base_vertex.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
70*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_draw_elements_base_vertex](https://khronos.org/registry/OpenGL/extensions/OES/OES_draw_elements_base_vertex.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
71*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_EGL_image](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
72*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_EGL_image_array](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
73*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_EGL_image_external](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image_external.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
74*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_EGL_image_external_essl3](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image_external_essl3.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
75*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_EGL_image_external_wrap_modes](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_external_wrap_modes.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
76*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_EGL_image_storage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_storage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
77*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_EGL_image_storage_compression](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_storage_compression.txt) |  |  |  |  |  |  |  |
78*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_EGL_stream_consumer_external](https://khronos.org/registry/OpenGL/extensions/NV/NV_EGL_stream_consumer_external.txt) |  |  |  |  |  |  |  |
79*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_EGL_sync](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_sync.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
80*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_element_index_uint](https://khronos.org/registry/OpenGL/extensions/OES/OES_element_index_uint.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
81*8975f5c5SAndroid Build Coastguard Worker| [GL_ANDROID_extension_pack_es31a](https://khronos.org/registry/OpenGL/extensions/ANDROID/ANDROID_extension_pack_es31a.txt) | ✔ |  |  |  |  |  | ✔ |
82*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_external_buffer](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_buffer.txt) |  |  |  |  |  | ✔ | ✔ |
83*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_fbo_render_mipmap](https://khronos.org/registry/OpenGL/extensions/OES/OES_fbo_render_mipmap.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
84*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_fence](https://khronos.org/registry/OpenGL/extensions/NV/NV_fence.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
85*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_float_blend](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_float_blend.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |  |
86*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_frag_depth](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_frag_depth.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
87*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_framebuffer_blit](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_framebuffer_blit.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
88*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_framebuffer_blit](https://khronos.org/registry/OpenGL/extensions/NV/NV_framebuffer_blit.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
89*8975f5c5SAndroid Build Coastguard Worker| [GL_MESA_framebuffer_flip_y](https://khronos.org/registry/OpenGL/extensions/MESA/MESA_framebuffer_flip_y.txt) |  |  |  |  |  |  |  |
90*8975f5c5SAndroid Build Coastguard Worker| [GL_QCOM_framebuffer_foveated](https://khronos.org/registry/OpenGL/extensions/QCOM/QCOM_framebuffer_foveated.txt) |  |  |  |  |  |  |  |
91*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_geometry_shader](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_geometry_shader.txt) | ✔ | ✔ | ✔ | ✔ |  |  | ✔ |
92*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_geometry_shader](https://khronos.org/registry/OpenGL/extensions/OES/OES_geometry_shader.txt) | ✔ | ✔ | ✔ | ✔ |  |  | ✔ |
93*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_get_program_binary](https://khronos.org/registry/OpenGL/extensions/OES/OES_get_program_binary.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
94*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_gpu_shader5](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_gpu_shader5.txt) | ✔ | ✔ | ✔ | ✔ |  | ✔ | ✔ |
95*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_gpu_shader5](https://khronos.org/registry/OpenGL/extensions/OES/OES_gpu_shader5.txt) |  |  |  |  |  |  |  |
96*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_instanced_arrays](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_instanced_arrays.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
97*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_instanced_arrays](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_instanced_arrays.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
98*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_mapbuffer](https://khronos.org/registry/OpenGL/extensions/OES/OES_mapbuffer.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
99*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_map_buffer_range](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_map_buffer_range.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
100*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_memory_object](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_memory_object.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
101*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_memory_object_fd](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects_fd.txt) |  |  | ✔ | ✔ |  | ✔ | ✔ |
102*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_multi_draw_indirect](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multi_draw_indirect.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
103*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_multisample_compatibility](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multisample_compatibility.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
104*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_multisampled_render_to_texture](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multisampled_render_to_texture.txt) |  |  |  |  |  |  |  |
105*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_multisampled_render_to_texture2](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multisampled_render_to_texture2.txt) |  |  |  |  |  |  |  |
106*8975f5c5SAndroid Build Coastguard Worker| [GL_OVR_multiview](https://khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
107*8975f5c5SAndroid Build Coastguard Worker| [GL_OVR_multiview2](https://khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview2.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
108*8975f5c5SAndroid Build Coastguard Worker| [GL_KHR_no_error](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_no_error.txt) |  |  |  |  |  |  |  |
109*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_occlusion_query_boolean](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_occlusion_query_boolean.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
110*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_packed_depth_stencil](https://khronos.org/registry/OpenGL/extensions/OES/OES_packed_depth_stencil.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
111*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_pack_reverse_row_order](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_pack_reverse_row_order.txt) |  |  |  |  |  |  |  |
112*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_pack_subimage](https://khronos.org/registry/OpenGL/extensions/NV/NV_pack_subimage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
113*8975f5c5SAndroid Build Coastguard Worker| [GL_KHR_parallel_shader_compile](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_parallel_shader_compile.txt) |  |  |  |  |  |  |  |
114*8975f5c5SAndroid Build Coastguard Worker| [GL_AMD_performance_monitor](https://khronos.org/registry/OpenGL/extensions/AMD/AMD_performance_monitor.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
115*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_pixel_buffer_object](https://khronos.org/registry/OpenGL/extensions/NV/NV_pixel_buffer_object.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
116*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_polygon_mode](https://khronos.org/registry/OpenGL/extensions/NV/NV_polygon_mode.txt) |  |  |  |  |  |  |  |
117*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_polygon_offset_clamp](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_polygon_offset_clamp.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
118*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_primitive_bounding_box](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_primitive_bounding_box.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
119*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_primitive_bounding_box](https://khronos.org/registry/OpenGL/extensions/OES/OES_primitive_bounding_box.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
120*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_protected_textures](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_protected_textures.txt) |  |  |  |  |  | ✔ |  |
121*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_pvrtc_sRGB](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_pvrtc_sRGB.txt) |  |  |  |  |  |  |  |
122*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_read_depth](https://khronos.org/registry/OpenGL/extensions/NV/NV_read_depth.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
123*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_read_depth_stencil](https://khronos.org/registry/OpenGL/extensions/NV/NV_read_depth_stencil.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
124*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_read_format_bgra](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_read_format_bgra.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
125*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_read_stencil](https://khronos.org/registry/OpenGL/extensions/NV/NV_read_stencil.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
126*8975f5c5SAndroid Build Coastguard Worker| [GL_QCOM_render_shared_exponent](https://khronos.org/registry/OpenGL/extensions/QCOM/QCOM_render_shared_exponent.txt) |  |  |  |  |  |  |  |
127*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_render_snorm](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_render_snorm.txt) |  |  |  |  |  |  |  |
128*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_required_internalformat](https://khronos.org/registry/OpenGL/extensions/OES/OES_required_internalformat.txt) |  |  |  |  |  |  |  |
129*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_rgb8_rgba8](https://khronos.org/registry/OpenGL/extensions/OES/OES_rgb8_rgba8.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
130*8975f5c5SAndroid Build Coastguard Worker| [GL_ARM_rgba8](https://khronos.org/registry/OpenGL/extensions/ARM/ARM_rgba8.txt) |  |  |  |  |  |  |  |
131*8975f5c5SAndroid Build Coastguard Worker| [GL_KHR_robust_buffer_access_behavior](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_robust_buffer_access_behavior.txt) |  |  |  |  |  |  |  |
132*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_robustness](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_robustness.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
133*8975f5c5SAndroid Build Coastguard Worker| [GL_KHR_robustness](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_robustness.txt) |  |  |  |  |  |  |  |
134*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_robustness_video_memory_purge](https://khronos.org/registry/OpenGL/extensions/NV/NV_robustness_video_memory_purge.txt) |  |  |  |  |  |  |  |
135*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_sample_shading](https://khronos.org/registry/OpenGL/extensions/OES/OES_sample_shading.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
136*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_sample_variables](https://khronos.org/registry/OpenGL/extensions/OES/OES_sample_variables.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
137*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_semaphore](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_semaphore.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
138*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_semaphore_fd](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects_fd.txt) |  |  | ✔ | ✔ |  | ✔ | ✔ |
139*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_separate_depth_stencil](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_separate_depth_stencil.txt) |  |  |  |  |  |  |  |
140*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_separate_shader_objects](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_separate_shader_objects.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
141*8975f5c5SAndroid Build Coastguard Worker| [GL_ARM_shader_framebuffer_fetch](https://khronos.org/registry/OpenGL/extensions/ARM/ARM_shader_framebuffer_fetch.txt) |  |  |  |  | ✔ |  | ✔ |
142*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_shader_framebuffer_fetch](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_framebuffer_fetch.txt) |  |  |  |  | ✔ |  | ✔ |
143*8975f5c5SAndroid Build Coastguard Worker| [GL_ARM_shader_framebuffer_fetch_depth_stencil](https://khronos.org/registry/OpenGL/extensions/ARM/ARM_shader_framebuffer_fetch_depth_stencil.txt) |  |  |  |  |  |  |  |
144*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_shader_framebuffer_fetch_non_coherent](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_framebuffer_fetch_non_coherent.txt) |  |  |  |  | ✔ |  |  |
145*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_shader_image_atomic](https://khronos.org/registry/OpenGL/extensions/OES/OES_shader_image_atomic.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
146*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_shader_io_blocks](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_io_blocks.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
147*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_shader_io_blocks](https://khronos.org/registry/OpenGL/extensions/OES/OES_shader_io_blocks.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
148*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_shader_multisample_interpolation](https://khronos.org/registry/OpenGL/extensions/OES/OES_shader_multisample_interpolation.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
149*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_shader_non_constant_global_initializers](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_non_constant_global_initializers.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
150*8975f5c5SAndroid Build Coastguard Worker| [GL_NV_shader_noperspective_interpolation](https://khronos.org/registry/OpenGL/extensions/NV/NV_shader_noperspective_interpolation.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
151*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_shader_texture_lod](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_texture_lod.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
152*8975f5c5SAndroid Build Coastguard Worker| [GL_QCOM_shading_rate](https://khronos.org/registry/OpenGL/extensions/QCOM/QCOM_shading_rate.txt) |  |  |  |  |  |  |  |
153*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_shadow_samplers](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shadow_samplers.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
154*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_sRGB](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_sRGB.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
155*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_sRGB_write_control](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_sRGB_write_control.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
156*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_standard_derivatives](https://khronos.org/registry/OpenGL/extensions/OES/OES_standard_derivatives.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
157*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_surfaceless_context](https://khronos.org/registry/OpenGL/extensions/OES/OES_surfaceless_context.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
158*8975f5c5SAndroid Build Coastguard Worker| [GL_ARB_sync](https://khronos.org/registry/OpenGL/extensions/ARB/ARB_sync.txt) |  |  |  |  |  |  |  |
159*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_tessellation_shader](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_tessellation_shader.txt) | ✔ | ✔ | ✔ | ✔ |  |  | ✔ |
160*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_tessellation_shader](https://khronos.org/registry/OpenGL/extensions/OES/OES_tessellation_shader.txt) |  |  |  |  |  |  |  |
161*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_3D](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_3D.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
162*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_border_clamp](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_border_clamp.txt) | ✔ | ✔ |  |  | ✔ |  | ✔ |
163*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_border_clamp](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_border_clamp.txt) | ✔ | ✔ |  |  | ✔ |  | ✔ |
164*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_buffer](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_buffer.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
165*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_buffer](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_buffer.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
166*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_compression_astc](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_compression_astc.txt) |  |  |  |  |  |  |  |
167*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_compression_astc_decode_mode](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_astc_decode_mode.txt) |  |  |  |  |  |  |  |
168*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_compression_astc_decode_mode_rgb9e5](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_astc_decode_mode_rgb9e5.txt) |  |  |  |  |  |  |  |
169*8975f5c5SAndroid Build Coastguard Worker| [GL_KHR_texture_compression_astc_hdr](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_texture_compression_astc_hdr.txt) |  |  |  |  |  |  |  |
170*8975f5c5SAndroid Build Coastguard Worker| [GL_KHR_texture_compression_astc_ldr](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_texture_compression_astc_ldr.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
171*8975f5c5SAndroid Build Coastguard Worker| [GL_KHR_texture_compression_astc_sliced_3d](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_texture_compression_astc_sliced_3d.txt) |  |  |  |  |  |  |  |
172*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_compression_bptc](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_bptc.txt) | ✔ | ✔ | ✔ | ✔ | ✔ |  |  |
173*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_compression_dxt1](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_dxt1.txt) | ✔ | ✔ | ✔ | ✔ | ✔ |  |  |
174*8975f5c5SAndroid Build Coastguard Worker| [GL_IMG_texture_compression_pvrtc](https://khronos.org/registry/OpenGL/extensions/IMG/IMG_texture_compression_pvrtc.txt) |  |  |  |  |  |  |  |
175*8975f5c5SAndroid Build Coastguard Worker| [GL_IMG_texture_compression_pvrtc2](https://khronos.org/registry/OpenGL/extensions/IMG/IMG_texture_compression_pvrtc2.txt) |  |  |  |  |  |  |  |
176*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_compression_rgtc](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_rgtc.txt) | ✔ | ✔ | ✔ | ✔ | ✔ |  |  |
177*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_compression_s3tc](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_s3tc.txt) |  |  |  |  |  |  |  |
178*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_compression_s3tc_srgb](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_s3tc_srgb.txt) | ✔ | ✔ | ✔ | ✔ | ✔ |  |  |
179*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_cube_map_array](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_cube_map_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
180*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_cube_map_array](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_cube_map_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
181*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_filter_anisotropic](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_filter_anisotropic.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
182*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_filter_minmax](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_filter_minmax.txt) |  |  |  |  |  |  |  |
183*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_float](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
184*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_float_linear](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_float_linear.txt) | ✔ | ✔ | ✔ | ✔ | ✔ |  | ✔ |
185*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_format_BGRA8888](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_format_BGRA8888.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
186*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_format_sRGB_override](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_format_sRGB_override.txt) |  | ✔ |  |  |  |  |  |
187*8975f5c5SAndroid Build Coastguard Worker| [GL_QCOM_texture_foveated](https://khronos.org/registry/OpenGL/extensions/QCOM/QCOM_texture_foveated.txt) |  |  |  |  |  |  |  |
188*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_half_float](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_half_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
189*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_half_float_linear](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_half_float_linear.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
190*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_mirror_clamp_to_edge](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_mirror_clamp_to_edge.txt) |  |  |  |  |  |  |  |
191*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_norm16](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_norm16.txt) |  | ✔ |  | ✔ |  |  |  |
192*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_npot](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_npot.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
193*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_query_lod](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_query_lod.txt) |  |  |  |  |  |  |  |
194*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_rg](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_rg.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
195*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_shadow_lod](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_shadow_lod.txt) |  |  |  |  |  |  |  |
196*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_sRGB_decode](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_sRGB_decode.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
197*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_sRGB_R8](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_sRGB_R8.txt) | ✔ |  | ✔ | ✔ | ✔ | ✔ | ✔ |
198*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_sRGB_RG8](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_sRGB_RG8.txt) |  |  |  |  | ✔ | ✔ | ✔ |
199*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_stencil8](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_stencil8.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
200*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_storage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_storage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
201*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_storage_compression](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_storage_compression.txt) |  |  |  |  |  |  |  |
202*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_storage_multisample_2d_array](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_storage_multisample_2d_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
203*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_texture_type_2_10_10_10_REV](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_type_2_10_10_10_REV.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
204*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_texture_usage](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_texture_usage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
205*8975f5c5SAndroid Build Coastguard Worker| [GL_QCOM_tiled_rendering](https://khronos.org/registry/OpenGL/extensions/QCOM/QCOM_tiled_rendering.txt) |  |  |  |  |  |  |  |
206*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_translated_shader_source](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_translated_shader_source.txt) |  |  |  |  |  |  |  |
207*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_unpack_subimage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_unpack_subimage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
208*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_vertex_array_object](https://khronos.org/registry/OpenGL/extensions/OES/OES_vertex_array_object.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
209*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_vertex_half_float](https://khronos.org/registry/OpenGL/extensions/OES/OES_vertex_half_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
210*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_vertex_type_10_10_10_2](https://khronos.org/registry/OpenGL/extensions/OES/OES_vertex_type_10_10_10_2.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
211*8975f5c5SAndroid Build Coastguard Worker| [GL_WEBGL_video_texture](https://khronos.org/registry/OpenGL/extensions/WEBGL/WEBGL_video_texture.txt) |  |  |  |  |  |  |  |
212*8975f5c5SAndroid Build Coastguard Worker| [GL_EXT_YUV_target](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt) |  |  |  |  |  |  |  |
213*8975f5c5SAndroid Build Coastguard Worker
214*8975f5c5SAndroid Build Coastguard Worker## ANGLE unofficial extension support
215*8975f5c5SAndroid Build Coastguard Worker
216*8975f5c5SAndroid Build Coastguard Worker*Note: some ANGLE extensions are currently missing specifications.*
217*8975f5c5SAndroid Build Coastguard Worker
218*8975f5c5SAndroid Build Coastguard Worker| Extension Name | NVIDIA 1660 Win10 | Intel 630 Win10 | NVIDIA 1660 Linux | Intel 630 Linux | SwiftShader Win10 | Pixel 4 Android 11 | Pixel 6 Android 13 |
219*8975f5c5SAndroid Build Coastguard Worker| -------------- | :---------------: | :-------------: | :---------------: | :-------------: | :---------------: | :----------------: | :----------------: |
220*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_base_vertex_base_instance](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_base_vertex_base_instance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
221*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_base_vertex_base_instance_shader_builtin](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_base_vertex_base_instance_shader_builtin.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
222*8975f5c5SAndroid Build Coastguard Worker| [GL_CHROMIUM_bind_generates_resource](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_bind_generates_resource.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
223*8975f5c5SAndroid Build Coastguard Worker| [GL_CHROMIUM_bind_uniform_location](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_bind_uniform_location.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
224*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_blob_cache](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_blob_cache.txt) |  |  |  |  |  |  |  |
225*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_client_arrays](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_client_arrays.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
226*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_clip_cull_distance](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_clip_cull_distance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |  |
227*8975f5c5SAndroid Build Coastguard Worker| [GL_CHROMIUM_color_buffer_float_rgb](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_color_buffer_float_rgb.txt) |  |  |  |  |  |  |  |
228*8975f5c5SAndroid Build Coastguard Worker| [GL_CHROMIUM_color_buffer_float_rgba](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_color_buffer_float_rgba.txt) |  |  |  |  |  |  |  |
229*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_compressed_texture_etc](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_compressed_texture_etc.txt) |  | ✔ |  | ✔ | ✔ | ✔ | ✔ |
230*8975f5c5SAndroid Build Coastguard Worker| [GL_CHROMIUM_copy_compressed_texture](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_copy_compressed_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
231*8975f5c5SAndroid Build Coastguard Worker| [GL_CHROMIUM_copy_texture](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_copy_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
232*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_copy_texture_3d](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_copy_texture_3d.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
233*8975f5c5SAndroid Build Coastguard Worker| [GL_CHROMIUM_framebuffer_mixed_samples](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_framebuffer_mixed_samples.txt) |  |  |  |  |  |  |  |
234*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_framebuffer_multisample](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_framebuffer_multisample.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
235*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_get_image](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_get_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
236*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_get_serialized_context_string](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_get_serialized_context_string.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
237*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_get_tex_level_parameter](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_get_tex_level_parameter.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
238*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_logic_op](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_logic_op.txt) | ✔ | ✔ | ✔ | ✔ |  |  |  |
239*8975f5c5SAndroid Build Coastguard Worker| [GL_CHROMIUM_lose_context](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_lose_context.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
240*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_lossy_etc_decode](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_lossy_etc_decode.txt) |  |  |  |  |  |  |  |
241*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_memory_object_flags](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_memory_object_flags.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
242*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_memory_object_fuchsia](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_memory_object_fuchsia.txt) |  |  |  |  |  |  |  |
243*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_memory_size](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_memory_size.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
244*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_multi_draw](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_multi_draw.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
245*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_multiview_multisample](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_multiview_multisample.txt) |  |  |  |  |  |  |  |
246*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_polygon_mode](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_polygon_mode.txt) |  |  |  |  |  |  |  |
247*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_program_binary](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_program_binary.txt) |  |  |  |  |  |  |  |
248*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_program_binary_readiness_query](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_program_binary_readiness_query.txt) |  |  |  |  |  |  |  |
249*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_program_cache_control](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_program_cache_control.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
250*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_provoking_vertex](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_provoking_vertex.txt) |  |  |  |  |  |  |  |
251*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_read_only_depth_stencil_feedback_loops](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_read_only_depth_stencil_feedback_loops.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
252*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_relaxed_vertex_attribute_type](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_relaxed_vertex_attribute_type.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
253*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_renderability_validation](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_renderability_validation.txt) |  |  |  |  |  |  |  |
254*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_request_extension](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_request_extension.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
255*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_rgbx_internal_format](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_rgbx_internal_format.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
256*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_robust_client_memory](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_robust_client_memory.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
257*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_robust_fragment_shader_output](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_robust_fragment_shader_output.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
258*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_robust_resource_initialization](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_robust_resource_initialization.txt) |  |  |  |  |  |  |  |
259*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_semaphore_fuchsia](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_semaphore_fuchsia.txt) |  |  |  |  |  |  |  |
260*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_shader_binary](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_shader_binary.txt) |  |  |  |  |  |  |  |
261*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_shader_pixel_local_storage](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_shader_pixel_local_storage.txt) |  |  |  |  |  |  |  |
262*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_shader_pixel_local_storage_coherent](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_shader_pixel_local_storage.txt) |  |  |  |  |  |  |  |
263*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_stencil_texturing](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_stencil_texturing.txt) |  |  |  |  |  |  |  |
264*8975f5c5SAndroid Build Coastguard Worker| [GL_CHROMIUM_sync_query](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_sync_query.txt) |  |  |  |  |  |  |  |
265*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_texture_compression_dxt3](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_compression_dxt3.txt) | ✔ | ✔ | ✔ | ✔ | ✔ |  |  |
266*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_texture_compression_dxt5](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_compression_dxt5.txt) | ✔ | ✔ | ✔ | ✔ | ✔ |  |  |
267*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_texture_external_update](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_external_update.txt) |  |  |  |  |  |  |  |
268*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_texture_multisample](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_multisample.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
269*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_texture_rectangle](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_rectangle.txt) |  |  |  |  |  |  |  |
270*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_vulkan_image](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_vulkan_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
271*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_webgl_compatibility](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_webgl_compatibility.txt) |  |  |  |  |  |  |  |
272*8975f5c5SAndroid Build Coastguard Worker| [GL_ANGLE_yuv_internal_format](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_yuv_internal_format.txt) | ✔ |  | ✔ | ✔ | ✔ | ✔ | ✔ |
273*8975f5c5SAndroid Build Coastguard Worker
274*8975f5c5SAndroid Build Coastguard Worker## GLES 1.0 and 1.1 extension support
275*8975f5c5SAndroid Build Coastguard Worker
276*8975f5c5SAndroid Build Coastguard Worker| Extension Name | SwiftShader Win10 |
277*8975f5c5SAndroid Build Coastguard Worker| -------------- | :---------------: |
278*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_blend_subtract](https://khronos.org/registry/OpenGL/extensions/OES/OES_blend_subtract.txt) |  |
279*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_draw_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_draw_texture.txt) | ✔ |
280*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_framebuffer_object](https://khronos.org/registry/OpenGL/extensions/OES/OES_framebuffer_object.txt) | ✔ |
281*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_matrix_palette](https://khronos.org/registry/OpenGL/extensions/OES/OES_matrix_palette.txt) |  |
282*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_point_size_array](https://khronos.org/registry/OpenGL/extensions/OES/OES_point_size_array.txt) | ✔ |
283*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_point_sprite](https://khronos.org/registry/OpenGL/extensions/OES/OES_point_sprite.txt) | ✔ |
284*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_query_matrix](https://khronos.org/registry/OpenGL/extensions/OES/OES_query_matrix.txt) |  |
285*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_cube_map](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_cube_map.txt) | ✔ |
286*8975f5c5SAndroid Build Coastguard Worker| [GL_OES_texture_mirrored_repeat](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_mirrored_repeat.txt) |  |
287*8975f5c5SAndroid Build Coastguard Worker
288*8975f5c5SAndroid Build Coastguard Worker## EGL extension support
289*8975f5c5SAndroid Build Coastguard Worker
290*8975f5c5SAndroid Build Coastguard WorkerCurrently EGL extensions are not automatically tracked by our scripting. For a
291*8975f5c5SAndroid Build Coastguard Workerlist of supported EGL extensions in ANGLE's front-end see
292*8975f5c5SAndroid Build Coastguard Worker[`src/libANGLE/Caps.h`](../src/libANGLE/Caps.h).
293*8975f5c5SAndroid Build Coastguard Worker
294*8975f5c5SAndroid Build Coastguard Worker## Configuration information
295*8975f5c5SAndroid Build Coastguard Worker
296*8975f5c5SAndroid Build Coastguard WorkerNVIDIA 1660 Win10:
297*8975f5c5SAndroid Build Coastguard Worker
298*8975f5c5SAndroid Build Coastguard Worker * `GL_RENDERER` is `ANGLE (NVIDIA, Vulkan 1.2.142 (NVIDIA GeForce GTX 1660 (0x00002184)), NVIDIA-456.38.0.0)`
299*8975f5c5SAndroid Build Coastguard Worker * `GL_VENDOR` is `Google Inc. (NVIDIA)`
300*8975f5c5SAndroid Build Coastguard Worker * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)`
301*8975f5c5SAndroid Build Coastguard Worker * Data updated February 22, 2023
302*8975f5c5SAndroid Build Coastguard Worker
303*8975f5c5SAndroid Build Coastguard WorkerIntel 630 Win10:
304*8975f5c5SAndroid Build Coastguard Worker
305*8975f5c5SAndroid Build Coastguard Worker * `GL_RENDERER` is `ANGLE (Intel, Vulkan 1.3.215 (Intel(R) UHD Graphics 630 (0x00009BC5)), Intel Corporation-101.101.)`
306*8975f5c5SAndroid Build Coastguard Worker * `GL_VENDOR` is `Google Inc. (Intel)`
307*8975f5c5SAndroid Build Coastguard Worker * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)`
308*8975f5c5SAndroid Build Coastguard Worker * Data updated February 22, 2023
309*8975f5c5SAndroid Build Coastguard Worker
310*8975f5c5SAndroid Build Coastguard WorkerNVIDIA 1660 Linux:
311*8975f5c5SAndroid Build Coastguard Worker
312*8975f5c5SAndroid Build Coastguard Worker * `GL_RENDERER` is `ANGLE (NVIDIA, Vulkan 1.1.119 (NVIDIA GeForce GTX 1660 (0x00002184)), NVIDIA-440.100.0.0)`
313*8975f5c5SAndroid Build Coastguard Worker * `GL_VENDOR` is `Google Inc. (NVIDIA)`
314*8975f5c5SAndroid Build Coastguard Worker * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)`
315*8975f5c5SAndroid Build Coastguard Worker * Data updated February 22, 2023
316*8975f5c5SAndroid Build Coastguard Worker
317*8975f5c5SAndroid Build Coastguard WorkerIntel 630 Linux:
318*8975f5c5SAndroid Build Coastguard Worker
319*8975f5c5SAndroid Build Coastguard Worker * `GL_RENDERER` is `ANGLE (Intel, Vulkan 1.2.131 (Intel(R) UHD Graphics 630 (CML GT2) (0x00009BC5)), Intel open-source Mesa driver-20.0.8)`
320*8975f5c5SAndroid Build Coastguard Worker * `GL_VENDOR` is `Google Inc. (Intel)`
321*8975f5c5SAndroid Build Coastguard Worker * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)`
322*8975f5c5SAndroid Build Coastguard Worker * Data updated February 22, 2023
323*8975f5c5SAndroid Build Coastguard Worker
324*8975f5c5SAndroid Build Coastguard WorkerSwiftShader Win10:
325*8975f5c5SAndroid Build Coastguard Worker
326*8975f5c5SAndroid Build Coastguard Worker * `GL_RENDERER` is `ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver-5.0.0)`
327*8975f5c5SAndroid Build Coastguard Worker * `GL_VENDOR` is `Google Inc. (Google)`
328*8975f5c5SAndroid Build Coastguard Worker * `GL_VERSION` is `OpenGL ES 3.1.0 (ANGLE 2.1.20572 git hash: 75901296a09f)`
329*8975f5c5SAndroid Build Coastguard Worker * Data updated February 22, 2023
330*8975f5c5SAndroid Build Coastguard Worker
331*8975f5c5SAndroid Build Coastguard WorkerPixel 4 Android 11:
332*8975f5c5SAndroid Build Coastguard Worker
333*8975f5c5SAndroid Build Coastguard Worker * `GL_RENDERER` is `ANGLE (Qualcomm, Vulkan 1.1.128 (Adreno (TM) 640 (0x06040001)), Qualcomm Technologies Inc. Adreno Vulkan Driver-512.490.0)`
334*8975f5c5SAndroid Build Coastguard Worker * `GL_VENDOR` is `Google Inc. (Qualcomm)`
335*8975f5c5SAndroid Build Coastguard Worker * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)`
336*8975f5c5SAndroid Build Coastguard Worker * Data updated February 22, 2023
337*8975f5c5SAndroid Build Coastguard Worker
338*8975f5c5SAndroid Build Coastguard WorkerPixel 6 Android 13:
339*8975f5c5SAndroid Build Coastguard Worker
340*8975f5c5SAndroid Build Coastguard Worker * `GL_RENDERER` is `ANGLE (ARM, Vulkan 1.1.201 (Mali-G78 (0x92020010)), Mali-G78-36.0.0)`
341*8975f5c5SAndroid Build Coastguard Worker * `GL_VENDOR` is `Google Inc. (ARM)`
342*8975f5c5SAndroid Build Coastguard Worker * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.20572 git hash: 75901296a09f)`
343*8975f5c5SAndroid Build Coastguard Worker * Data updated February 22, 2023
344*8975f5c5SAndroid Build Coastguard Worker
345*8975f5c5SAndroid Build Coastguard Worker## How to update supported extension data
346*8975f5c5SAndroid Build Coastguard Worker
347*8975f5c5SAndroid Build Coastguard WorkerSupported extension data is stored in the ANGLE repo as JSON files in
348*8975f5c5SAndroid Build Coastguard Worker[`scripts/extension_data`](../scripts/extension_data). The JSON data is
349*8975f5c5SAndroid Build Coastguard Workersourced from public ANGLE test runs. Look for `angle_end2end_tests` in a bot
350*8975f5c5SAndroid Build Coastguard Workerrun: [example link](https://ci.chromium.org/ui/p/angle/builders/ci/win-test/520/overview).
351*8975f5c5SAndroid Build Coastguard WorkerSearch for "`angle_end2end_tests`", then click on the "cas output" and find
352*8975f5c5SAndroid Build Coastguard Worker`GLinfo_ES3_2_Vulkan.json` or `GLinfo_ES3_1_Vulkan_SwiftShader.json` for
353*8975f5c5SAndroid Build Coastguard WorkerSwiftShader.
354*8975f5c5SAndroid Build Coastguard Worker
355*8975f5c5SAndroid Build Coastguard WorkerAll data except for GLES 1 is automatically updated using
356*8975f5c5SAndroid Build Coastguard Workerthe [`update_extension_data.py`](../scripts/update_extension_data.py) script.
357*8975f5c5SAndroid Build Coastguard WorkerTo use it first authenticate to the `bb` and `luci-go` tools by running `bb
358*8975f5c5SAndroid Build Coastguard Workerauth-login` and `./tools/luci-go/swarming login`. Then run the script and
359*8975f5c5SAndroid Build Coastguard Workerre-run [code generation][CodeGen].
360*8975f5c5SAndroid Build Coastguard Worker
361*8975f5c5SAndroid Build Coastguard WorkerThe GLES 1 data is currently manually updated. Find the relevant
362*8975f5c5SAndroid Build Coastguard Workerfile from the task output (see above) and overwrite the correspoding file.
363*8975f5c5SAndroid Build Coastguard WorkerRe-run [code generation][CodeGen] and create a CL as per our normal process.
364*8975f5c5SAndroid Build Coastguard Worker
365*8975f5c5SAndroid Build Coastguard WorkerTo add a new configuration, first retrieve the JSON data, modify
366*8975f5c5SAndroid Build Coastguard Worker[`gen_extensions.py`](../src/libANGLE/gen_extensions.py) as necessary, then
367*8975f5c5SAndroid Build Coastguard Workerrun [`scripts/run_code_generation.py`][CodeGen] to refresh generated files.
368*8975f5c5SAndroid Build Coastguard WorkerAlso update `update_extension_data.py` as necessary.
369*8975f5c5SAndroid Build Coastguard Worker
370*8975f5c5SAndroid Build Coastguard Worker[CodeGen]: ../scripts/run_code_generation.py
371