This page is a graphical representation of the text file docs/features.txt from the Mesa repository.

Although this text file is updated by the Mesa developers themselves, it might not contain an exhaustive list of each drivers features and subtleties. For more information, it is advised to look at the source code or ask the developers on their mailing list.

Feel free to open an issue or create a PR on GitHub, or join the Matrix room #mesamatrix:matrix.org.

Last commits

Age Commit message
2024-02-23 21:27 nvk: implement EXT_memory_budget
2024-02-22 16:33 lavapipe: Advertise VK_KHR_shader_maximal_reconvergence
2024-02-22 15:42 v3d: Implement GL_ARB_texture_barrier
2024-02-16 22:58 nvk: Implement the VR-related display extensions
2024-02-14 21:02 docs: update for GL4.6 and ES3.2 on asahi
2024-02-09 05:32 radv: enable VK_KHR_shader_quad_control
2024-02-09 05:32 radv: enable VK_KHR_shader_maximal_reconvergence
2024-02-08 20:41 d3d12: Subgroup ballot
2024-02-06 20:32 pvr: enable VK_EXT_headless_surface on all platforms except Windows
2024-02-06 20:32 lvp: enable VK_EXT_headless_surface on all platforms except Windows
More...

Vulkan

There are a total of 230 extensions to implement. The ranking is based on the current number of extensions implemented per driver.

# Driver Extensions Version
1 mesa (97.8%) 225 1.3
2 radv (91.7%) 211 1.3
3 anv (80.4%) 185 1.3
4 tu (61.7%) 142 1.3
5 lvp (60.9%) 140 1.3
6 nvk (59.6%) 137 1.3
7 vn (55.7%) 128 1.3
8 hasvk (53.9%) 124 N/A
9 v3dv (43.5%) 100 1.0
10 dzn (24.3%) 56 1.0
11 pvr (13.9%) 32 N/A
12 panvk (6.1%) 14 N/A
Drivers details

Vulkan 1.3

AMD Arm Broadcom Intel Nvidia PowerVR Qualcomm Software Translation
Extension mesa radv panvk v3dv anv hasvk nvk pvr tu lvp dzn vn
100.0% 100.0% 8.7% 78.3% 100.0% 91.3% 100.0% 21.7% 100.0% 100.0% 13.0% 100.0%
VK_KHR_copy_commands2 2022-08-15 2023-07-06 2023-08-04 2023-08-10 2022-08-15
VK_KHR_dynamic_rendering 2023-07-06 2023-08-04 2022-07-27 2022-08-15 2022-08-15
VK_KHR_format_feature_flags2 2023-07-06 2023-08-04 2023-09-05 2022-08-30
VK_KHR_maintenance4 2022-08-30 2023-07-06 2023-08-04 2022-08-15
VK_KHR_shader_integer_dot_product 2023-01-11 2023-07-06 2023-12-06 2022-08-15 2023-05-15 2022-08-30
VK_KHR_shader_non_semantic_info 2023-07-06 2023-08-04 2022-08-30
VK_KHR_shader_terminate_invocation 2023-12-15 2023-07-06 2023-11-21 2022-08-30
VK_KHR_synchronization2 2022-08-15 2022-08-31 2023-07-06 2023-11-17 2023-05-15 2022-10-27
VK_KHR_zero_initialize_workgroup_memory 2022-08-31 2023-07-06 2024-01-14 2022-08-30
VK_EXT_4444_formats 2023-07-06 2023-08-04 2022-08-15
VK_EXT_extended_dynamic_state 2023-07-06 2023-08-04 2022-08-15
VK_EXT_extended_dynamic_state2 2023-07-06 2023-08-04 2022-08-15
VK_EXT_inline_uniform_block 2023-07-06 2023-08-04 2022-09-14 2022-08-15
VK_EXT_pipeline_creation_cache_control 2023-07-06 2024-01-09 2022-08-24
VK_EXT_pipeline_creation_feedback 2023-07-06 2024-01-09 2022-09-08
VK_EXT_private_data 2023-07-06 2023-08-04 2022-08-15 2022-08-30
VK_EXT_image_robustness 2022-09-27 2023-07-06 2023-08-04 2022-08-15
VK_EXT_shader_demote_to_helper_invocation 2024-01-09 2023-07-06 2023-11-21 2022-08-15
VK_EXT_subgroup_size_control 2024-01-11 2023-07-06 2023-12-05 2022-08-30
VK_EXT_texel_buffer_alignment 2022-08-29 2023-07-06 2023-12-14 2023-10-20 2022-08-30
VK_EXT_texture_compression_astc_hdr 2022-08-30 2022-08-30 2022-08-30 2024-01-27 2022-09-21 2022-08-30 2022-08-30
VK_EXT_tooling_info 2022-08-30 2022-08-30 2022-09-06 2022-08-30 2023-07-06 2023-08-10 2023-09-01 2022-09-08 2022-08-30 2022-08-30
VK_EXT_ycbcr_2plane_444_formats 2022-08-30 2022-08-30 2022-08-30 2023-08-04 2022-09-21 2022-08-30 2022-08-30

Vulkan 1.2

AMD Arm Broadcom Intel Nvidia PowerVR Qualcomm Software Translation
Extension mesa radv panvk v3dv anv hasvk nvk pvr tu lvp dzn vn
100.0% 100.0% 0.0% 66.7% 100.0% 87.5% 100.0% 20.8% 100.0% 100.0% 70.8% 100.0%
VK_KHR_8bit_storage 2024-01-29 2023-07-06 2023-11-29 2022-09-21 2023-05-15
VK_KHR_buffer_device_address 2022-07-19 2024-01-29 2023-07-06 2023-08-04
VK_KHR_create_renderpass2 2023-07-06 2023-08-04 2022-08-15
VK_KHR_depth_stencil_resolve 2023-07-06 2023-08-04 2022-08-15
VK_KHR_draw_indirect_count 2023-07-06 2023-08-04 2022-08-15
VK_KHR_driver_properties 2023-07-06 2023-08-04 2022-08-15 2022-08-15
VK_KHR_image_format_list 2023-07-06 2023-08-04 2023-10-18 2023-05-15
VK_KHR_imageless_framebuffer 2023-07-06 2023-08-04 2023-05-15
VK_KHR_sampler_mirror_clamp_to_edge 2023-07-06 2023-08-04 2023-05-15
VK_KHR_separate_depth_stencil_layouts 2023-07-06 2023-08-04 2023-05-15
VK_KHR_shader_atomic_int64 2024-01-29 2023-12-05 2022-09-21
VK_KHR_shader_float16_int8 2024-01-29 2023-07-06 2024-01-27 2023-05-15
VK_KHR_shader_float_controls 2024-01-29 2023-07-06 2023-12-07 2023-05-15
VK_KHR_shader_subgroup_extended_types 2024-01-29 2023-07-06 2024-01-14
VK_KHR_spirv_1_4 2023-07-06 2023-08-04 2023-05-15
VK_KHR_timeline_semaphore 2023-07-06 2023-08-04 2023-08-10 2023-05-15
VK_KHR_uniform_buffer_standard_layout 2023-07-06 2023-08-04 2023-10-18 2023-05-15
VK_KHR_vulkan_memory_model 2023-07-06 2023-12-15
VK_EXT_descriptor_indexing 2024-01-29 2023-08-04 2023-06-30 2023-05-15
VK_EXT_host_query_reset 2023-07-06 2023-08-04 2023-10-20
VK_EXT_sampler_filter_minmax 2024-01-29 2023-08-04
VK_EXT_scalar_block_layout 2023-07-06 2023-12-06 2023-10-18 2023-05-15
VK_EXT_separate_stencil_usage 2023-07-06 2023-08-04 2023-05-15
VK_EXT_shader_viewport_index_layer 2023-07-06 2023-08-04

Vulkan 1.1

AMD Arm Broadcom Intel Nvidia PowerVR Qualcomm Software Translation
Extension mesa radv panvk v3dv anv hasvk nvk pvr tu lvp dzn vn
100.0% 100.0% 17.4% 95.7% 100.0% 100.0% 100.0% 39.1% 100.0% 100.0% 82.6% 100.0%
VK_KHR_16bit_storage 2024-01-29 2023-07-06 2023-11-29 2023-05-15
VK_KHR_bind_memory2 2023-07-06 2023-08-04 2023-10-20 2023-05-15
VK_KHR_dedicated_allocation 2023-07-06 2023-08-04 2023-05-15
VK_KHR_descriptor_update_template 2023-01-19 2023-07-06 2023-08-04 2022-08-15
VK_KHR_device_group 2023-07-06 2023-08-04 2023-05-15
VK_KHR_device_group_creation 2023-08-04 2023-08-04 2023-05-15
VK_KHR_external_fence 2023-07-06 2023-08-04 2023-10-20
VK_KHR_external_fence_capabilities 2023-08-04 2023-08-04 2023-10-20
VK_KHR_external_memory 2023-07-06 2023-08-04 2022-08-15 2023-05-15
VK_KHR_external_memory_capabilities 2023-08-04 2023-08-04 2022-08-15 2023-05-15
VK_KHR_external_semaphore 2023-07-06 2023-08-04 2023-10-20 2023-05-15
VK_KHR_external_semaphore_capabilities 2023-08-04 2023-08-04 2023-10-20 2023-05-15
VK_KHR_get_memory_requirements2 2023-07-06 2023-08-04 2023-08-10 2023-05-15
VK_KHR_get_physical_device_properties2 2022-08-15 2023-08-04 2023-08-04 2022-09-13 2022-08-15
VK_KHR_maintenance1 2023-07-06 2023-08-04 2023-05-15
VK_KHR_maintenance2 2023-07-06 2023-08-04 2023-05-15
VK_KHR_maintenance3 2023-07-06 2023-08-04 2023-05-15
VK_KHR_multiview 2023-07-06 2023-08-04 2023-05-15
VK_KHR_relaxed_block_layout 2023-07-06 2023-08-04 2023-05-15
VK_KHR_sampler_ycbcr_conversion 2023-01-16 2023-07-06 2023-08-04
VK_KHR_shader_draw_parameters 2023-07-06 2023-08-04 2022-08-15
VK_KHR_storage_buffer_storage_class 2022-08-15 2023-07-06 2023-08-04 2023-05-15
VK_KHR_variable_pointers 2022-08-15 2023-07-06 2023-08-04

Vulkan 1.0

AMD Arm Broadcom Intel Nvidia PowerVR Qualcomm Software Translation
Extension mesa radv panvk v3dv anv hasvk nvk pvr tu lvp dzn vn
100.0% 100.0% 0.0% 100.0% 100.0% 0.0% 100.0% 0.0% 100.0% 100.0% 100.0% 100.0%
All extensions 2023-08-04 2023-05-15

Extensions that are not part of any Vulkan version

AMD Arm Broadcom Intel Nvidia PowerVR Qualcomm Software Translation
Extension mesa radv panvk v3dv anv hasvk nvk pvr tu lvp dzn vn
96.9% 88.1% 5.0% 27.0% 71.7% 37.1% 41.5% 8.2% 44.7% 43.4% 10.1% 35.8%
VK_KHR_acceleration_structure 2022-08-15 2022-08-15 2023-03-14
VK_KHR_android_surface
VK_KHR_calibrated_timestamps 2023-12-12 2023-12-12 2024-01-29
VK_KHR_cooperative_matrix 2023-12-12 2023-12-12 2024-01-29
VK_KHR_deferred_host_operations 2023-07-06
VK_KHR_display 2024-02-16 2022-08-15
VK_KHR_display_swapchain
VK_KHR_dynamic_rendering_local_read 2024-01-30 2024-01-30
VK_KHR_external_fence_fd 2023-07-06 2023-08-04 2023-10-20
VK_KHR_external_fence_win32
VK_KHR_external_memory_fd 2023-07-06 2023-08-04 2022-08-15 2023-05-15
VK_KHR_external_memory_win32 2023-05-15 2023-05-15
VK_KHR_external_semaphore_fd 2023-07-06 2023-08-04 2023-10-20 2023-05-15
VK_KHR_external_semaphore_win32 2023-05-15 2023-05-15
VK_KHR_fragment_shader_barycentric 2023-06-07 2023-06-07 2023-11-18
VK_KHR_fragment_shading_rate 2022-08-15
VK_KHR_get_display_properties2 2024-02-16 2023-08-10
VK_KHR_get_surface_capabilities2 2023-08-04 2023-08-10
VK_KHR_global_priority 2022-08-16 2022-08-16 2024-01-29 2022-09-14
VK_KHR_incremental_present 2023-07-06
VK_KHR_index_type_uint8 2024-01-26 2024-01-26 2024-01-29 2024-01-27
VK_KHR_line_rasterization 2024-01-26 2024-01-26 2024-01-29 2024-01-27
VK_KHR_load_store_op_none 2024-01-26 2024-01-26 2024-01-29 2024-01-27
VK_KHR_maintenance5 2023-09-01 2023-09-01 2023-09-01 2023-09-27 2023-09-01
VK_KHR_maintenance6 2024-01-09 2024-01-29 2024-01-09
VK_KHR_performance_query 2022-08-15 2022-06-27 2024-01-29
VK_KHR_pipeline_executable_properties 2023-07-06 2023-11-21
VK_KHR_pipeline_library 2023-03-14 2023-02-27 2023-10-18
VK_KHR_present_wait 2022-11-23 2022-11-23 2022-11-23 2022-11-23
VK_KHR_push_descriptor 2023-07-06 2023-08-04 2022-12-18
VK_KHR_ray_query 2022-08-15 2022-08-15 2023-03-14
VK_KHR_ray_tracing_maintenance1 2022-08-15 2022-08-15 2023-03-14
VK_KHR_ray_tracing_pipeline 2023-03-14 2023-06-13 2023-03-14
VK_KHR_ray_tracing_position_fetch 2024-01-05 2024-01-05 2024-01-29
VK_KHR_shader_clock 2023-07-06 2023-08-10 2022-08-04 2023-06-08
VK_KHR_shader_expect_assume 2024-01-30 2024-01-30 2024-01-30 2024-01-30 2024-01-30 2024-01-30 2024-01-30 2024-01-30 2024-01-30 2024-01-30 2024-01-30 2024-01-30
VK_KHR_shader_maximal_reconvergence 2024-02-09 2024-02-09 2024-02-22
VK_KHR_shader_subgroup_rotate 2024-01-25 2024-01-25 2024-01-29
VK_KHR_shader_subgroup_uniform_control_flow 2023-07-06
VK_KHR_shader_quad_control 2024-02-09 2024-02-09
VK_KHR_shared_presentable_image
VK_KHR_surface 2022-08-15 2023-08-04 2023-08-04 2022-08-15 2022-08-15
VK_KHR_surface_protected_capabilities 2023-11-21
VK_KHR_swapchain 2022-08-15 2023-07-06 2023-08-04 2022-08-15 2022-08-15
VK_KHR_swapchain_mutable_format 2023-07-06 2023-08-04
VK_KHR_vertex_attribute_divisor 2023-12-13 2023-12-13 2024-01-29
VK_KHR_wayland_surface 2022-08-15 2023-08-04 2022-08-15
VK_KHR_workgroup_memory_explicit_layout 2022-09-01 2023-07-06 2023-11-21
VK_KHR_win32_keyed_mutex
VK_KHR_win32_surface 2022-08-15
VK_KHR_xcb_surface 2023-08-04 2023-08-04 2022-08-15
VK_KHR_xlib_surface 2023-08-04 2023-08-04 2022-08-15
VK_EXT_acquire_xlib_display 2023-03-31 2023-03-31 2023-08-10 2023-03-31 2023-11-21 2023-03-31 2023-03-31
VK_EXT_attachment_feedback_loop_dynamic_state 2023-05-09 2023-05-09 2024-01-29 2023-05-15
VK_EXT_attachment_feedback_loop_layout 2022-08-26 2022-08-26 2022-09-09 2024-01-29 2023-10-19 2022-08-26 2022-09-14
VK_EXT_border_color_swizzle 2022-06-14 2022-06-16 2022-09-06 2022-06-14 2023-07-06 2023-08-04 2022-06-15 2022-06-14 2023-06-08
VK_EXT_buffer_device_address 2024-01-29 2023-07-06 2023-08-04
VK_EXT_calibrated_timestamps 2023-07-06 2022-08-15
VK_EXT_color_write_enable 2023-07-06 2023-12-13 2022-06-14 2023-06-08
VK_EXT_conditional_rendering 2023-07-06 2023-08-09 2022-08-15
VK_EXT_conservative_rasterization 2024-01-29 2022-08-15
VK_EXT_custom_border_color 2022-08-15 2023-07-06 2023-08-04 2022-08-15
VK_EXT_debug_marker
VK_EXT_debug_report 2023-03-31 2023-03-31 2023-03-31 2023-03-31 2023-11-21 2023-03-31 2023-03-31 2023-03-31 2023-05-15
VK_EXT_depth_bias_control 2023-06-20 2023-06-20 2023-07-03 2023-11-21
VK_EXT_depth_clip_control 2022-09-09 2022-08-15 2023-07-06 2023-08-06 2022-10-27
VK_EXT_depth_clip_enable 2024-02-01 2023-07-06 2023-08-06 2022-08-15
VK_EXT_depth_range_unrestricted 2023-12-01 2022-08-15
VK_EXT_descriptor_buffer 2022-11-21 2022-11-21 2022-12-12 2023-06-30
VK_EXT_device_fault 2023-12-12 2023-12-12
VK_EXT_device_memory_report 2023-06-07 2023-06-07
VK_EXT_direct_mode_display 2023-03-31 2023-03-31 2023-08-10 2023-03-31 2024-02-16 2023-03-31 2023-03-31
VK_EXT_discard_rectangles
VK_EXT_display_control 2022-08-15 2023-07-06
VK_EXT_display_surface_counter 2023-03-31 2023-03-31 2023-03-31 2024-02-16 2023-03-31 2023-03-31
VK_EXT_dynamic_rendering_unused_attachments 2023-05-29 2023-05-29 2023-07-03 2023-10-19 2023-06-08
VK_EXT_extended_dynamic_state3 2022-09-29 2022-10-21 2023-01-31 2023-08-04 2022-11-03 2022-09-29 2023-11-15
VK_EXT_external_memory_acquire_unmodified 2023-08-08 2023-08-08
VK_EXT_external_memory_dma_buf 2023-07-06 2023-08-04 2022-08-15
VK_EXT_external_memory_host 2023-07-06
VK_EXT_filter_cubic
VK_EXT_fragment_shader_interlock 2023-06-26 2024-01-29 2023-06-08
VK_EXT_global_priority 2023-07-06 2022-09-14
VK_EXT_global_priority_query 2022-08-15 2023-07-06 2022-09-14
VK_EXT_graphics_pipeline_library 2023-04-10 2023-07-03 2023-02-27 2023-10-18
VK_EXT_headless_surface 2024-02-06 2024-02-06 2024-02-06 2024-02-06 2024-02-06 2024-02-06 2024-02-06 2024-02-06 2024-02-06 2024-02-06 2024-02-06 2024-02-06
VK_EXT_image_2d_view_of_3d 2022-08-15 2023-07-06 2023-08-04 2023-05-30
VK_EXT_image_compression_control 2023-12-12 2023-12-12
VK_EXT_image_drm_format_modifier 2023-07-06
VK_EXT_image_sliced_view_of_3d 2023-02-24 2023-02-24 2023-03-14 2023-10-18
VK_EXT_image_view_min_lod 2022-08-15 2023-07-06 2023-08-04 2022-08-15
VK_EXT_index_type_uint8 2022-08-15 2023-07-06 2023-08-04 2022-08-15
VK_EXT_line_rasterization 2023-07-06 2023-08-08 2022-08-15
VK_EXT_load_store_op_none 2022-09-13 2022-09-13 2022-09-14 2023-02-01 2023-10-18 2022-09-13 2023-04-07
VK_EXT_memory_budget 2022-09-09 2023-07-06 2024-02-23 2024-01-26 2023-05-23 2023-04-07
VK_EXT_memory_priority 2023-05-23
VK_EXT_mesh_shader 2023-03-14 2023-03-14 2023-03-14 2023-06-06
VK_EXT_multi_draw 2023-11-14 2023-07-06 2023-12-14 2022-09-14 2022-10-03
VK_EXT_multisampled_render_to_single_sampled 2022-07-26 2022-07-26
VK_EXT_nested_command_buffer 2023-10-17 2024-01-29 2023-10-17
VK_EXT_non_seamless_cube_map 2023-07-06 2023-08-04 2022-08-17 2022-07-25 2023-06-08
VK_EXT_pageable_device_local_memory 2023-05-23 2023-05-23
VK_EXT_pci_bus_info 2023-07-06 2023-08-04 2022-12-18
VK_EXT_physical_device_drm 2023-07-06 2023-08-04 2022-08-15
VK_EXT_pipeline_library_group_handles 2023-02-23 2023-02-23 2023-03-14
VK_EXT_pipeline_robustness 2022-10-27 2023-07-06 2022-10-27 2023-08-09
VK_EXT_post_depth_coverage 2024-01-29
VK_EXT_primitive_topology_list_restart 2022-09-12 2023-07-06 2023-10-18 2022-10-03
VK_EXT_primitives_generated_query 2022-08-15 2023-07-06 2023-11-21 2022-10-27
VK_EXT_provoking_vertex 2023-07-06 2023-08-04 2022-08-15
VK_EXT_queue_family_foreign 2023-07-06 2022-08-15
VK_EXT_rasterization_order_attachment_access 2022-09-06 2022-09-06 2022-09-14 2023-04-07
VK_EXT_robustness2 2023-07-06 2023-08-04 2022-08-15
VK_EXT_sample_locations 2023-07-06 2023-08-04
VK_EXT_shader_atomic_float 2023-07-06 2022-09-20
VK_EXT_shader_atomic_float2 2024-01-29 2022-09-20
VK_EXT_shader_image_atomic_int64 2023-12-05
VK_EXT_shader_object 2023-03-31 2023-03-31
VK_EXT_shader_stencil_export 2024-01-29 2022-08-15
VK_EXT_shader_subgroup_ballot 2023-07-06 2023-12-05 2022-07-27 2023-05-15 2023-06-08
VK_EXT_shader_subgroup_vote 2023-07-06 2023-12-05 2022-07-27 2023-05-15
VK_EXT_shader_module_identifier 2022-07-19 2022-07-19 2022-09-07 2022-07-19 2023-07-06 2024-01-09 2022-07-19
VK_EXT_transform_feedback 2023-07-06 2023-08-04
VK_EXT_vertex_attribute_divisor 2022-08-15 2023-07-06 2023-08-04 2022-08-15 2022-08-15
VK_EXT_vertex_input_dynamic_state 2023-02-14 2023-08-04 2022-08-05 2023-09-13
VK_EXT_ycbcr_image_arrays 2023-07-06 2023-08-04 2023-10-10
VK_ANDROID_external_memory_android_hardware_buffer
VK_ANDROID_native_buffer 2022-07-28 2022-07-28
VK_GOOGLE_decorate_string 2023-07-06
VK_GOOGLE_hlsl_functionality1 2023-07-06
VK_GOOGLE_user_type 2023-07-06
VK_IMG_filter_cubic
VK_NV_compute_shader_derivatives 2023-07-06
VK_EXT_acquire_drm_display 2023-08-10 2024-02-16 2022-07-29
VK_VALVE_mutable_descriptor_type 2023-07-06 2022-10-03
VK_AMD_buffer_marker 2024-01-29
VK_AMD_device_coherent_memory
VK_AMD_draw_indirect_count
VK_AMD_gcn_shader
VK_AMD_gpu_shader_half_float
VK_AMD_gpu_shader_int16
VK_AMD_memory_overallocation_behavior
VK_AMD_mixed_attachment_samples
VK_AMD_rasterization_order
VK_AMD_shader_ballot
VK_AMD_shader_core_properties
VK_AMD_shader_core_properties2
VK_AMD_shader_early_and_late_fragment_tests 2022-12-14 2022-12-14
VK_AMD_shader_explicit_vertex_parameter
VK_AMD_shader_fragment_mask
VK_AMD_shader_image_load_store_lod
VK_AMD_shader_trinary_minmax
VK_AMD_texture_gather_bias_lod
VK_ARM_rasterization_order_attachment_access 2022-09-14
VK_EXT_mutable_descriptor_type 2022-09-15 2022-09-15 2022-09-21 2023-08-04 2022-09-21 2023-06-30 2022-10-03
VK_EXT_swapchain_colorspace 2022-11-16 2022-11-16 2022-11-16 2022-11-16
VK_EXT_depth_clamp_zero_one 2023-07-06 2023-12-05 2023-07-06
VK_INTEL_shader_integer_functions2 2023-07-06 2023-08-09 2023-07-06 2023-07-06
VK_KHR_map_memory2 2023-07-06 2023-07-06 2023-07-06 2023-08-04

OpenGL

There are a total of 160 extensions to implement. The ranking is based on the current number of extensions implemented per driver.

# Driver Extensions Version
1 asahi (100.0%) 160 4.6
1 radeonsi (100.0%) 160 4.6
1 crocus (100.0%) 160 4.6
1 mesa (100.0%) 160 4.6
1 zink (100.0%) 160 4.6
1 d3d12 (100.0%) 160 4.6
1 virgl (100.0%) 160 4.6
1 llvmpipe (100.0%) 160 4.6
1 iris (100.0%) 160 4.6
1 freedreno (100.0%) 160 4.6
11 nvc0 (98.8%) 158 4.5
12 r600 (96.2%) 154 4.5
13 softpipe (88.8%) 142 3.3
14 nv50 (73.8%) 118 3.3
15 v3d (70.0%) 112 3.1
16 panfrost (68.8%) 110 3.1
17 vc4 (38.8%) 62 N/A
18 lima (38.1%) 61 N/A
19 etnaviv (35.0%) 56 N/A
Drivers details

OpenGL 4.6 - GLSL 4.60

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 45.5% 100.0% 100.0% 9.1% 27.3% 36.4% 9.1% 100.0% 100.0% 27.3% 81.8% 100.0% 100.0% 45.5% 100.0% 100.0% 100.0% 18.2%
GL_ARB_gl_spirv 2024-02-14 2023-06-19 2023-06-19 2022-11-02 2023-11-17 2023-05-26
GL_ARB_indirect_parameters 2023-12-09 2023-06-19 2023-06-19 2023-05-17
GL_ARB_pipeline_statistics_query 2023-05-24 2023-05-24 2023-05-24 2024-02-14 2023-06-19 2023-06-19 2023-05-24 2023-06-01 2023-05-24 2023-05-24 2023-11-17 2023-05-24 2023-05-24
GL_ARB_polygon_offset_clamp 2023-05-24 2023-05-24 2023-05-24 2024-02-14 2023-05-24 2023-05-24 2023-06-19 2023-06-19 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-11-17 2023-05-24 2023-05-24
GL_ARB_shader_atomic_counter_ops 2023-05-24 2023-05-24 2023-05-24 2024-02-14 2023-05-24 2023-06-19 2023-06-19 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-11-17 2023-05-24 2023-05-24
GL_ARB_shader_draw_parameters 2023-05-24 2023-05-24 2024-02-14 2023-06-19 2023-06-19 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-26 2023-05-24
GL_ARB_shader_group_vote 2023-05-24 2023-05-24 2024-02-14 2023-06-19 2023-06-19 2023-05-24 2023-05-24 2023-05-24 2023-11-17 2023-05-26 2023-05-24
GL_ARB_spirv_extensions 2023-05-24 2023-05-24 2024-02-14 2023-06-19 2023-06-19 2023-05-24 2023-05-24 2023-11-17 2023-05-26 2023-05-24
GL_ARB_texture_filter_anisotropic 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-06-19 2023-06-19 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24
GL_ARB_transform_feedback_overflow_query 2023-05-24 2023-05-24 2024-01-10 2023-06-19 2023-06-19 2023-05-24 2023-06-01 2023-05-24 2023-05-24 2023-11-17 2023-05-24 2023-05-24
GL_KHR_no_error 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24 2023-05-24

OpenGL 4.5 - GLSL 4.50

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 50.0% 41.7% 41.7% 41.7% 100.0% 100.0% 75.0% 100.0% 100.0% 100.0% 75.0% 100.0% 100.0% 100.0% 33.3%
GL_ARB_ES3_1_compatibility 2024-02-14 2023-06-19 2023-06-19 2022-10-19 2023-11-14
GL_ARB_clip_control 2023-11-07 2023-06-19 2023-06-19 2022-07-22
GL_ARB_conditional_render_inverted 2023-02-20 2023-06-19 2023-06-19
GL_ARB_cull_distance 2023-12-09 2023-06-19 2023-06-19 2023-11-14
GL_ARB_derivative_control 2023-02-20 2023-06-19 2023-06-19 2022-11-02 2023-11-14
GL_ARB_direct_state_access
GL_ARB_get_texture_sub_image
GL_ARB_shader_texture_image_samples 2023-12-09 2023-06-19 2023-06-19 2022-11-02 2023-11-14
GL_ARB_texture_barrier 2024-02-14 2024-02-22 2023-06-19 2023-06-19 2023-11-14
GL_KHR_context_flush_control
GL_KHR_robustness 2024-02-14 2023-06-19 2023-06-19 2023-11-14
GL_EXT_shader_integer_mix

OpenGL 4.4 - GLSL 4.40

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 66.7% 86.7% 80.0% 66.7% 100.0% 100.0% 93.3% 100.0% 100.0% 100.0% 93.3% 100.0% 100.0% 100.0% 66.7%
GL_MAX_VERTEX_ATTRIB_STRIDE
GL_ARB_buffer_storage 2022-10-29 2022-10-29 2023-06-19 2023-06-19 2022-11-01 2022-10-31 2023-05-26 2022-11-01
GL_ARB_clear_texture 2023-07-10 2023-07-10 2023-07-10 2023-07-10 2023-07-10 2023-06-19 2023-06-19 2023-07-10 2023-07-10 2023-07-10
GL_ARB_enhanced_layouts 2023-12-09 2023-06-19 2023-06-19 2022-10-28 2023-11-14
- compile-time constant expressions
- explicit byte offsets for blocks
- forced alignment within blocks
- specified vec4-slot component numbers
- specified transform/feedback layout
- input/output block locations
GL_ARB_multi_bind
GL_ARB_query_buffer_object 2024-02-14 2023-06-19 2023-06-19 2022-11-02 2023-11-14
GL_ARB_texture_mirror_clamp_to_edge 2023-01-09 2023-06-19 2023-06-19 2022-10-28 2023-11-14
GL_ARB_texture_stencil8 2022-11-23 2023-06-19 2023-06-19
GL_ARB_vertex_type_10f_11f_11f_rev 2022-12-02 2023-06-19 2023-06-19

OpenGL 4.3 - GLSL 4.30

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 45.5% 68.2% 90.9% 50.0% 100.0% 100.0% 72.7% 100.0% 100.0% 100.0% 95.5% 100.0% 100.0% 100.0% 45.5%
GL_ARB_arrays_of_arrays
GL_ARB_ES3_compatibility
GL_ARB_clear_buffer_object
GL_ARB_compute_shader 2023-08-23 2023-06-19 2023-06-19
GL_ARB_copy_image 2024-02-14 2023-06-19 2023-06-19 2022-10-19 2023-11-07
GL_KHR_debug
GL_ARB_explicit_uniform_location
GL_ARB_fragment_layer_viewport 2023-12-09 2023-06-19 2023-06-19 2022-10-28
GL_ARB_framebuffer_no_attachments 2023-02-20 2023-06-19 2023-06-19
GL_ARB_internalformat_query2
GL_ARB_invalidate_subdata
GL_ARB_multi_draw_indirect 2023-11-07 2023-06-19 2023-06-19
GL_ARB_program_interface_query
GL_ARB_robust_buffer_access_behavior 2024-02-14 2023-06-19 2023-06-19
GL_ARB_shader_image_size 2023-08-23 2023-06-19 2023-06-19
GL_ARB_shader_storage_buffer_object 2023-08-23 2023-06-19 2023-06-19
GL_ARB_stencil_texturing 2022-11-23 2023-06-19 2023-06-19 2023-06-19
GL_ARB_texture_buffer_range 2024-02-14 2023-06-19 2023-06-19
GL_ARB_texture_query_levels
GL_ARB_texture_storage_multisample 2023-06-07 2023-06-19 2023-06-19 2022-10-29
GL_ARB_texture_view 2022-11-23 2023-06-19 2023-06-19 2023-11-07
GL_ARB_vertex_attrib_binding

OpenGL 4.2 - GLSL 4.20

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 58.3% 75.0% 83.3% 58.3% 100.0% 100.0% 75.0% 100.0% 100.0% 100.0% 91.7% 100.0% 100.0% 100.0% 50.0%
GL_ARB_texture_compression_bptc 2023-11-07 2023-06-19 2023-06-19 2022-10-29
GL_ARB_compressed_texture_pixel_storage
GL_ARB_shader_atomic_counters 2023-08-23 2023-06-19 2023-06-19
GL_ARB_texture_storage
GL_ARB_transform_feedback_instanced 2023-05-07 2023-06-19 2023-06-19
GL_ARB_base_instance 2023-11-07 2023-06-19 2023-06-19
GL_ARB_shader_image_load_store 2023-08-23 2023-06-19 2023-06-19
GL_ARB_conservative_depth
GL_ARB_shading_language_420pack
GL_ARB_shading_language_packing
GL_ARB_internalformat_query 2022-11-23 2023-06-19 2023-06-19
GL_ARB_map_buffer_alignment

OpenGL 4.1 - GLSL 4.10

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 33.3% 33.3% 50.0% 33.3% 100.0% 100.0% 50.0% 100.0% 100.0% 100.0% 66.7% 100.0% 100.0% 100.0% 16.7%
GL_ARB_ES2_compatibility 2022-11-23 2023-06-19 2023-06-19
GL_ARB_get_program_binary 2022-11-23 2023-06-19 2023-06-19
GL_ARB_separate_shader_objects
GL_ARB_shader_precision 2023-12-09 2023-06-19 2023-06-19 2022-10-28
GL_ARB_vertex_attrib_64bit 2024-02-14 2023-06-19 2023-06-19 2022-10-28
GL_ARB_viewport_array 2023-12-09 2023-06-19 2023-06-19 2022-10-28

OpenGL 4.0 - GLSL 4.00

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 0.0% 32.0% 24.0% 0.0% 100.0% 100.0% 28.0% 100.0% 100.0% 100.0% 84.0% 100.0% 100.0% 100.0% 0.0%
GL_ARB_draw_buffers_blend 2022-11-23 2023-06-19 2023-06-19
GL_ARB_draw_indirect 2023-02-13 2023-06-19 2023-06-19
GL_ARB_gpu_shader5 2023-12-09 2023-06-19 2023-06-19 2022-10-19
- 'precise' qualifier 2023-12-09 2023-06-19 2023-06-19 2022-10-19
- Dynamically uniform sampler array indices 2023-03-05 2023-06-19 2023-06-19 2022-10-19
- Dynamically uniform UBO array indices 2023-03-05 2023-06-19 2023-06-19
- Implicit signed -> unsigned conversions 2023-02-20 2023-06-19 2023-06-19 2022-10-19
- Fused multiply-add 2023-02-20 2023-06-19 2023-06-19 2022-10-19
- Packing/bitfield/conversion functions 2022-11-23 2023-06-19 2023-06-19
- Enhanced textureGather 2023-02-20 2023-06-19 2023-06-19
- Geometry shader instancing 2023-11-07 2023-06-19 2023-06-19 2022-10-19
- Geometry shader multiple streams 2023-11-07 2023-06-19 2023-06-19 2022-10-19
- Enhanced per-sample shading 2023-08-23 2023-06-19 2023-06-19 2022-10-19
- Interpolation functions 2023-08-23 2023-06-19 2023-06-19 2022-10-19
- New overload resolution rules 2023-12-09 2023-06-19 2023-06-19 2022-10-19
GL_ARB_gpu_shader_fp64 2024-02-14 2023-06-19 2023-06-19 2022-10-19
GL_ARB_sample_shading 2023-08-23 2023-06-19 2023-06-19
GL_ARB_shader_subroutine 2024-02-14 2023-06-19 2023-06-19
GL_ARB_tessellation_shader 2024-02-14 2023-06-19 2023-06-19
GL_ARB_texture_buffer_object_rgb32 2023-03-11 2023-06-19 2023-06-19
GL_ARB_texture_cube_map_array 2023-11-07 2023-04-24 2023-06-19 2023-06-19
GL_ARB_texture_gather 2023-02-20 2023-06-19 2023-06-19
GL_ARB_texture_query_lod 2024-02-14 2023-06-19 2023-06-19
GL_ARB_transform_feedback2 2023-05-07 2023-06-19 2023-06-19
GL_ARB_transform_feedback3 2023-05-07 2023-06-19 2023-06-19

OpenGL 3.3 - GLSL 3.30

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 40.0% 90.0% 80.0% 30.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 40.0%
GL_ARB_blend_func_extended 2023-06-07 2023-06-19 2023-06-19
GL_ARB_explicit_attrib_location
GL_ARB_occlusion_query2 2022-12-17 2023-06-19 2023-06-19
GL_ARB_sampler_objects
GL_ARB_shader_bit_encoding 2022-11-23 2023-06-19 2023-06-19
GL_ARB_texture_rgb10_a2ui 2022-11-23 2023-06-19 2023-06-19
GL_ARB_texture_swizzle 2022-11-23 2023-06-19 2023-06-19 2023-11-28
GL_ARB_timer_query 2023-11-07 2023-06-19 2023-06-19
GL_ARB_instanced_arrays 2022-12-17 2023-06-19 2023-06-19 2022-08-24
GL_ARB_vertex_type_2_10_10_10_rev 2022-12-02 2023-06-19 2023-06-19

OpenGL 3.2 - GLSL 1.50

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 54.5% 90.9% 72.7% 63.6% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 18.2%
Core/compatibility profiles
Geometry shaders 2023-11-07 2023-06-19 2023-06-19
GL_ARB_vertex_array_bgra (BGRA vertex order) 2022-11-23 2023-06-19 2023-06-19
GL_ARB_draw_elements_base_vertex (Base vertex offset) 2022-11-23 2023-06-19 2023-06-19
GL_ARB_fragment_coord_conventions (Frag shader coord) 2022-11-23 2023-06-19 2023-06-19
GL_ARB_provoking_vertex (Provoking vertex) 2022-11-23 2023-06-19 2023-06-19
GL_ARB_seamless_cube_map (Seamless cubemaps) 2022-12-17 2023-06-19 2023-06-19
GL_ARB_texture_multisample (Multisample textures) 2023-06-07 2023-06-19 2023-06-19
GL_ARB_depth_clamp (Frag depth clamp) 2023-02-20 2023-06-19 2023-06-19
GL_ARB_sync (Fence objects) 2023-03-03 2023-06-19 2023-06-19
GLX_ARB_create_context_profile

OpenGL 3.1 - GLSL 1.40

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 33.3% 100.0% 100.0% 33.3% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 33.3%
Forward compatible context support/deprecations
GL_ARB_draw_instanced (Instanced drawing) 2022-12-17 2023-06-19 2023-06-19 2022-08-24
GL_ARB_copy_buffer (Buffer copying) 2022-11-23 2023-06-19 2023-06-19
GL_NV_primitive_restart (Primitive restart) 2022-11-23 2023-06-19 2023-06-19
16 vertex texture image units 2023-02-20 2023-10-13 2023-06-19 2023-06-19
GL_ARB_texture_buffer_object (Texture buffer objs) 2023-03-11 2023-06-19 2023-06-19
GL_ARB_texture_rectangle (Rectangular textures) 2022-11-23 2023-06-19 2023-06-19 2023-10-13
GL_ARB_uniform_buffer_object (Uniform buffer objs) 2022-11-23 2023-06-19 2023-06-19
GL_EXT_texture_snorm (Signed normalized textures) 2022-11-23 2023-06-19 2023-06-19

OpenGL 3.0 - GLSL 1.30

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 44.4% 100.0% 100.0% 48.1% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 51.9%
glBindFragDataLocation, glGetFragDataLocation
GL_NV_conditional_render (Conditional rendering) 2023-01-05 2023-03-21 2023-06-19 2023-06-19 2023-06-09
GL_ARB_map_buffer_range (Map buffer subranges) 2022-11-23 2023-06-19 2023-06-19
GL_ARB_color_buffer_float (Clamping controls) 2022-11-23 2023-06-19 2023-06-19 2023-07-10
GL_ARB_texture_float (Float textures, renderbuffers) 2022-11-23 2023-06-19 2023-06-19
GL_EXT_packed_float 2022-11-23 2023-06-19 2023-06-19 2023-07-10
GL_EXT_texture_shared_exponent 2023-01-05 2023-06-19 2023-06-19
GL_ARB_depth_buffer_float (Float depth buffers) 2022-11-23 2023-06-19 2023-06-19
GL_ARB_framebuffer_object (Framebuffer objects) 2022-11-23 2023-06-19 2023-06-19 2023-07-10
GL_ARB_half_float_pixel
GL_ARB_half_float_vertex 2022-11-23 2023-06-19 2023-06-19 2023-10-13
GL_EXT_texture_integer 2022-11-23 2023-06-19 2023-06-19
GL_EXT_texture_array 2022-11-23 2023-06-19 2023-06-19 2023-07-10
GL_EXT_draw_buffers2 (Per-buffer blend and masks) 2022-11-23 2023-06-19 2023-06-19
GL_EXT_texture_compression_rgtc 2022-09-15 2022-11-23 2022-09-15 2023-06-19 2023-06-19
GL_ARB_texture_rg 2022-11-23 2023-06-19 2023-06-19 2023-07-10
GL_EXT_transform_feedback (Transform feedback) 2023-05-07 2023-06-19 2023-06-19
GL_ARB_vertex_array_object (Vertex array objects) 2022-11-23 2023-06-19 2023-06-19
GL_EXT_framebuffer_sRGB (sRGB framebuffer format) 2022-11-23 2023-06-19 2023-06-19 2023-11-28
glClearBuffer commands
glGetStringi command
glTexParameterI, glGetTexParameterI commands
glVertexAttribI commands
Depth format cube textures 2023-01-05 2023-10-13 2023-06-19 2023-06-19
GLX_ARB_create_context (GLX 1.4 is required) 2022-11-23 2023-06-19 2023-06-19
Multisample anti-aliasing 2023-06-07 2023-10-13 2023-06-19 2023-06-19
8 draw buffers 2023-01-05 2023-10-13 2023-06-19 2023-06-19

OpenGL ES

There are a total of 41 extensions to implement. The ranking is based on the current number of extensions implemented per driver.

# Driver Extensions Version
1 asahi (100.0%) 41 3.2
1 radeonsi (100.0%) 41 3.2
1 crocus (100.0%) 41 3.2
1 mesa (100.0%) 41 3.2
1 zink (100.0%) 41 3.2
1 llvmpipe (100.0%) 41 3.2
1 virgl (100.0%) 41 3.2
1 iris (100.0%) 41 3.2
1 freedreno (100.0%) 41 3.2
10 nvc0 (97.6%) 40 3.1
10 r600 (97.6%) 40 3.1
12 softpipe (82.9%) 34 3.1
12 panfrost (82.9%) 34 3.1
14 d3d12 (78.0%) 32 3.1
14 v3d (78.0%) 32 3.1
16 nv50 (43.9%) 18 N/A
17 vc4 (36.6%) 15 N/A
18 lima (31.7%) 13 N/A
19 etnaviv (29.3%) 12 N/A
Drivers details

OpenGL ES 3.2 - GLSL ES 3.2

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 95.5% 100.0% 100.0% 27.3% 68.2% 59.1% 31.8% 100.0% 100.0% 36.4% 95.5% 100.0% 100.0% 68.2% 59.1% 100.0% 100.0% 22.7%
GL_EXT_color_buffer_float
GL_KHR_blend_equation_advanced 2023-02-20 2023-06-19 2023-06-19
GL_KHR_debug
GL_KHR_robustness 2024-02-14 2023-06-19 2023-06-19
GL_KHR_texture_compression_astc_ldr 2023-02-20 2023-06-19 2023-06-19
GL_OES_copy_image
GL_OES_draw_buffers_indexed 2022-11-23 2023-06-19 2023-06-19 2022-10-29
GL_OES_draw_elements_base_vertex
GL_OES_geometry_shader 2023-11-07 2023-06-19 2023-06-19
GL_OES_gpu_shader5 2023-08-23 2023-06-19 2023-06-19
GL_OES_primitive_bounding_box 2024-02-14 2023-06-19 2023-06-19
GL_OES_sample_shading 2023-08-23 2023-06-19 2023-06-19
GL_OES_sample_variables 2023-08-23 2023-06-19 2023-06-19
GL_OES_shader_image_atomic 2023-08-23 2023-06-19 2023-06-19 2022-10-29
GL_OES_shader_io_blocks 2024-02-14 2023-06-19 2023-06-19 2022-10-29
GL_OES_shader_multisample_interpolation 2023-08-23 2023-06-19 2023-06-19
GL_OES_tessellation_shader 2024-02-14 2023-06-19 2023-06-19
GL_OES_texture_border_clamp
GL_OES_texture_buffer 2023-03-11 2023-06-19 2023-06-19
GL_OES_texture_cube_map_array 2023-11-07 2023-06-19 2023-06-19
GL_OES_texture_stencil8 2022-11-23 2023-06-19 2023-06-19 2022-10-29
GL_OES_texture_storage_multisample_2d_array 2023-06-07 2023-06-19 2023-06-19 2022-10-29

OpenGL ES 3.1 - GLSL ES 3.1

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
100.0% 100.0% 100.0% 100.0% 36.8% 100.0% 100.0% 42.1% 100.0% 100.0% 52.6% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 36.8%
GL_ARB_arrays_of_arrays
GL_ARB_compute_shader 2023-08-23 2023-06-19 2023-06-19
GL_ARB_draw_indirect 2023-02-13 2024-02-23 2023-06-19 2023-06-19
GL_ARB_explicit_uniform_location
GL_ARB_framebuffer_no_attachments 2023-02-20 2024-02-23 2023-06-19 2023-06-19
GL_ARB_program_interface_query
GL_ARB_shader_atomic_counters 2023-08-23 2023-06-19 2023-06-19
GL_ARB_shader_image_load_store 2023-08-23 2024-02-23 2023-06-19 2023-06-19
GL_ARB_shader_image_size 2023-08-23 2023-06-19 2023-06-19
GL_ARB_shader_storage_buffer_object 2023-08-23 2023-06-19 2023-06-19
GL_ARB_shading_language_packing
GL_ARB_separate_shader_objects
GL_ARB_stencil_texturing 2022-11-23 2023-06-19 2023-06-19 2023-06-19
GL_ARB_texture_multisample (Multisample textures) 2023-06-07 2023-06-19 2023-06-19
GL_ARB_texture_storage_multisample 2023-06-07 2023-06-19 2023-06-19 2024-02-23
GL_ARB_vertex_attrib_binding
GS5 Enhanced textureGather 2023-02-20 2023-06-19 2023-06-19
GS5 Packing/bitfield/conversion functions 2022-11-23 2023-06-19 2023-06-19
GL_EXT_shader_integer_mix

Extensions that are not part of any OpenGL or OpenGL ES version

There are a total of 57 extensions to implement. The ranking is based on the current number of extensions implemented per driver.

# Driver Extensions
1 mesa (93.0%) 53
2 zink (84.2%) 48
3 radeonsi (68.4%) 39
4 iris (66.7%) 38
5 freedreno (61.4%) 35
6 crocus (50.9%) 29
7 asahi (49.1%) 28
7 nvc0 (49.1%) 28
9 llvmpipe (42.1%) 24
10 softpipe (36.8%) 21
11 r600 (35.1%) 20
12 panfrost (33.3%) 19
13 nv50 (28.1%) 16
13 d3d12 (28.1%) 16
15 virgl (26.3%) 15
16 v3d (22.8%) 13
17 lima (21.1%) 12
17 etnaviv (21.1%) 12
19 vc4 (14.0%) 8
Drivers details

Extensions that are not part of any OpenGL or OpenGL ES version

AMD Apple Arm Broadcom Intel Nvidia Qualcomm Software Translation Vivante
Extension mesa r600 radeonsi asahi lima panfrost v3d vc4 iris crocus nv50 nvc0 freedreno llvmpipe softpipe d3d12 virgl zink etnaviv
93.0% 35.1% 68.4% 49.1% 21.1% 33.3% 22.8% 14.0% 66.7% 50.9% 28.1% 49.1% 61.4% 42.1% 36.8% 28.1% 26.3% 84.2% 21.1%
GL_ARB_bindless_texture
GL_ARB_cl_event
GL_ARB_compute_variable_group_size 2024-02-14 2023-06-19 2023-06-19 2022-10-19
GL_ARB_ES3_2_compatibility 2024-02-14 2023-06-19 2023-06-19 2022-10-19
GL_ARB_fragment_shader_interlock 2023-06-19
GL_ARB_gpu_shader_int64 2024-02-14 2023-06-19 2023-06-19 2022-10-19
GL_ARB_parallel_shader_compile 2024-02-14 2023-06-19 2022-08-30 2022-07-01
GL_ARB_post_depth_coverage 2023-06-19 2023-09-11
GL_ARB_robustness_isolation
GL_ARB_sample_locations 2023-09-11
GL_ARB_seamless_cubemap_per_texture 2023-02-20 2023-06-19 2023-06-19
GL_ARB_shader_ballot 2024-02-14 2023-06-19 2023-06-19 2024-02-08
GL_ARB_shader_clock 2023-06-19 2023-06-19 2022-08-04
GL_ARB_shader_stencil_export 2022-12-17 2023-06-19
GL_ARB_shader_viewport_layer_array 2024-02-14 2023-06-19 2023-06-19 2023-09-11
GL_ARB_shading_language_include
GL_ARB_sparse_buffer
GL_ARB_sparse_texture
GL_ARB_sparse_texture2
GL_ARB_sparse_texture_clamp
GL_ARB_texture_filter_minmax 2023-09-11
GL_ARM_shader_framebuffer_fetch_depth_stencil 2022-06-22 2022-06-22
GL_EXT_shader_framebuffer_fetch 2023-03-23 2023-03-23 2023-03-23 2023-03-23 2023-03-23 2023-03-23 2023-03-23 2023-03-23
GL_EXT_shader_framebuffer_fetch_non_coherent 2023-03-23 2023-03-23 2023-03-23 2023-03-23 2023-03-23 2023-03-23 2023-03-23 2023-03-23
GL_EXT_color_buffer_half_float 2024-02-14 2023-06-19
GL_EXT_depth_bounds_test 2023-06-19 2023-09-11
GL_EXT_memory_object 2023-06-19 2023-06-19 2022-10-19 2022-07-14
GL_EXT_memory_object_fd 2023-06-19 2023-06-19 2022-10-19
GL_EXT_memory_object_win32 2022-07-14
GL_EXT_multisampled_render_to_texture 2022-06-28
GL_EXT_render_snorm 2024-02-14 2023-02-03 2023-06-19 2022-10-19
GL_EXT_semaphore 2023-06-19 2023-06-19 2022-07-14
GL_EXT_semaphore_fd 2023-06-19 2023-06-19
GL_EXT_semaphore_win32 2022-07-14
GL_EXT_shader_group_vote 2023-05-24 2024-02-14 2023-06-19 2023-06-19 2023-05-24 2023-05-24 2023-05-24 2023-11-17 2023-05-26 2023-05-24
GL_EXT_sRGB_write_control
GL_EXT_texture_norm16 2023-06-19 2023-06-19
GL_EXT_texture_sRGB_R8
GL_KHR_blend_equation_advanced_coherent 2023-02-20 2023-06-19 2023-02-10 2022-08-24
GL_KHR_texture_compression_astc_hdr
GL_KHR_texture_compression_astc_sliced_3d 2023-02-20 2023-06-19 2022-10-19
GL_OES_depth_texture_cube_map
GL_OES_EGL_image
GL_OES_EGL_image_external
GL_OES_EGL_image_external_essl3
GL_OES_required_internalformat
GL_OES_surfaceless_context
GL_OES_texture_compression_astc
GL_OES_texture_float 2022-11-23 2023-06-19 2023-06-19
GL_OES_texture_float_linear 2022-11-23 2023-06-19 2023-06-19
GL_OES_texture_half_float 2022-11-23 2023-06-19 2023-06-19 2023-07-04
GL_OES_texture_half_float_linear 2022-11-23 2023-06-19 2023-06-19 2023-07-04
GL_OES_texture_view 2023-06-19 2023-06-19 2023-11-07
GL_OES_viewport_array 2023-12-09 2023-06-19 2023-06-19 2022-10-28
GLX_ARB_context_flush_control 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01 2022-08-01
GLX_ARB_robustness_application_isolation
GLX_ARB_robustness_share_group_isolation

Rusticl OpenCL

There are a total of 123 extensions to implement. The ranking is based on the current number of extensions implemented per driver.

# Driver Extensions Version
1 iris (53.7%) 66 1.0
2 radeonsi (52.0%) 64 1.0
2 mesa (52.0%) 64 N/A
4 llvmpipe (51.2%) 63 1.0
5 zink (48.0%) 59 1.0
6 nvc0 (46.3%) 57 1.0
7 panfrost (45.5%) 56 1.0
8 asahi (44.7%) 55 1.0
Drivers details

Rusticl OpenCL 3.0

AMD Apple Arm Intel Nvidia Software Translation
Extension mesa radeonsi asahi panfrost iris nvc0 llvmpipe zink
100.0% 90.0%