From 5a2cc71c2878ec92be0786c4b0dd038ed4ccf349 Mon Sep 17 00:00:00 2001 From: Jamie Madill Date: Wed, 1 Jun 2022 12:06:07 -0400 Subject: [PATCH] Update extension support (June 1, 2022). Now includes data for Pixel 6 on Android 13. Bug: angleproject:7375 Change-Id: I115f8ead1cbfeb55b7314164409b262f58078ca5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3684029 Reviewed-by: Shahbaz Youssefi Commit-Queue: Jamie Madill --- doc/ExtensionSupport.md | 441 +++++++++--------- .../Extension_files.json | 18 +- scripts/extension_data/intel_630_linux.json | 13 +- scripts/extension_data/intel_630_win10.json | 15 +- scripts/extension_data/nvidia_1660_linux.json | 14 +- scripts/extension_data/nvidia_1660_win10.json | 14 +- .../extension_data/pixel_4_android_11.json | 15 +- .../extension_data/pixel_6_android_13.json | 157 +++++++ scripts/extension_data/swiftshader_linux.json | 15 +- scripts/extension_data/swiftshader_win10.json | 15 +- scripts/update_extension_data.py | 14 +- src/libANGLE/gen_extensions.py | 27 +- 12 files changed, 480 insertions(+), 278 deletions(-) create mode 100644 scripts/extension_data/pixel_6_android_13.json diff --git a/doc/ExtensionSupport.md b/doc/ExtensionSupport.md index 3839b8d40..f1da4afce 100644 --- a/doc/ExtensionSupport.md +++ b/doc/ExtensionSupport.md @@ -21,216 +21,216 @@ using data from registry_xml.py and gl.xml. *Note: some data is sampled from older drivers, so might not represent the latest driver support.* -| Extension Name | NVIDIA 1660 Win10 | Intel 630 Win10 | NVIDIA 1660 Linux | Intel 630 Linux | SwiftShader Win10 | Pixel 4 Android 11 | -| -------------- | :---------------: | :-------------: | :---------------: | :-------------: | :---------------: | :----------------: | -| [GL_KHR_blend_equation_advanced](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_blend_equation_advanced.txt) | | | | | | | -| [GL_EXT_blend_func_extended](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_blend_func_extended.txt) | ✔ | ✔ | ✔ | ✔ | | ✔ | -| [GL_EXT_blend_minmax](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_blend_minmax.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_buffer_storage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_buffer_storage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_clip_control](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_clip_control.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_clip_cull_distance](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_clip_cull_distance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_APPLE_clip_distance](https://khronos.org/registry/OpenGL/extensions/APPLE/APPLE_clip_distance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_color_buffer_float](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_color_buffer_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_color_buffer_half_float](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_color_buffer_half_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_EAC_R11_signed_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_R11_signed_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_EAC_R11_unsigned_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_R11_unsigned_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_EAC_RG11_signed_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_RG11_signed_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_EAC_RG11_unsigned_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_RG11_unsigned_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_compressed_ETC1_RGB8_sub_texture](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_compressed_ETC1_RGB8_sub_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_ETC1_RGB8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC1_RGB8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_punchthroughA_RGBA8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_ETC2_RGB8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_RGB8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_ETC2_RGBA8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_RGBA8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_ETC2_sRGB8_alpha8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_sRGB8_alpha8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_compressed_ETC2_sRGB8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_sRGB8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_copy_image](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_copy_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_copy_image](https://khronos.org/registry/OpenGL/extensions/OES/OES_copy_image.txt) | | | | | | | -| [GL_KHR_debug](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_debug.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_debug_label](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_debug_label.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_debug_marker](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_debug_marker.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_depth24](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth24.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_depth32](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth32.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_NV_depth_buffer_float2](https://khronos.org/registry/OpenGL/extensions/NV/NV_depth_buffer_float2.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_depth_texture](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_depth_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_depth_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_depth_texture_cube_map](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth_texture_cube_map.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_discard_framebuffer](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_discard_framebuffer.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_disjoint_timer_query](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_disjoint_timer_query.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_draw_buffers](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_draw_buffers.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_draw_buffers_indexed](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_draw_buffers_indexed.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_draw_buffers_indexed](https://khronos.org/registry/OpenGL/extensions/OES/OES_draw_buffers_indexed.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_draw_elements_base_vertex](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_draw_elements_base_vertex.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_draw_elements_base_vertex](https://khronos.org/registry/OpenGL/extensions/OES/OES_draw_elements_base_vertex.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_EGL_image](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_EGL_image_array](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_EGL_image_external](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image_external.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_EGL_image_external_essl3](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image_external_essl3.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_EGL_image_external_wrap_modes](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_external_wrap_modes.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_EGL_image_storage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_storage.txt) | | | | | | | -| [GL_NV_EGL_stream_consumer_external](https://khronos.org/registry/OpenGL/extensions/NV/NV_EGL_stream_consumer_external.txt) | | | | | | | -| [GL_OES_EGL_sync](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_sync.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_element_index_uint](https://khronos.org/registry/OpenGL/extensions/OES/OES_element_index_uint.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANDROID_extension_pack_es31a](https://khronos.org/registry/OpenGL/extensions/ANDROID/ANDROID_extension_pack_es31a.txt) | | | | | | | -| [GL_EXT_external_buffer](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_buffer.txt) | | | | | | ✔ | -| [GL_OES_fbo_render_mipmap](https://khronos.org/registry/OpenGL/extensions/OES/OES_fbo_render_mipmap.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_NV_fence](https://khronos.org/registry/OpenGL/extensions/NV/NV_fence.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_float_blend](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_float_blend.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_frag_depth](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_frag_depth.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_framebuffer_blit](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_framebuffer_blit.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_NV_framebuffer_blit](https://khronos.org/registry/OpenGL/extensions/NV/NV_framebuffer_blit.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_MESA_framebuffer_flip_y](https://khronos.org/registry/OpenGL/extensions/MESA/MESA_framebuffer_flip_y.txt) | | | | | | | -| [GL_EXT_geometry_shader](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_geometry_shader.txt) | ✔ | ✔ | ✔ | | | | -| [GL_OES_geometry_shader](https://khronos.org/registry/OpenGL/extensions/OES/OES_geometry_shader.txt) | ✔ | ✔ | ✔ | | | | -| [GL_OES_get_program_binary](https://khronos.org/registry/OpenGL/extensions/OES/OES_get_program_binary.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_gpu_shader5](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_gpu_shader5.txt) | ✔ | ✔ | ✔ | ✔ | | ✔ | -| [GL_ANGLE_instanced_arrays](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_instanced_arrays.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_instanced_arrays](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_instanced_arrays.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_mapbuffer](https://khronos.org/registry/OpenGL/extensions/OES/OES_mapbuffer.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_map_buffer_range](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_map_buffer_range.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_memory_object](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_memory_object.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_memory_object_fd](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects_fd.txt) | | | ✔ | ✔ | | ✔ | -| [GL_EXT_multi_draw_indirect](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multi_draw_indirect.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_multisample_compatibility](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multisample_compatibility.txt) | | | | | | | -| [GL_EXT_multisampled_render_to_texture](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multisampled_render_to_texture.txt) | ✔ | | ✔ | ✔ | | ✔ | -| [GL_EXT_multisampled_render_to_texture2](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multisampled_render_to_texture2.txt) | ✔ | | ✔ | ✔ | | ✔ | -| [GL_OVR_multiview](https://khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview.txt) | ✔ | ✔ | ✔ | | ✔ | ✔ | -| [GL_OVR_multiview2](https://khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview2.txt) | ✔ | ✔ | ✔ | | ✔ | ✔ | -| [GL_KHR_no_error](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_no_error.txt) | | | | | | | -| [GL_EXT_occlusion_query_boolean](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_occlusion_query_boolean.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_packed_depth_stencil](https://khronos.org/registry/OpenGL/extensions/OES/OES_packed_depth_stencil.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_pack_reverse_row_order](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_pack_reverse_row_order.txt) | | | | | | | -| [GL_NV_pack_subimage](https://khronos.org/registry/OpenGL/extensions/NV/NV_pack_subimage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_KHR_parallel_shader_compile](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_parallel_shader_compile.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_AMD_performance_monitor](https://khronos.org/registry/OpenGL/extensions/AMD/AMD_performance_monitor.txt) | | | | | | | -| [GL_NV_pixel_buffer_object](https://khronos.org/registry/OpenGL/extensions/NV/NV_pixel_buffer_object.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_primitive_bounding_box](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_primitive_bounding_box.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_primitive_bounding_box](https://khronos.org/registry/OpenGL/extensions/OES/OES_primitive_bounding_box.txt) | | | | | | | -| [GL_EXT_protected_textures](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_protected_textures.txt) | | | | | | ✔ | -| [GL_EXT_pvrtc_sRGB](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_pvrtc_sRGB.txt) | | | | | | | -| [GL_NV_read_depth](https://khronos.org/registry/OpenGL/extensions/NV/NV_read_depth.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_read_format_bgra](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_read_format_bgra.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_NV_read_stencil](https://khronos.org/registry/OpenGL/extensions/NV/NV_read_stencil.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_rgb8_rgba8](https://khronos.org/registry/OpenGL/extensions/OES/OES_rgb8_rgba8.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_KHR_robust_buffer_access_behavior](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_robust_buffer_access_behavior.txt) | | | | | | | -| [GL_EXT_robustness](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_robustness.txt) | ✔ | ✔ | ✔ | ✔ | | ✔ | -| [GL_NV_robustness_video_memory_purge](https://khronos.org/registry/OpenGL/extensions/NV/NV_robustness_video_memory_purge.txt) | | | | | | | -| [GL_OES_sample_shading](https://khronos.org/registry/OpenGL/extensions/OES/OES_sample_shading.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_sample_variables](https://khronos.org/registry/OpenGL/extensions/OES/OES_sample_variables.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_semaphore](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_semaphore.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_semaphore_fd](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects_fd.txt) | | | ✔ | ✔ | | ✔ | -| [GL_EXT_separate_shader_objects](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_separate_shader_objects.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_shader_framebuffer_fetch](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_framebuffer_fetch.txt) | | | | | | | -| [GL_EXT_shader_framebuffer_fetch_non_coherent](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_framebuffer_fetch_non_coherent.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | -| [GL_OES_shader_image_atomic](https://khronos.org/registry/OpenGL/extensions/OES/OES_shader_image_atomic.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_shader_io_blocks](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_io_blocks.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_shader_io_blocks](https://khronos.org/registry/OpenGL/extensions/OES/OES_shader_io_blocks.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_shader_multisample_interpolation](https://khronos.org/registry/OpenGL/extensions/OES/OES_shader_multisample_interpolation.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_shader_non_constant_global_initializers](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_non_constant_global_initializers.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_NV_shader_noperspective_interpolation](https://khronos.org/registry/OpenGL/extensions/NV/NV_shader_noperspective_interpolation.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_shader_texture_lod](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_texture_lod.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_QCOM_shading_rate](https://khronos.org/registry/OpenGL/extensions/QCOM/QCOM_shading_rate.txt) | | | | | | | -| [GL_EXT_shadow_samplers](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shadow_samplers.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_sRGB](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_sRGB.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_sRGB_write_control](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_sRGB_write_control.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_standard_derivatives](https://khronos.org/registry/OpenGL/extensions/OES/OES_standard_derivatives.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_surfaceless_context](https://khronos.org/registry/OpenGL/extensions/OES/OES_surfaceless_context.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ARB_sync](https://khronos.org/registry/OpenGL/extensions/ARB/ARB_sync.txt) | | | | | | | -| [GL_EXT_tessellation_shader](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_tessellation_shader.txt) | ✔ | ✔ | ✔ | | | | -| [GL_OES_texture_3D](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_3D.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_texture_border_clamp](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_border_clamp.txt) | ✔ | | | | | | -| [GL_OES_texture_border_clamp](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_border_clamp.txt) | ✔ | | | | | | -| [GL_EXT_texture_buffer](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_buffer.txt) | ✔ | | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_texture_buffer](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_buffer.txt) | ✔ | | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_texture_compression_astc](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_compression_astc.txt) | | | | | | | -| [GL_KHR_texture_compression_astc_hdr](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_texture_compression_astc_hdr.txt) | | | | | | | -| [GL_KHR_texture_compression_astc_ldr](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_texture_compression_astc_ldr.txt) | | ✔ | | ✔ | ✔ | ✔ | -| [GL_KHR_texture_compression_astc_sliced_3d](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_texture_compression_astc_sliced_3d.txt) | | | | | | | -| [GL_EXT_texture_compression_bptc](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_bptc.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | -| [GL_EXT_texture_compression_dxt1](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_dxt1.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | -| [GL_IMG_texture_compression_pvrtc](https://khronos.org/registry/OpenGL/extensions/IMG/IMG_texture_compression_pvrtc.txt) | | | | | | | -| [GL_IMG_texture_compression_pvrtc2](https://khronos.org/registry/OpenGL/extensions/IMG/IMG_texture_compression_pvrtc2.txt) | | | | | | | -| [GL_EXT_texture_compression_rgtc](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_rgtc.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | -| [GL_EXT_texture_compression_s3tc](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_s3tc.txt) | | | | | | | -| [GL_EXT_texture_compression_s3tc_srgb](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_s3tc_srgb.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | -| [GL_EXT_texture_cube_map_array](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_cube_map_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_texture_cube_map_array](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_cube_map_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_texture_filter_anisotropic](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_filter_anisotropic.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_texture_float](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_texture_float_linear](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_float_linear.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | -| [GL_EXT_texture_format_BGRA8888](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_format_BGRA8888.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_texture_format_sRGB_override](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_format_sRGB_override.txt) | | ✔ | | | | | -| [GL_OES_texture_half_float](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_half_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_texture_half_float_linear](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_half_float_linear.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_texture_norm16](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_norm16.txt) | | ✔ | | ✔ | | | -| [GL_OES_texture_npot](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_npot.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_texture_rg](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_rg.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_texture_sRGB_decode](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_sRGB_decode.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_texture_sRGB_R8](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_sRGB_R8.txt) | ✔ | | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_texture_sRGB_RG8](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_sRGB_RG8.txt) | | | | | ✔ | ✔ | -| [GL_OES_texture_stencil8](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_stencil8.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_EXT_texture_storage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_storage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_texture_storage_multisample_2d_array](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_storage_multisample_2d_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [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) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_texture_usage](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_texture_usage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_translated_shader_source](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_translated_shader_source.txt) | | | | | | | -| [GL_EXT_unpack_subimage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_unpack_subimage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_vertex_array_object](https://khronos.org/registry/OpenGL/extensions/OES/OES_vertex_array_object.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_vertex_half_float](https://khronos.org/registry/OpenGL/extensions/OES/OES_vertex_half_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_OES_vertex_type_10_10_10_2](https://khronos.org/registry/OpenGL/extensions/OES/OES_vertex_type_10_10_10_2.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_WEBGL_video_texture](https://khronos.org/registry/OpenGL/extensions/WEBGL/WEBGL_video_texture.txt) | | | | | | | -| [GL_EXT_YUV_target](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt) | | | | | | | +| Extension Name | NVIDIA 1660 Win10 | Intel 630 Win10 | NVIDIA 1660 Linux | Intel 630 Linux | SwiftShader Win10 | Pixel 4 Android 11 | Pixel 6 Android 13 | +| -------------- | :---------------: | :-------------: | :---------------: | :-------------: | :---------------: | :----------------: | :----------------: | +| [GL_KHR_blend_equation_advanced](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_blend_equation_advanced.txt) | ✔ | | ✔ | | ✔ | ✔ | ✔ | +| [GL_EXT_blend_func_extended](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_blend_func_extended.txt) | ✔ | ✔ | ✔ | ✔ | | ✔ | | +| [GL_EXT_blend_minmax](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_blend_minmax.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_buffer_storage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_buffer_storage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_clip_control](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_clip_control.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_clip_cull_distance](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_clip_cull_distance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | +| [GL_APPLE_clip_distance](https://khronos.org/registry/OpenGL/extensions/APPLE/APPLE_clip_distance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | +| [GL_EXT_color_buffer_float](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_color_buffer_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_color_buffer_half_float](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_color_buffer_half_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_EAC_R11_signed_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_R11_signed_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_EAC_R11_unsigned_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_R11_unsigned_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_EAC_RG11_signed_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_RG11_signed_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_EAC_RG11_unsigned_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_EAC_RG11_unsigned_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_compressed_ETC1_RGB8_sub_texture](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_compressed_ETC1_RGB8_sub_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_ETC1_RGB8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC1_RGB8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_punchthroughA_RGBA8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_ETC2_RGB8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_RGB8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_ETC2_RGBA8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_RGBA8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_ETC2_sRGB8_alpha8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_sRGB8_alpha8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_compressed_ETC2_sRGB8_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_compressed_ETC2_sRGB8_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_copy_image](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_copy_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_copy_image](https://khronos.org/registry/OpenGL/extensions/OES/OES_copy_image.txt) | | | | | | | | +| [GL_KHR_debug](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_debug.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_debug_label](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_debug_label.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_debug_marker](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_debug_marker.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_depth24](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth24.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_depth32](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth32.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_NV_depth_buffer_float2](https://khronos.org/registry/OpenGL/extensions/NV/NV_depth_buffer_float2.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_depth_texture](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_depth_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_depth_texture](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_depth_texture_cube_map](https://khronos.org/registry/OpenGL/extensions/OES/OES_depth_texture_cube_map.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_discard_framebuffer](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_discard_framebuffer.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_disjoint_timer_query](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_disjoint_timer_query.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_draw_buffers](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_draw_buffers.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_draw_buffers_indexed](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_draw_buffers_indexed.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_draw_buffers_indexed](https://khronos.org/registry/OpenGL/extensions/OES/OES_draw_buffers_indexed.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_draw_elements_base_vertex](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_draw_elements_base_vertex.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_draw_elements_base_vertex](https://khronos.org/registry/OpenGL/extensions/OES/OES_draw_elements_base_vertex.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_EGL_image](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_EGL_image_array](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_EGL_image_external](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image_external.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_EGL_image_external_essl3](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image_external_essl3.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_EGL_image_external_wrap_modes](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_external_wrap_modes.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_EGL_image_storage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_EGL_image_storage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_NV_EGL_stream_consumer_external](https://khronos.org/registry/OpenGL/extensions/NV/NV_EGL_stream_consumer_external.txt) | | | | | | | | +| [GL_OES_EGL_sync](https://khronos.org/registry/OpenGL/extensions/OES/OES_EGL_sync.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_element_index_uint](https://khronos.org/registry/OpenGL/extensions/OES/OES_element_index_uint.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANDROID_extension_pack_es31a](https://khronos.org/registry/OpenGL/extensions/ANDROID/ANDROID_extension_pack_es31a.txt) | | | | | | | ✔ | +| [GL_EXT_external_buffer](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_buffer.txt) | | | | | | ✔ | ✔ | +| [GL_OES_fbo_render_mipmap](https://khronos.org/registry/OpenGL/extensions/OES/OES_fbo_render_mipmap.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_NV_fence](https://khronos.org/registry/OpenGL/extensions/NV/NV_fence.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_float_blend](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_float_blend.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | +| [GL_EXT_frag_depth](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_frag_depth.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_framebuffer_blit](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_framebuffer_blit.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_NV_framebuffer_blit](https://khronos.org/registry/OpenGL/extensions/NV/NV_framebuffer_blit.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_MESA_framebuffer_flip_y](https://khronos.org/registry/OpenGL/extensions/MESA/MESA_framebuffer_flip_y.txt) | | | | | | | | +| [GL_EXT_geometry_shader](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_geometry_shader.txt) | ✔ | ✔ | ✔ | | | | ✔ | +| [GL_OES_geometry_shader](https://khronos.org/registry/OpenGL/extensions/OES/OES_geometry_shader.txt) | ✔ | ✔ | ✔ | | | | ✔ | +| [GL_OES_get_program_binary](https://khronos.org/registry/OpenGL/extensions/OES/OES_get_program_binary.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_gpu_shader5](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_gpu_shader5.txt) | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | +| [GL_ANGLE_instanced_arrays](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_instanced_arrays.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_instanced_arrays](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_instanced_arrays.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_mapbuffer](https://khronos.org/registry/OpenGL/extensions/OES/OES_mapbuffer.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_map_buffer_range](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_map_buffer_range.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_memory_object](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_memory_object.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_memory_object_fd](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects_fd.txt) | | | ✔ | ✔ | | ✔ | ✔ | +| [GL_EXT_multi_draw_indirect](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multi_draw_indirect.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_multisample_compatibility](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multisample_compatibility.txt) | | | | | | | | +| [GL_EXT_multisampled_render_to_texture](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multisampled_render_to_texture.txt) | ✔ | | ✔ | ✔ | | | | +| [GL_EXT_multisampled_render_to_texture2](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_multisampled_render_to_texture2.txt) | ✔ | | ✔ | ✔ | | | | +| [GL_OVR_multiview](https://khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview.txt) | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | +| [GL_OVR_multiview2](https://khronos.org/registry/OpenGL/extensions/OVR/OVR_multiview2.txt) | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | +| [GL_KHR_no_error](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_no_error.txt) | | | | | | | | +| [GL_EXT_occlusion_query_boolean](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_occlusion_query_boolean.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_packed_depth_stencil](https://khronos.org/registry/OpenGL/extensions/OES/OES_packed_depth_stencil.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_pack_reverse_row_order](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_pack_reverse_row_order.txt) | | | | | | | | +| [GL_NV_pack_subimage](https://khronos.org/registry/OpenGL/extensions/NV/NV_pack_subimage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_KHR_parallel_shader_compile](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_parallel_shader_compile.txt) | | | | | | | | +| [GL_AMD_performance_monitor](https://khronos.org/registry/OpenGL/extensions/AMD/AMD_performance_monitor.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_NV_pixel_buffer_object](https://khronos.org/registry/OpenGL/extensions/NV/NV_pixel_buffer_object.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_primitive_bounding_box](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_primitive_bounding_box.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_primitive_bounding_box](https://khronos.org/registry/OpenGL/extensions/OES/OES_primitive_bounding_box.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_protected_textures](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_protected_textures.txt) | | | | | | ✔ | | +| [GL_EXT_pvrtc_sRGB](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_pvrtc_sRGB.txt) | | | | | | | | +| [GL_NV_read_depth](https://khronos.org/registry/OpenGL/extensions/NV/NV_read_depth.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_read_format_bgra](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_read_format_bgra.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_NV_read_stencil](https://khronos.org/registry/OpenGL/extensions/NV/NV_read_stencil.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_rgb8_rgba8](https://khronos.org/registry/OpenGL/extensions/OES/OES_rgb8_rgba8.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_KHR_robust_buffer_access_behavior](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_robust_buffer_access_behavior.txt) | | | | | | | | +| [GL_EXT_robustness](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_robustness.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | +| [GL_NV_robustness_video_memory_purge](https://khronos.org/registry/OpenGL/extensions/NV/NV_robustness_video_memory_purge.txt) | | | | | | | | +| [GL_OES_sample_shading](https://khronos.org/registry/OpenGL/extensions/OES/OES_sample_shading.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_sample_variables](https://khronos.org/registry/OpenGL/extensions/OES/OES_sample_variables.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_semaphore](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_semaphore.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_semaphore_fd](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects_fd.txt) | | | ✔ | ✔ | | ✔ | ✔ | +| [GL_EXT_separate_shader_objects](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_separate_shader_objects.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_shader_framebuffer_fetch](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_framebuffer_fetch.txt) | | | | | ✔ | | ✔ | +| [GL_EXT_shader_framebuffer_fetch_non_coherent](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_framebuffer_fetch_non_coherent.txt) | | | | | ✔ | | | +| [GL_OES_shader_image_atomic](https://khronos.org/registry/OpenGL/extensions/OES/OES_shader_image_atomic.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_shader_io_blocks](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_io_blocks.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_shader_io_blocks](https://khronos.org/registry/OpenGL/extensions/OES/OES_shader_io_blocks.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_shader_multisample_interpolation](https://khronos.org/registry/OpenGL/extensions/OES/OES_shader_multisample_interpolation.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_shader_non_constant_global_initializers](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_non_constant_global_initializers.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_NV_shader_noperspective_interpolation](https://khronos.org/registry/OpenGL/extensions/NV/NV_shader_noperspective_interpolation.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_shader_texture_lod](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shader_texture_lod.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_QCOM_shading_rate](https://khronos.org/registry/OpenGL/extensions/QCOM/QCOM_shading_rate.txt) | | | | | | | | +| [GL_EXT_shadow_samplers](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_shadow_samplers.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_sRGB](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_sRGB.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_sRGB_write_control](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_sRGB_write_control.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_standard_derivatives](https://khronos.org/registry/OpenGL/extensions/OES/OES_standard_derivatives.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_surfaceless_context](https://khronos.org/registry/OpenGL/extensions/OES/OES_surfaceless_context.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ARB_sync](https://khronos.org/registry/OpenGL/extensions/ARB/ARB_sync.txt) | | | | | | | | +| [GL_EXT_tessellation_shader](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_tessellation_shader.txt) | ✔ | ✔ | ✔ | | | | ✔ | +| [GL_OES_texture_3D](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_3D.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_texture_border_clamp](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_border_clamp.txt) | ✔ | | | | | | ✔ | +| [GL_OES_texture_border_clamp](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_border_clamp.txt) | ✔ | | | | | | ✔ | +| [GL_EXT_texture_buffer](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_buffer.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_texture_buffer](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_buffer.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_texture_compression_astc](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_compression_astc.txt) | | | | | | | | +| [GL_KHR_texture_compression_astc_hdr](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_texture_compression_astc_hdr.txt) | | | | | | | | +| [GL_KHR_texture_compression_astc_ldr](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_texture_compression_astc_ldr.txt) | | ✔ | | ✔ | ✔ | ✔ | ✔ | +| [GL_KHR_texture_compression_astc_sliced_3d](https://khronos.org/registry/OpenGL/extensions/KHR/KHR_texture_compression_astc_sliced_3d.txt) | | | | | | | | +| [GL_EXT_texture_compression_bptc](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_bptc.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | | +| [GL_EXT_texture_compression_dxt1](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_dxt1.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | | +| [GL_IMG_texture_compression_pvrtc](https://khronos.org/registry/OpenGL/extensions/IMG/IMG_texture_compression_pvrtc.txt) | | | | | | | | +| [GL_IMG_texture_compression_pvrtc2](https://khronos.org/registry/OpenGL/extensions/IMG/IMG_texture_compression_pvrtc2.txt) | | | | | | | | +| [GL_EXT_texture_compression_rgtc](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_rgtc.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | | +| [GL_EXT_texture_compression_s3tc](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_s3tc.txt) | | | | | | | | +| [GL_EXT_texture_compression_s3tc_srgb](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_compression_s3tc_srgb.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | | +| [GL_EXT_texture_cube_map_array](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_cube_map_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_texture_cube_map_array](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_cube_map_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_texture_filter_anisotropic](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_filter_anisotropic.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_texture_float](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_texture_float_linear](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_float_linear.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | +| [GL_EXT_texture_format_BGRA8888](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_format_BGRA8888.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_texture_format_sRGB_override](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_format_sRGB_override.txt) | | ✔ | | | | | | +| [GL_OES_texture_half_float](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_half_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_texture_half_float_linear](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_half_float_linear.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_texture_norm16](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_norm16.txt) | | ✔ | | ✔ | | | | +| [GL_OES_texture_npot](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_npot.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_texture_rg](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_rg.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_texture_sRGB_decode](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_sRGB_decode.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_texture_sRGB_R8](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_sRGB_R8.txt) | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_texture_sRGB_RG8](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_sRGB_RG8.txt) | | | | | ✔ | ✔ | ✔ | +| [GL_OES_texture_stencil8](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_stencil8.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_EXT_texture_storage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_storage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_texture_storage_multisample_2d_array](https://khronos.org/registry/OpenGL/extensions/OES/OES_texture_storage_multisample_2d_array.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [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) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_texture_usage](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_texture_usage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_translated_shader_source](https://khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_translated_shader_source.txt) | | | | | | | | +| [GL_EXT_unpack_subimage](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_unpack_subimage.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_vertex_array_object](https://khronos.org/registry/OpenGL/extensions/OES/OES_vertex_array_object.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_vertex_half_float](https://khronos.org/registry/OpenGL/extensions/OES/OES_vertex_half_float.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_OES_vertex_type_10_10_10_2](https://khronos.org/registry/OpenGL/extensions/OES/OES_vertex_type_10_10_10_2.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_WEBGL_video_texture](https://khronos.org/registry/OpenGL/extensions/WEBGL/WEBGL_video_texture.txt) | | | | | | | | +| [GL_EXT_YUV_target](https://khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt) | | | | | | | | ## ANGLE unofficial extension support *Note: some ANGLE extensions are currently missing specifications.* -| Extension Name | NVIDIA 1660 Win10 | Intel 630 Win10 | NVIDIA 1660 Linux | Intel 630 Linux | SwiftShader Win10 | Pixel 4 Android 11 | -| -------------- | :---------------: | :-------------: | :---------------: | :-------------: | :---------------: | :----------------: | -| [GL_ANGLE_base_vertex_base_instance](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_base_vertex_base_instance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [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) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_CHROMIUM_bind_generates_resource](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_bind_generates_resource.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_CHROMIUM_bind_uniform_location](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_bind_uniform_location.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_client_arrays](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_client_arrays.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_CHROMIUM_color_buffer_float_rgb](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_color_buffer_float_rgb.txt) | | | | | | | -| [GL_CHROMIUM_color_buffer_float_rgba](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_color_buffer_float_rgba.txt) | | | | | | | -| [GL_ANGLE_compressed_texture_etc](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_compressed_texture_etc.txt) | | ✔ | | ✔ | ✔ | ✔ | -| [GL_CHROMIUM_copy_compressed_texture](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_copy_compressed_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_CHROMIUM_copy_texture](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_copy_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_copy_texture_3d](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_copy_texture_3d.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_CHROMIUM_framebuffer_mixed_samples](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_framebuffer_mixed_samples.txt) | | | | | | | -| [GL_ANGLE_framebuffer_multisample](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_framebuffer_multisample.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_get_image](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_get_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_get_serialized_context_string](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_get_serialized_context_string.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_get_tex_level_parameter](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_get_tex_level_parameter.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_CHROMIUM_lose_context](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_lose_context.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_lossy_etc_decode](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_lossy_etc_decode.txt) | | | | | | | -| [GL_ANGLE_memory_object_flags](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_memory_object_flags.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_memory_object_fuchsia](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_memory_object_fuchsia.txt) | | | | | | | -| [GL_ANGLE_memory_size](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_memory_size.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_multi_draw](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_multi_draw.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_multiview_multisample](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_multiview_multisample.txt) | | | | | | | -| [GL_ANGLE_program_binary](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_program_binary.txt) | | | | | | | -| [GL_ANGLE_program_cache_control](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_program_cache_control.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_provoking_vertex](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_provoking_vertex.txt) | | | | | | | -| [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) | | | | | | | -| [GL_ANGLE_relaxed_vertex_attribute_type](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_relaxed_vertex_attribute_type.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_request_extension](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_request_extension.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_rgbx_internal_format](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_rgbx_internal_format.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_robust_client_memory](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_robust_client_memory.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_robust_fragment_shader_output](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_robust_fragment_shader_output.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_robust_resource_initialization](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_robust_resource_initialization.txt) | | | | | | | -| [GL_ANGLE_semaphore_fuchsia](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_semaphore_fuchsia.txt) | | | | | | | -| [GL_CHROMIUM_sync_query](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_sync_query.txt) | | | | | | | -| [GL_ANGLE_texture_compression_dxt3](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_compression_dxt3.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | -| [GL_ANGLE_texture_compression_dxt5](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_compression_dxt5.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | -| [GL_ANGLE_texture_external_update](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_external_update.txt) | | | | | | | -| [GL_CHROMIUM_texture_filtering_hint](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_texture_filtering_hint.txt) | | | | | ✔ | | -| [GL_ANGLE_texture_multisample](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_multisample.txt) | | | | | | | -| [GL_ANGLE_texture_rectangle](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_rectangle.txt) | | | | | | | -| [GL_ANGLE_vulkan_image](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_vulkan_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| [GL_ANGLE_webgl_compatibility](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_webgl_compatibility.txt) | | | | | | | -| [GL_ANGLE_yuv_internal_format](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_yuv_internal_format.txt) | ✔ | | ✔ | ✔ | ✔ | ✔ | +| Extension Name | NVIDIA 1660 Win10 | Intel 630 Win10 | NVIDIA 1660 Linux | Intel 630 Linux | SwiftShader Win10 | Pixel 4 Android 11 | Pixel 6 Android 13 | +| -------------- | :---------------: | :-------------: | :---------------: | :-------------: | :---------------: | :----------------: | :----------------: | +| [GL_ANGLE_base_vertex_base_instance](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_base_vertex_base_instance.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [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) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_CHROMIUM_bind_generates_resource](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_bind_generates_resource.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_CHROMIUM_bind_uniform_location](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_bind_uniform_location.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_client_arrays](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_client_arrays.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_CHROMIUM_color_buffer_float_rgb](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_color_buffer_float_rgb.txt) | | | | | | | | +| [GL_CHROMIUM_color_buffer_float_rgba](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_color_buffer_float_rgba.txt) | | | | | | | | +| [GL_ANGLE_compressed_texture_etc](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_compressed_texture_etc.txt) | | ✔ | | ✔ | ✔ | ✔ | ✔ | +| [GL_CHROMIUM_copy_compressed_texture](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_copy_compressed_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_CHROMIUM_copy_texture](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_copy_texture.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_copy_texture_3d](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_copy_texture_3d.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_CHROMIUM_framebuffer_mixed_samples](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_framebuffer_mixed_samples.txt) | | | | | | | | +| [GL_ANGLE_framebuffer_multisample](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_framebuffer_multisample.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_get_image](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_get_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_get_serialized_context_string](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_get_serialized_context_string.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_get_tex_level_parameter](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_get_tex_level_parameter.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_CHROMIUM_lose_context](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_lose_context.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_lossy_etc_decode](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_lossy_etc_decode.txt) | | | | | | | | +| [GL_ANGLE_memory_object_flags](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_memory_object_flags.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_memory_object_fuchsia](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_memory_object_fuchsia.txt) | | | | | | | | +| [GL_ANGLE_memory_size](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_memory_size.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_multi_draw](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_multi_draw.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_multiview_multisample](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_multiview_multisample.txt) | | | | | | | | +| [GL_ANGLE_program_binary](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_program_binary.txt) | | | | | | | | +| [GL_ANGLE_program_cache_control](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_program_cache_control.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_provoking_vertex](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_provoking_vertex.txt) | | | | | | | | +| [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) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_relaxed_vertex_attribute_type](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_relaxed_vertex_attribute_type.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_request_extension](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_request_extension.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_rgbx_internal_format](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_rgbx_internal_format.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_robust_client_memory](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_robust_client_memory.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_robust_fragment_shader_output](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_robust_fragment_shader_output.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_robust_resource_initialization](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_robust_resource_initialization.txt) | | | | | | | | +| [GL_ANGLE_semaphore_fuchsia](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_semaphore_fuchsia.txt) | | | | | | | | +| [GL_CHROMIUM_sync_query](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_sync_query.txt) | | | | | | | | +| [GL_ANGLE_texture_compression_dxt3](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_compression_dxt3.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | | +| [GL_ANGLE_texture_compression_dxt5](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_compression_dxt5.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | | +| [GL_ANGLE_texture_external_update](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_external_update.txt) | | | | | | | | +| [GL_CHROMIUM_texture_filtering_hint](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_texture_filtering_hint.txt) | | | | | ✔ | | | +| [GL_ANGLE_texture_multisample](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_multisample.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_texture_rectangle](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_rectangle.txt) | | | | | | | | +| [GL_ANGLE_vulkan_image](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_vulkan_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| [GL_ANGLE_webgl_compatibility](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_webgl_compatibility.txt) | | | | | | | | +| [GL_ANGLE_yuv_internal_format](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_yuv_internal_format.txt) | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ## GLES 1.0 and 1.1 extension support @@ -256,43 +256,50 @@ NVIDIA 1660 Win10: * `GL_RENDERER` is `ANGLE (NVIDIA, Vulkan 1.2.142 (NVIDIA GeForce GTX 1660 (0x00002184)), NVIDIA-456.38.0.0)` * `GL_VENDOR` is `Google Inc. (NVIDIA)` - * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)` - * Data updated December 28, 2021 + * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)` + * Data updated June 1, 2022 Intel 630 Win10: * `GL_RENDERER` is `ANGLE (Intel, Vulkan 1.2.135 (Intel(R) HD Graphics 630 (0x00005912)), Intel Corporation-100.100.)` * `GL_VENDOR` is `Google Inc. (Intel)` - * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)` - * Data updated December 28, 2021 + * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)` + * Data updated June 1, 2022 NVIDIA 1660 Linux: * `GL_RENDERER` is `ANGLE (NVIDIA, Vulkan 1.1.119 (NVIDIA GeForce GTX 1660 (0x00002184)), NVIDIA-440.100.0.0)` * `GL_VENDOR` is `Google Inc. (NVIDIA)` - * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)` - * Data updated December 28, 2021 + * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)` + * Data updated June 1, 2022 Intel 630 Linux: * `GL_RENDERER` is `ANGLE (Intel, Vulkan 1.1.96 (Intel(R) HD Graphics 630 (Kaby Lake GT2) (0x00005912)), Intel open-source Mesa driver-19.0.2)` * `GL_VENDOR` is `Google Inc. (Intel)` - * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)` - * Data updated December 28, 2021 + * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)` + * Data updated June 1, 2022 SwiftShader Win10: * `GL_RENDERER` is `ANGLE (Google, Vulkan 1.2.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver-5.0.0)` * `GL_VENDOR` is `Google Inc. (Google)` - * `GL_VERSION` is `OpenGL ES 3.1.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)` - * Data updated December 28, 2021 + * `GL_VERSION` is `OpenGL ES 3.1.0 (ANGLE 2.1.18778 git hash: 4784f091deba)` + * Data updated June 1, 2022 Pixel 4 Android 11: * `GL_RENDERER` is `ANGLE (Qualcomm, Vulkan 1.1.128 (Adreno (TM) 640 (0x06040001)), Qualcomm Technologies Inc. Adreno Vulkan Driver-512.490.0)` * `GL_VENDOR` is `Google Inc. (Qualcomm)` - * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)` - * Data updated December 28, 2021 + * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)` + * Data updated June 1, 2022 + +Pixel 6 Android 13: + + * `GL_RENDERER` is `ANGLE (ARM, Vulkan 1.1.201 (Mali-G78 (0x92020010)), Mali-G78-35.0.0)` + * `GL_VENDOR` is `Google Inc. (ARM)` + * `GL_VERSION` is `OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)` + * Data updated June 1, 2022 ## How to update supported extension data diff --git a/scripts/code_generation_hashes/Extension_files.json b/scripts/code_generation_hashes/Extension_files.json index 561acfa70..4e9029679 100644 --- a/scripts/code_generation_hashes/Extension_files.json +++ b/scripts/code_generation_hashes/Extension_files.json @@ -1,6 +1,6 @@ { "doc/ExtensionSupport.md": - "495b6bdeaab61f75a3e456a8fa142d66", + "7b8550bfc78a59de940855781e2c7c7d", "scripts/cl.xml": "f923201d4ea3e1130763b19fa7faa7a2", "scripts/egl.xml": @@ -8,17 +8,19 @@ "scripts/egl_angle_ext.xml": "e90fb2b574f3b42700ec1d6e18817869", "scripts/extension_data/intel_630_linux.json": - "513dabe561b92b577ec8433d263f8ba6", + "e191c11babb582d6da3fc104494975fe", "scripts/extension_data/intel_630_win10.json": - "2354046e6ff686fe76b4ef17f66b828b", + "39ef95078faa451d76d00a5563ef62cc", "scripts/extension_data/nvidia_1660_linux.json": - "bfc36f66492c756b1dbaf0f3e7f1275a", + "34940f43671ce74c4462f86eedc0187b", "scripts/extension_data/nvidia_1660_win10.json": - "c1c2bca14bf14b8c620230ed511b6794", + "b4a9af4227e62801eca4961dfb851bfd", "scripts/extension_data/pixel_4_android_11.json": - "131fef2b47370087081b96bc909d335c", + "2594c2b7dfb5e39c7f4c43a46ffc33e3", + "scripts/extension_data/pixel_6_android_13.json": + "c39e884796fe936178f81010d19ef0ee", "scripts/extension_data/swiftshader_win10.json": - "e772ccd83cf144a2931294523b0069a9", + "d6893ad91278a1afdba5ec8fe8a0e562", "scripts/extension_data/swiftshader_win10_gles1.json": "fbf1c3dc83570c1e3fffdbee313bca30", "scripts/gl.xml": @@ -30,7 +32,7 @@ "scripts/wgl.xml": "c36001431919e1c435f1215a85f7e1db", "src/libANGLE/gen_extensions.py": - "186e7b22cb560bf4f32e2b1b8a025dd8", + "ad8414b5dd06bc7d7afdacd526fff6db", "src/libANGLE/gles_extensions_autogen.cpp": "b976708b85cae170f402bb1f0d034530", "src/libANGLE/gles_extensions_autogen.h": diff --git a/scripts/extension_data/intel_630_linux.json b/scripts/extension_data/intel_630_linux.json index d21964f60..6bb30cfc9 100644 --- a/scripts/extension_data/intel_630_linux.json +++ b/scripts/extension_data/intel_630_linux.json @@ -1,9 +1,10 @@ { "Vendor": "Google Inc. (Intel)", - "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Renderer": "ANGLE (Intel, Vulkan 1.1.96 (Intel(R) HD Graphics 630 (Kaby Lake GT2) (0x00005912)), Intel open-source Mesa driver-19.0.2)", - "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Extensions": [ + "GL_AMD_performance_monitor", "GL_ANGLE_base_vertex_base_instance", "GL_ANGLE_base_vertex_base_instance_shader_builtin", "GL_ANGLE_client_arrays", @@ -20,6 +21,7 @@ "GL_ANGLE_memory_size", "GL_ANGLE_multi_draw", "GL_ANGLE_program_cache_control", + "GL_ANGLE_read_only_depth_stencil_feedback_loops", "GL_ANGLE_relaxed_vertex_attribute_type", "GL_ANGLE_request_extension", "GL_ANGLE_rgbx_internal_format", @@ -27,6 +29,7 @@ "GL_ANGLE_robust_fragment_shader_output", "GL_ANGLE_texture_compression_dxt3", "GL_ANGLE_texture_compression_dxt5", + "GL_ANGLE_texture_multisample", "GL_ANGLE_texture_usage", "GL_ANGLE_vulkan_image", "GL_ANGLE_yuv_internal_format", @@ -38,6 +41,7 @@ "GL_CHROMIUM_lose_context", "GL_EXT_EGL_image_array", "GL_EXT_EGL_image_external_wrap_modes", + "GL_EXT_EGL_image_storage", "GL_EXT_blend_func_extended", "GL_EXT_blend_minmax", "GL_EXT_buffer_storage", @@ -73,7 +77,6 @@ "GL_EXT_semaphore", "GL_EXT_semaphore_fd", "GL_EXT_separate_shader_objects", - "GL_EXT_shader_framebuffer_fetch_non_coherent", "GL_EXT_shader_io_blocks", "GL_EXT_shader_non_constant_global_initializers", "GL_EXT_shader_texture_lod", @@ -94,7 +97,6 @@ "GL_EXT_texture_type_2_10_10_10_REV", "GL_EXT_unpack_subimage", "GL_KHR_debug", - "GL_KHR_parallel_shader_compile", "GL_KHR_texture_compression_astc_ldr", "GL_NV_depth_buffer_float2", "GL_NV_fence", @@ -130,6 +132,7 @@ "GL_OES_get_program_binary", "GL_OES_mapbuffer", "GL_OES_packed_depth_stencil", + "GL_OES_primitive_bounding_box", "GL_OES_rgb8_rgba8", "GL_OES_sample_shading", "GL_OES_sample_variables", @@ -152,5 +155,5 @@ "GL_OES_vertex_half_float", "GL_OES_vertex_type_10_10_10_2" ], - "DateRecorded": "December 28, 2021" + "DateRecorded": "June 1, 2022" } \ No newline at end of file diff --git a/scripts/extension_data/intel_630_win10.json b/scripts/extension_data/intel_630_win10.json index b32593902..4fc60a2bf 100644 --- a/scripts/extension_data/intel_630_win10.json +++ b/scripts/extension_data/intel_630_win10.json @@ -1,9 +1,10 @@ { "Vendor": "Google Inc. (Intel)", - "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Renderer": "ANGLE (Intel, Vulkan 1.2.135 (Intel(R) HD Graphics 630 (0x00005912)), Intel Corporation-100.100.)", - "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Extensions": [ + "GL_AMD_performance_monitor", "GL_ANGLE_base_vertex_base_instance", "GL_ANGLE_base_vertex_base_instance_shader_builtin", "GL_ANGLE_client_arrays", @@ -20,6 +21,7 @@ "GL_ANGLE_memory_size", "GL_ANGLE_multi_draw", "GL_ANGLE_program_cache_control", + "GL_ANGLE_read_only_depth_stencil_feedback_loops", "GL_ANGLE_relaxed_vertex_attribute_type", "GL_ANGLE_request_extension", "GL_ANGLE_rgbx_internal_format", @@ -27,6 +29,7 @@ "GL_ANGLE_robust_fragment_shader_output", "GL_ANGLE_texture_compression_dxt3", "GL_ANGLE_texture_compression_dxt5", + "GL_ANGLE_texture_multisample", "GL_ANGLE_texture_usage", "GL_ANGLE_vulkan_image", "GL_APPLE_clip_distance", @@ -37,6 +40,7 @@ "GL_CHROMIUM_lose_context", "GL_EXT_EGL_image_array", "GL_EXT_EGL_image_external_wrap_modes", + "GL_EXT_EGL_image_storage", "GL_EXT_blend_func_extended", "GL_EXT_blend_minmax", "GL_EXT_buffer_storage", @@ -69,12 +73,12 @@ "GL_EXT_sRGB_write_control", "GL_EXT_semaphore", "GL_EXT_separate_shader_objects", - "GL_EXT_shader_framebuffer_fetch_non_coherent", "GL_EXT_shader_io_blocks", "GL_EXT_shader_non_constant_global_initializers", "GL_EXT_shader_texture_lod", "GL_EXT_shadow_samplers", "GL_EXT_tessellation_shader", + "GL_EXT_texture_buffer", "GL_EXT_texture_compression_bptc", "GL_EXT_texture_compression_dxt1", "GL_EXT_texture_compression_rgtc", @@ -90,7 +94,6 @@ "GL_EXT_texture_type_2_10_10_10_REV", "GL_EXT_unpack_subimage", "GL_KHR_debug", - "GL_KHR_parallel_shader_compile", "GL_KHR_texture_compression_astc_ldr", "GL_NV_depth_buffer_float2", "GL_NV_fence", @@ -127,6 +130,7 @@ "GL_OES_get_program_binary", "GL_OES_mapbuffer", "GL_OES_packed_depth_stencil", + "GL_OES_primitive_bounding_box", "GL_OES_rgb8_rgba8", "GL_OES_sample_shading", "GL_OES_sample_variables", @@ -136,6 +140,7 @@ "GL_OES_standard_derivatives", "GL_OES_surfaceless_context", "GL_OES_texture_3D", + "GL_OES_texture_buffer", "GL_OES_texture_cube_map_array", "GL_OES_texture_float", "GL_OES_texture_float_linear", @@ -150,5 +155,5 @@ "GL_OVR_multiview", "GL_OVR_multiview2" ], - "DateRecorded": "December 28, 2021" + "DateRecorded": "June 1, 2022" } \ No newline at end of file diff --git a/scripts/extension_data/nvidia_1660_linux.json b/scripts/extension_data/nvidia_1660_linux.json index 339b54567..e38f87f1b 100644 --- a/scripts/extension_data/nvidia_1660_linux.json +++ b/scripts/extension_data/nvidia_1660_linux.json @@ -1,9 +1,10 @@ { "Vendor": "Google Inc. (NVIDIA)", - "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Renderer": "ANGLE (NVIDIA, Vulkan 1.1.119 (NVIDIA GeForce GTX 1660 (0x00002184)), NVIDIA-440.100.0.0)", - "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Extensions": [ + "GL_AMD_performance_monitor", "GL_ANGLE_base_vertex_base_instance", "GL_ANGLE_base_vertex_base_instance_shader_builtin", "GL_ANGLE_client_arrays", @@ -19,6 +20,7 @@ "GL_ANGLE_memory_size", "GL_ANGLE_multi_draw", "GL_ANGLE_program_cache_control", + "GL_ANGLE_read_only_depth_stencil_feedback_loops", "GL_ANGLE_relaxed_vertex_attribute_type", "GL_ANGLE_request_extension", "GL_ANGLE_rgbx_internal_format", @@ -26,6 +28,7 @@ "GL_ANGLE_robust_fragment_shader_output", "GL_ANGLE_texture_compression_dxt3", "GL_ANGLE_texture_compression_dxt5", + "GL_ANGLE_texture_multisample", "GL_ANGLE_texture_usage", "GL_ANGLE_vulkan_image", "GL_ANGLE_yuv_internal_format", @@ -37,6 +40,7 @@ "GL_CHROMIUM_lose_context", "GL_EXT_EGL_image_array", "GL_EXT_EGL_image_external_wrap_modes", + "GL_EXT_EGL_image_storage", "GL_EXT_blend_func_extended", "GL_EXT_blend_minmax", "GL_EXT_buffer_storage", @@ -73,7 +77,6 @@ "GL_EXT_semaphore", "GL_EXT_semaphore_fd", "GL_EXT_separate_shader_objects", - "GL_EXT_shader_framebuffer_fetch_non_coherent", "GL_EXT_shader_io_blocks", "GL_EXT_shader_non_constant_global_initializers", "GL_EXT_shader_texture_lod", @@ -93,8 +96,8 @@ "GL_EXT_texture_storage", "GL_EXT_texture_type_2_10_10_10_REV", "GL_EXT_unpack_subimage", + "GL_KHR_blend_equation_advanced", "GL_KHR_debug", - "GL_KHR_parallel_shader_compile", "GL_NV_depth_buffer_float2", "GL_NV_fence", "GL_NV_framebuffer_blit", @@ -130,6 +133,7 @@ "GL_OES_get_program_binary", "GL_OES_mapbuffer", "GL_OES_packed_depth_stencil", + "GL_OES_primitive_bounding_box", "GL_OES_rgb8_rgba8", "GL_OES_sample_shading", "GL_OES_sample_variables", @@ -154,5 +158,5 @@ "GL_OVR_multiview", "GL_OVR_multiview2" ], - "DateRecorded": "December 28, 2021" + "DateRecorded": "June 1, 2022" } \ No newline at end of file diff --git a/scripts/extension_data/nvidia_1660_win10.json b/scripts/extension_data/nvidia_1660_win10.json index 7b4243395..90618dd89 100644 --- a/scripts/extension_data/nvidia_1660_win10.json +++ b/scripts/extension_data/nvidia_1660_win10.json @@ -1,9 +1,10 @@ { "Vendor": "Google Inc. (NVIDIA)", - "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Renderer": "ANGLE (NVIDIA, Vulkan 1.2.142 (NVIDIA GeForce GTX 1660 (0x00002184)), NVIDIA-456.38.0.0)", - "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Extensions": [ + "GL_AMD_performance_monitor", "GL_ANGLE_base_vertex_base_instance", "GL_ANGLE_base_vertex_base_instance_shader_builtin", "GL_ANGLE_client_arrays", @@ -19,6 +20,7 @@ "GL_ANGLE_memory_size", "GL_ANGLE_multi_draw", "GL_ANGLE_program_cache_control", + "GL_ANGLE_read_only_depth_stencil_feedback_loops", "GL_ANGLE_relaxed_vertex_attribute_type", "GL_ANGLE_request_extension", "GL_ANGLE_rgbx_internal_format", @@ -26,6 +28,7 @@ "GL_ANGLE_robust_fragment_shader_output", "GL_ANGLE_texture_compression_dxt3", "GL_ANGLE_texture_compression_dxt5", + "GL_ANGLE_texture_multisample", "GL_ANGLE_texture_usage", "GL_ANGLE_vulkan_image", "GL_ANGLE_yuv_internal_format", @@ -37,6 +40,7 @@ "GL_CHROMIUM_lose_context", "GL_EXT_EGL_image_array", "GL_EXT_EGL_image_external_wrap_modes", + "GL_EXT_EGL_image_storage", "GL_EXT_blend_func_extended", "GL_EXT_blend_minmax", "GL_EXT_buffer_storage", @@ -71,7 +75,6 @@ "GL_EXT_sRGB_write_control", "GL_EXT_semaphore", "GL_EXT_separate_shader_objects", - "GL_EXT_shader_framebuffer_fetch_non_coherent", "GL_EXT_shader_io_blocks", "GL_EXT_shader_non_constant_global_initializers", "GL_EXT_shader_texture_lod", @@ -92,8 +95,8 @@ "GL_EXT_texture_storage", "GL_EXT_texture_type_2_10_10_10_REV", "GL_EXT_unpack_subimage", + "GL_KHR_blend_equation_advanced", "GL_KHR_debug", - "GL_KHR_parallel_shader_compile", "GL_NV_depth_buffer_float2", "GL_NV_fence", "GL_NV_framebuffer_blit", @@ -129,6 +132,7 @@ "GL_OES_get_program_binary", "GL_OES_mapbuffer", "GL_OES_packed_depth_stencil", + "GL_OES_primitive_bounding_box", "GL_OES_rgb8_rgba8", "GL_OES_sample_shading", "GL_OES_sample_variables", @@ -154,5 +158,5 @@ "GL_OVR_multiview", "GL_OVR_multiview2" ], - "DateRecorded": "December 28, 2021" + "DateRecorded": "June 1, 2022" } \ No newline at end of file diff --git a/scripts/extension_data/pixel_4_android_11.json b/scripts/extension_data/pixel_4_android_11.json index bfc04aa61..3634c5e07 100644 --- a/scripts/extension_data/pixel_4_android_11.json +++ b/scripts/extension_data/pixel_4_android_11.json @@ -1,9 +1,10 @@ { "Vendor": "Google Inc. (Qualcomm)", - "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Renderer": "ANGLE (Qualcomm, Vulkan 1.1.128 (Adreno (TM) 640 (0x06040001)), Qualcomm Technologies Inc. Adreno Vulkan Driver-512.490.0)", - "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Extensions": [ + "GL_AMD_performance_monitor", "GL_ANGLE_base_vertex_base_instance", "GL_ANGLE_base_vertex_base_instance_shader_builtin", "GL_ANGLE_client_arrays", @@ -20,11 +21,13 @@ "GL_ANGLE_memory_size", "GL_ANGLE_multi_draw", "GL_ANGLE_program_cache_control", + "GL_ANGLE_read_only_depth_stencil_feedback_loops", "GL_ANGLE_relaxed_vertex_attribute_type", "GL_ANGLE_request_extension", "GL_ANGLE_rgbx_internal_format", "GL_ANGLE_robust_client_memory", "GL_ANGLE_robust_fragment_shader_output", + "GL_ANGLE_texture_multisample", "GL_ANGLE_texture_usage", "GL_ANGLE_vulkan_image", "GL_ANGLE_yuv_internal_format", @@ -36,6 +39,7 @@ "GL_CHROMIUM_lose_context", "GL_EXT_EGL_image_array", "GL_EXT_EGL_image_external_wrap_modes", + "GL_EXT_EGL_image_storage", "GL_EXT_blend_func_extended", "GL_EXT_blend_minmax", "GL_EXT_buffer_storage", @@ -61,8 +65,6 @@ "GL_EXT_memory_object", "GL_EXT_memory_object_fd", "GL_EXT_multi_draw_indirect", - "GL_EXT_multisampled_render_to_texture", - "GL_EXT_multisampled_render_to_texture2", "GL_EXT_occlusion_query_boolean", "GL_EXT_primitive_bounding_box", "GL_EXT_protected_textures", @@ -88,8 +90,8 @@ "GL_EXT_texture_storage", "GL_EXT_texture_type_2_10_10_10_REV", "GL_EXT_unpack_subimage", + "GL_KHR_blend_equation_advanced", "GL_KHR_debug", - "GL_KHR_parallel_shader_compile", "GL_KHR_texture_compression_astc_ldr", "GL_NV_depth_buffer_float2", "GL_NV_fence", @@ -125,6 +127,7 @@ "GL_OES_get_program_binary", "GL_OES_mapbuffer", "GL_OES_packed_depth_stencil", + "GL_OES_primitive_bounding_box", "GL_OES_rgb8_rgba8", "GL_OES_sample_shading", "GL_OES_sample_variables", @@ -148,5 +151,5 @@ "GL_OVR_multiview", "GL_OVR_multiview2" ], - "DateRecorded": "December 28, 2021" + "DateRecorded": "June 1, 2022" } \ No newline at end of file diff --git a/scripts/extension_data/pixel_6_android_13.json b/scripts/extension_data/pixel_6_android_13.json new file mode 100644 index 000000000..17a57c826 --- /dev/null +++ b/scripts/extension_data/pixel_6_android_13.json @@ -0,0 +1,157 @@ +{ + "Vendor": "Google Inc. (ARM)", + "Version": "OpenGL ES 3.2.0 (ANGLE 2.1.18778 git hash: 4784f091deba)", + "Renderer": "ANGLE (ARM, Vulkan 1.1.201 (Mali-G78 (0x92020010)), Mali-G78-35.0.0)", + "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.20 (ANGLE 2.1.18778 git hash: 4784f091deba)", + "Extensions": [ + "GL_AMD_performance_monitor", + "GL_ANDROID_extension_pack_es31a", + "GL_ANGLE_base_vertex_base_instance", + "GL_ANGLE_base_vertex_base_instance_shader_builtin", + "GL_ANGLE_client_arrays", + "GL_ANGLE_compressed_texture_etc", + "GL_ANGLE_copy_texture_3d", + "GL_ANGLE_depth_texture", + "GL_ANGLE_framebuffer_blit", + "GL_ANGLE_framebuffer_multisample", + "GL_ANGLE_get_image", + "GL_ANGLE_get_serialized_context_string", + "GL_ANGLE_get_tex_level_parameter", + "GL_ANGLE_instanced_arrays", + "GL_ANGLE_memory_object_flags", + "GL_ANGLE_memory_size", + "GL_ANGLE_multi_draw", + "GL_ANGLE_program_cache_control", + "GL_ANGLE_read_only_depth_stencil_feedback_loops", + "GL_ANGLE_relaxed_vertex_attribute_type", + "GL_ANGLE_request_extension", + "GL_ANGLE_rgbx_internal_format", + "GL_ANGLE_robust_client_memory", + "GL_ANGLE_robust_fragment_shader_output", + "GL_ANGLE_texture_multisample", + "GL_ANGLE_texture_usage", + "GL_ANGLE_vulkan_image", + "GL_ANGLE_yuv_internal_format", + "GL_CHROMIUM_bind_generates_resource", + "GL_CHROMIUM_bind_uniform_location", + "GL_CHROMIUM_copy_compressed_texture", + "GL_CHROMIUM_copy_texture", + "GL_CHROMIUM_lose_context", + "GL_EXT_EGL_image_array", + "GL_EXT_EGL_image_external_wrap_modes", + "GL_EXT_EGL_image_storage", + "GL_EXT_blend_minmax", + "GL_EXT_buffer_storage", + "GL_EXT_clip_control", + "GL_EXT_color_buffer_float", + "GL_EXT_color_buffer_half_float", + "GL_EXT_compressed_ETC1_RGB8_sub_texture", + "GL_EXT_copy_image", + "GL_EXT_debug_label", + "GL_EXT_debug_marker", + "GL_EXT_discard_framebuffer", + "GL_EXT_disjoint_timer_query", + "GL_EXT_draw_buffers", + "GL_EXT_draw_buffers_indexed", + "GL_EXT_draw_elements_base_vertex", + "GL_EXT_external_buffer", + "GL_EXT_frag_depth", + "GL_EXT_geometry_shader", + "GL_EXT_gpu_shader5", + "GL_EXT_instanced_arrays", + "GL_EXT_map_buffer_range", + "GL_EXT_memory_object", + "GL_EXT_memory_object_fd", + "GL_EXT_multi_draw_indirect", + "GL_EXT_occlusion_query_boolean", + "GL_EXT_primitive_bounding_box", + "GL_EXT_read_format_bgra", + "GL_EXT_sRGB", + "GL_EXT_sRGB_write_control", + "GL_EXT_semaphore", + "GL_EXT_semaphore_fd", + "GL_EXT_separate_shader_objects", + "GL_EXT_shader_framebuffer_fetch", + "GL_EXT_shader_io_blocks", + "GL_EXT_shader_non_constant_global_initializers", + "GL_EXT_shader_texture_lod", + "GL_EXT_shadow_samplers", + "GL_EXT_tessellation_shader", + "GL_EXT_texture_border_clamp", + "GL_EXT_texture_buffer", + "GL_EXT_texture_cube_map_array", + "GL_EXT_texture_filter_anisotropic", + "GL_EXT_texture_format_BGRA8888", + "GL_EXT_texture_rg", + "GL_EXT_texture_sRGB_R8", + "GL_EXT_texture_sRGB_RG8", + "GL_EXT_texture_sRGB_decode", + "GL_EXT_texture_storage", + "GL_EXT_texture_type_2_10_10_10_REV", + "GL_EXT_unpack_subimage", + "GL_KHR_blend_equation_advanced", + "GL_KHR_debug", + "GL_KHR_texture_compression_astc_ldr", + "GL_NV_depth_buffer_float2", + "GL_NV_fence", + "GL_NV_framebuffer_blit", + "GL_NV_pack_subimage", + "GL_NV_pixel_buffer_object", + "GL_NV_read_depth", + "GL_NV_read_stencil", + "GL_NV_shader_noperspective_interpolation", + "GL_OES_EGL_image", + "GL_OES_EGL_image_external", + "GL_OES_EGL_image_external_essl3", + "GL_OES_EGL_sync", + "GL_OES_compressed_EAC_R11_signed_texture", + "GL_OES_compressed_EAC_R11_unsigned_texture", + "GL_OES_compressed_EAC_RG11_signed_texture", + "GL_OES_compressed_EAC_RG11_unsigned_texture", + "GL_OES_compressed_ETC1_RGB8_texture", + "GL_OES_compressed_ETC2_RGB8_texture", + "GL_OES_compressed_ETC2_RGBA8_texture", + "GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture", + "GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture", + "GL_OES_compressed_ETC2_sRGB8_alpha8_texture", + "GL_OES_compressed_ETC2_sRGB8_texture", + "GL_OES_depth24", + "GL_OES_depth32", + "GL_OES_depth_texture", + "GL_OES_depth_texture_cube_map", + "GL_OES_draw_buffers_indexed", + "GL_OES_draw_elements_base_vertex", + "GL_OES_element_index_uint", + "GL_OES_fbo_render_mipmap", + "GL_OES_geometry_shader", + "GL_OES_get_program_binary", + "GL_OES_mapbuffer", + "GL_OES_packed_depth_stencil", + "GL_OES_primitive_bounding_box", + "GL_OES_rgb8_rgba8", + "GL_OES_sample_shading", + "GL_OES_sample_variables", + "GL_OES_shader_image_atomic", + "GL_OES_shader_io_blocks", + "GL_OES_shader_multisample_interpolation", + "GL_OES_standard_derivatives", + "GL_OES_surfaceless_context", + "GL_OES_texture_3D", + "GL_OES_texture_border_clamp", + "GL_OES_texture_buffer", + "GL_OES_texture_cube_map_array", + "GL_OES_texture_float", + "GL_OES_texture_float_linear", + "GL_OES_texture_half_float", + "GL_OES_texture_half_float_linear", + "GL_OES_texture_npot", + "GL_OES_texture_stencil8", + "GL_OES_texture_storage_multisample_2d_array", + "GL_OES_vertex_array_object", + "GL_OES_vertex_half_float", + "GL_OES_vertex_type_10_10_10_2", + "GL_OVR_multiview", + "GL_OVR_multiview2" + ], + "DateRecorded": "June 1, 2022" +} \ No newline at end of file diff --git a/scripts/extension_data/swiftshader_linux.json b/scripts/extension_data/swiftshader_linux.json index 2f3cc00d3..e0e9e5c19 100644 --- a/scripts/extension_data/swiftshader_linux.json +++ b/scripts/extension_data/swiftshader_linux.json @@ -1,9 +1,10 @@ { "Vendor": "Google Inc. (Google)", - "Version": "OpenGL ES 3.1.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "Version": "OpenGL ES 3.1.0 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Renderer": "ANGLE (Google, Vulkan 1.2.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver-5.0.0)", - "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.10 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.10 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Extensions": [ + "GL_AMD_performance_monitor", "GL_ANGLE_base_vertex_base_instance", "GL_ANGLE_base_vertex_base_instance_shader_builtin", "GL_ANGLE_client_arrays", @@ -20,6 +21,7 @@ "GL_ANGLE_memory_size", "GL_ANGLE_multi_draw", "GL_ANGLE_program_cache_control", + "GL_ANGLE_read_only_depth_stencil_feedback_loops", "GL_ANGLE_relaxed_vertex_attribute_type", "GL_ANGLE_request_extension", "GL_ANGLE_rgbx_internal_format", @@ -27,6 +29,7 @@ "GL_ANGLE_robust_fragment_shader_output", "GL_ANGLE_texture_compression_dxt3", "GL_ANGLE_texture_compression_dxt5", + "GL_ANGLE_texture_multisample", "GL_ANGLE_texture_usage", "GL_ANGLE_vulkan_image", "GL_ANGLE_yuv_internal_format", @@ -39,6 +42,7 @@ "GL_CHROMIUM_texture_filtering_hint", "GL_EXT_EGL_image_array", "GL_EXT_EGL_image_external_wrap_modes", + "GL_EXT_EGL_image_storage", "GL_EXT_blend_minmax", "GL_EXT_buffer_storage", "GL_EXT_clip_control", @@ -64,11 +68,13 @@ "GL_EXT_occlusion_query_boolean", "GL_EXT_primitive_bounding_box", "GL_EXT_read_format_bgra", + "GL_EXT_robustness", "GL_EXT_sRGB", "GL_EXT_sRGB_write_control", "GL_EXT_semaphore", "GL_EXT_semaphore_fd", "GL_EXT_separate_shader_objects", + "GL_EXT_shader_framebuffer_fetch", "GL_EXT_shader_framebuffer_fetch_non_coherent", "GL_EXT_shader_io_blocks", "GL_EXT_shader_non_constant_global_initializers", @@ -89,8 +95,8 @@ "GL_EXT_texture_storage", "GL_EXT_texture_type_2_10_10_10_REV", "GL_EXT_unpack_subimage", + "GL_KHR_blend_equation_advanced", "GL_KHR_debug", - "GL_KHR_parallel_shader_compile", "GL_KHR_texture_compression_astc_ldr", "GL_NV_depth_buffer_float2", "GL_NV_fence", @@ -126,6 +132,7 @@ "GL_OES_get_program_binary", "GL_OES_mapbuffer", "GL_OES_packed_depth_stencil", + "GL_OES_primitive_bounding_box", "GL_OES_rgb8_rgba8", "GL_OES_sample_shading", "GL_OES_sample_variables", @@ -150,5 +157,5 @@ "GL_OVR_multiview", "GL_OVR_multiview2" ], - "DateRecorded": "December 28, 2021" + "DateRecorded": "June 1, 2022" } \ No newline at end of file diff --git a/scripts/extension_data/swiftshader_win10.json b/scripts/extension_data/swiftshader_win10.json index 50fd85490..47f5957c2 100644 --- a/scripts/extension_data/swiftshader_win10.json +++ b/scripts/extension_data/swiftshader_win10.json @@ -1,9 +1,10 @@ { "Vendor": "Google Inc. (Google)", - "Version": "OpenGL ES 3.1.0 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "Version": "OpenGL ES 3.1.0 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Renderer": "ANGLE (Google, Vulkan 1.2.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver-5.0.0)", - "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.10 (ANGLE 2.1.17589 git hash: 6f1c39b52b4f)", + "ShaderLanguageVersion": "OpenGL ES GLSL ES 3.10 (ANGLE 2.1.18778 git hash: 4784f091deba)", "Extensions": [ + "GL_AMD_performance_monitor", "GL_ANGLE_base_vertex_base_instance", "GL_ANGLE_base_vertex_base_instance_shader_builtin", "GL_ANGLE_client_arrays", @@ -20,6 +21,7 @@ "GL_ANGLE_memory_size", "GL_ANGLE_multi_draw", "GL_ANGLE_program_cache_control", + "GL_ANGLE_read_only_depth_stencil_feedback_loops", "GL_ANGLE_relaxed_vertex_attribute_type", "GL_ANGLE_request_extension", "GL_ANGLE_rgbx_internal_format", @@ -27,6 +29,7 @@ "GL_ANGLE_robust_fragment_shader_output", "GL_ANGLE_texture_compression_dxt3", "GL_ANGLE_texture_compression_dxt5", + "GL_ANGLE_texture_multisample", "GL_ANGLE_texture_usage", "GL_ANGLE_vulkan_image", "GL_ANGLE_yuv_internal_format", @@ -39,6 +42,7 @@ "GL_CHROMIUM_texture_filtering_hint", "GL_EXT_EGL_image_array", "GL_EXT_EGL_image_external_wrap_modes", + "GL_EXT_EGL_image_storage", "GL_EXT_blend_minmax", "GL_EXT_buffer_storage", "GL_EXT_clip_control", @@ -63,10 +67,12 @@ "GL_EXT_occlusion_query_boolean", "GL_EXT_primitive_bounding_box", "GL_EXT_read_format_bgra", + "GL_EXT_robustness", "GL_EXT_sRGB", "GL_EXT_sRGB_write_control", "GL_EXT_semaphore", "GL_EXT_separate_shader_objects", + "GL_EXT_shader_framebuffer_fetch", "GL_EXT_shader_framebuffer_fetch_non_coherent", "GL_EXT_shader_io_blocks", "GL_EXT_shader_non_constant_global_initializers", @@ -87,8 +93,8 @@ "GL_EXT_texture_storage", "GL_EXT_texture_type_2_10_10_10_REV", "GL_EXT_unpack_subimage", + "GL_KHR_blend_equation_advanced", "GL_KHR_debug", - "GL_KHR_parallel_shader_compile", "GL_KHR_texture_compression_astc_ldr", "GL_NV_depth_buffer_float2", "GL_NV_fence", @@ -124,6 +130,7 @@ "GL_OES_get_program_binary", "GL_OES_mapbuffer", "GL_OES_packed_depth_stencil", + "GL_OES_primitive_bounding_box", "GL_OES_rgb8_rgba8", "GL_OES_sample_shading", "GL_OES_sample_variables", @@ -148,5 +155,5 @@ "GL_OVR_multiview", "GL_OVR_multiview2" ], - "DateRecorded": "December 28, 2021" + "DateRecorded": "June 1, 2022" } \ No newline at end of file diff --git a/scripts/update_extension_data.py b/scripts/update_extension_data.py index 1aaf084a7..119ca6acf 100644 --- a/scripts/update_extension_data.py +++ b/scripts/update_extension_data.py @@ -22,8 +22,8 @@ EXIT_FAILURE = 1 TEST_SUITE = 'angle_end2end_tests' BUILDERS = [ - 'angle/ci/android-arm64-test', 'angle/ci/linux-test', 'angle/ci/win-test', - 'angle/ci/win-x86-test' + 'angle/ci/android-arm64-test', 'angle/ci/android-arm64-exp-test', 'angle/ci/linux-test', + 'angle/ci/win-test', 'angle/ci/win-x86-test' ] SWARMING_SERVER = 'chromium-swarm.appspot.com' @@ -50,13 +50,15 @@ BOT_OS_NAME_MAP = {LINUX: 'linux', WINDOWS_10: 'win10'} # Devices PIXEL_4 = 'flame' -DEVICES_TYPES = [PIXEL_4] -DEVICE_NAME_MAP = {PIXEL_4: 'pixel_4'} +PIXEL_6 = 'oriole' +DEVICES_TYPES = [PIXEL_4, PIXEL_6] +DEVICE_NAME_MAP = {PIXEL_4: 'pixel_4', PIXEL_6: 'pixel_6'} # Device OSes ANDROID_11 = 'R' -DEVICE_OSES = [ANDROID_11] -DEVICE_OS_NAME_MAP = {ANDROID_11: 'android_11'} +ANDROID_13 = 'T' +DEVICE_OSES = [ANDROID_11, ANDROID_13] +DEVICE_OS_NAME_MAP = {ANDROID_11: 'android_11', ANDROID_13: 'android_13'} # Result names INFO_FILES = [ diff --git a/src/libANGLE/gen_extensions.py b/src/libANGLE/gen_extensions.py index cc9a0f9ab..3ef4a8757 100644 --- a/src/libANGLE/gen_extensions.py +++ b/src/libANGLE/gen_extensions.py @@ -21,6 +21,20 @@ sys.path.insert(0, SCRIPTS_DIR) import registry_xml +_MD_GLES_GPU_CONFIGS = [ + 'NVIDIA 1660 Win10', + 'Intel 630 Win10', + 'NVIDIA 1660 Linux', + 'Intel 630 Linux', + 'SwiftShader Win10', + 'Pixel 4 Android 11', + 'Pixel 6 Android 13', +] + +_MD_GLES1_GPU_CONFIGS = [ + 'SwiftShader Win10', +] + _GLES_EXTENSIONS_TEMPLATE = """\ // GENERATED FILE - DO NOT EDIT. // Generated by {script_name} using data from {data_source_name} @@ -252,19 +266,6 @@ Also update `update_extension_data.py` as necessary. [CodeGen]: ../scripts/run_code_generation.py """ -_MD_GLES_GPU_CONFIGS = [ - 'NVIDIA 1660 Win10', - 'Intel 630 Win10', - 'NVIDIA 1660 Linux', - 'Intel 630 Linux', - 'SwiftShader Win10', - 'Pixel 4 Android 11', -] - -_MD_GLES1_GPU_CONFIGS = [ - 'SwiftShader Win10', -] - _MD_TABLE_HEADER_TEMPLATE = """\ | Extension Name | {configs} | | -------------- | {dashes} |"""