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-11-20 14:45 panvk: Advertise VK_KHR_map_memory2
2024-11-20 14:45 panvk: Advertise VK_KHR_index_type_uint8
2024-11-20 03:53 anv: Update features.txt
2024-11-19 12:40 panvk: Advertise VK_EXT_host_query_reset
2024-11-19 10:55 panvk: Implement VK_EXT_sampler_filter_minmax for v10
2024-11-18 23:06 panvk: add support for VK_EXT_queue_family_foreign
2024-11-18 17:57 rusticl: enable cl_khr_depth_images
2024-11-18 08:05 panvk: Implement VK_KHR_zero_initialize_workgroup_memory
2024-11-18 08:05 panvk: Advertise VK_KHR_shader_relaxed_extended_instruction
2024-11-18 08:05 panvk: Advertise VK_KHR_shader_non_semantic_info
More...

Vulkan

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

# Driver Extensions Version
1 mesa (98.0%) 244 1.3
2 radv (92.4%) 230 1.3
3 anv (82.3%) 205 1.3
4 nvk (73.1%) 182 1.3
5 tu (70.7%) 176 1.3
6 lvp (61.8%) 154 1.3
7 vn (53.4%) 133 1.3
8 hasvk (51.4%) 128 N/A
9 v3dv (47.4%) 118 1.0
10 panvk (29.3%) 73 1.0
11 dzn (23.3%) 58 1.0
12 pvr (14.1%) 35 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% 41.7% 100.0% 100.0% 91.7% 100.0% 20.8% 100.0% 100.0% 12.5% 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 2024-10-15 2024-03-19 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 2024-11-18 2023-07-06 2023-08-04 2022-08-30
VK_KHR_shader_relaxed_extended_instruction 2024-09-16 2024-09-16 2024-11-18 2024-09-16 2024-09-16 2024-09-16 2024-09-16 2024-09-16 2024-09-16 2024-09-16
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 2024-11-18 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 2024-04-26 2023-07-06 2023-08-04 2022-08-15
VK_EXT_extended_dynamic_state2 2024-05-08 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 2024-06-17 2023-07-06 2024-01-09 2022-08-24
VK_EXT_pipeline_creation_feedback 2024-06-17 2023-07-06 2024-01-09 2022-09-08
VK_EXT_private_data 2024-07-24 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 2024-08-05 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 2024-11-18 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 2024-08-05 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% 33.3% 70.8% 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 2024-07-03 2023-05-15
VK_KHR_buffer_device_address 2024-06-17 2022-07-19 2024-01-29 2023-07-06 2023-08-04
VK_KHR_create_renderpass2 2024-10-30 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 2024-04-19 2023-07-06 2023-08-04 2022-08-15 2022-08-15
VK_KHR_image_format_list 2024-10-22 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 2024-06-26 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 2024-10-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 2024-11-04 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 2024-11-19 2023-07-06 2023-08-04 2023-10-20
VK_EXT_sampler_filter_minmax 2024-11-19 2024-01-29 2023-08-04
VK_EXT_scalar_block_layout 2024-11-14 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% 82.6% 95.7% 100.0% 100.0% 100.0% 39.1% 100.0% 100.0% 82.6% 100.0%
VK_KHR_16bit_storage 2024-10-31 2024-01-29 2023-07-06 2023-11-29 2024-03-26 2023-05-15
VK_KHR_bind_memory2 2024-10-14 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 2024-06-17 2023-07-06 2023-08-04 2023-05-15
VK_KHR_device_group_creation 2024-06-17 2023-08-04 2023-08-04 2023-05-15
VK_KHR_external_fence 2024-10-14 2023-07-06 2023-08-04 2023-10-20
VK_KHR_external_fence_capabilities 2024-10-14 2023-08-04 2023-08-04 2023-10-20
VK_KHR_external_memory 2024-10-14 2023-07-06 2023-08-04 2022-08-15 2023-05-15
VK_KHR_external_memory_capabilities 2024-10-14 2023-08-04 2023-08-04 2022-08-15 2023-05-15
VK_KHR_external_semaphore 2024-10-14 2023-07-06 2023-08-04 2023-10-20 2023-05-15
VK_KHR_external_semaphore_capabilities 2024-10-14 2023-08-04 2023-08-04 2023-10-20 2023-05-15
VK_KHR_get_memory_requirements2 2024-10-02 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 2024-10-02 2023-07-06 2023-08-04 2023-05-15
VK_KHR_maintenance2 2024-10-14 2023-07-06 2023-08-04 2023-05-15
VK_KHR_maintenance3 2024-06-17 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 2024-10-14 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% 100.0% 100.0% 100.0% 0.0% 100.0% 0.0% 100.0% 100.0% 100.0% 100.0%
All extensions 2024-10-30 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
97.2% 89.3% 19.8% 30.5% 75.1% 35.0% 62.1% 9.0% 58.8% 46.3% 10.2% 34.5%
VK_KHR_acceleration_structure 2022-08-15 2022-08-15 2023-03-14 2024-03-06
VK_KHR_android_surface
VK_KHR_calibrated_timestamps 2023-12-12 2023-12-12 2024-01-29 2024-03-21 2024-09-23
VK_KHR_compute_shader_derivatives 2024-09-10 2024-09-11 2024-09-10 2024-09-10 2024-10-10
VK_KHR_cooperative_matrix 2023-12-12 2023-12-12 2024-01-29
VK_KHR_deferred_host_operations 2023-07-06 2024-03-06
VK_KHR_display 2024-02-16 2022-08-15
VK_KHR_display_swapchain
VK_KHR_dynamic_rendering_local_read 2024-01-30 2024-05-07 2024-11-20 2024-09-05 2024-10-17 2024-01-30
VK_KHR_external_fence_fd 2024-10-16 2023-07-06 2023-08-04 2023-10-20
VK_KHR_external_fence_win32
VK_KHR_external_memory_fd 2024-10-16 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 2024-10-16 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 2024-10-10 2024-03-04
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-11-12 2024-01-29 2022-09-14
VK_KHR_incremental_present 2023-07-06 2024-02-25
VK_KHR_index_type_uint8 2024-01-26 2024-01-26 2024-11-20 2024-03-11 2024-01-29 2024-01-27 2024-03-27 2024-03-08
VK_KHR_line_rasterization 2024-01-26 2024-01-26 2024-03-11 2024-01-29 2024-01-27 2024-03-08
VK_KHR_load_store_op_none 2024-01-26 2024-01-26 2024-03-11 2024-01-29 2024-01-27 2024-03-08
VK_KHR_maintenance5 2023-09-01 2023-09-01 2024-06-17 2023-09-01 2024-02-26 2023-09-27 2023-09-01 2024-05-22
VK_KHR_maintenance6 2024-01-09 2024-04-09 2024-01-29 2024-03-29 2024-05-28 2024-01-09
VK_KHR_maintenance7 2024-07-03 2024-07-03 2024-07-03 2024-08-29 2024-07-03
VK_KHR_performance_query 2022-08-15 2022-06-27 2024-01-29
VK_KHR_pipeline_binary 2024-09-10 2024-09-10
VK_KHR_pipeline_executable_properties 2024-06-17 2023-07-06 2023-11-21
VK_KHR_pipeline_library 2024-06-17 2023-03-14 2024-02-29 2023-02-27 2023-10-18
VK_KHR_present_wait 2022-11-23 2022-11-23 2022-11-23 2024-02-25 2022-11-23
VK_KHR_push_descriptor 2024-10-30 2023-07-06 2023-08-04 2022-12-18
VK_KHR_ray_query 2022-08-15 2022-08-15 2023-03-14 2024-03-06
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 2024-04-09
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_float_controls2 2024-06-24 2024-09-18 2024-06-24 2024-09-20 2024-06-24
VK_KHR_shader_maximal_reconvergence 2024-02-09 2024-02-09 2024-03-26 2024-03-26 2024-02-22
VK_KHR_shader_subgroup_rotate 2024-01-25 2024-01-25 2024-01-29 2024-04-19 2024-09-26
VK_KHR_shader_subgroup_uniform_control_flow 2023-07-06 2024-03-25 2024-07-19
VK_KHR_shader_quad_control 2024-02-09 2024-02-09 2024-05-07 2024-10-02
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 2024-03-26
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-03-11 2024-01-29 2024-03-13 2024-03-14
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 2024-08-20
VK_KHR_win32_keyed_mutex
VK_KHR_win32_surface 2022-08-15
VK_KHR_xcb_surface 2024-10-30 2023-08-04 2023-08-04 2022-08-15
VK_KHR_xlib_surface 2024-10-30 2023-08-04 2023-08-04 2022-08-15
VK_EXT_acquire_xlib_display 2023-03-31 2023-03-31 2024-10-30 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 2024-08-01 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 2024-03-04
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-06-17 2024-01-29 2023-07-06 2023-08-04
VK_EXT_calibrated_timestamps 2023-07-06 2024-03-21 2024-09-23 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 2024-05-14 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 2024-10-30 2023-03-31 2023-03-31 2023-11-21 2023-03-31 2023-03-31 2023-03-31 2023-05-15
VK_EXT_debug_utils 2024-06-26 2024-06-26 2024-06-26 2024-06-26 2024-06-26 2024-06-26 2024-06-26 2024-06-26 2024-06-26 2024-06-26 2024-06-26
VK_EXT_depth_bias_control 2023-06-20 2023-06-20 2023-07-03 2023-11-21
VK_EXT_depth_clamp_control 2024-09-30 2024-09-30 2024-09-30 2024-09-30 2024-09-30
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-10-30 2024-07-17 2023-07-06 2023-08-06 2022-08-15
VK_EXT_depth_range_unrestricted 2023-12-01 2024-05-02 2022-08-15
VK_EXT_descriptor_buffer 2022-11-21 2022-11-21 2024-02-29 2024-08-13 2022-12-12 2023-06-30
VK_EXT_device_address_binding_report 2024-04-03 2024-04-03 2024-07-22
VK_EXT_device_fault 2023-12-12 2023-12-12
VK_EXT_device_generated_commands 2024-09-26 2024-10-28 2024-09-26
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 2024-03-15
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 2024-07-10
VK_EXT_external_memory_dma_buf 2024-10-16 2023-07-06 2023-08-04 2022-08-15 2024-04-05
VK_EXT_external_memory_host 2023-07-06
VK_EXT_filter_cubic 2024-03-26
VK_EXT_fragment_density_map 2024-08-01 2024-08-01
VK_EXT_fragment_shader_interlock 2023-06-26 2024-01-29 2023-06-08
VK_EXT_global_priority 2024-11-12 2023-07-06 2022-09-14
VK_EXT_global_priority_query 2024-11-12 2022-08-15 2023-07-06 2022-09-14
VK_EXT_graphics_pipeline_library 2023-04-10 2024-06-17 2023-07-03 2024-02-27 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_host_image_copy 2024-09-28 2024-11-20 2024-09-28
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 2024-10-22 2023-07-06 2024-05-14
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 2024-03-27 2022-08-15
VK_EXT_legacy_vertex_attributes 2024-05-07 2024-05-13 2024-05-07 2024-08-24 2024-05-13 2024-05-07
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-04-23 2024-01-29 2024-04-18 2024-05-24 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 2024-10-15 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_protected_access 2024-11-20 2024-11-20
VK_EXT_pipeline_robustness 2022-10-27 2023-07-06 2022-10-27 2023-08-09 2024-05-06 2024-10-17
VK_EXT_post_depth_coverage 2024-01-29 2024-08-13 2024-03-26
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 2024-11-18 2024-09-05 2023-07-06 2024-05-14 2022-08-15 2024-04-05
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 2024-03-26
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 2024-04-08 2024-02-27 2023-03-31
VK_EXT_shader_replicated_composites 2024-06-04 2024-06-04 2024-06-04 2024-06-04 2024-06-04 2024-06-04 2024-06-04 2024-06-04
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 2024-06-17 2022-09-07 2022-07-19 2023-07-06 2024-01-09 2022-07-19
VK_EXT_surface_maintenance1 2024-03-15 2024-03-15 2024-03-20 2024-03-20 2024-03-15 2024-04-16 2024-03-20
VK_EXT_swapchain_maintenance1 2024-03-15 2024-03-15 2024-03-20 2024-03-20 2024-03-15 2024-04-16 2024-03-20
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 2024-05-21
VK_ANDROID_native_buffer 2022-07-28 2022-07-28
VK_GOOGLE_decorate_string 2024-08-21 2023-07-06 2024-03-21 2024-03-26
VK_GOOGLE_hlsl_functionality1 2024-08-21 2023-07-06 2024-03-21 2024-03-26
VK_GOOGLE_user_type 2024-08-21 2023-07-06 2024-03-21 2024-03-26
VK_IMG_filter_cubic 2024-03-26
VK_NV_compute_shader_derivatives 2023-07-06 2024-09-10
VK_EXT_acquire_drm_display 2023-08-10 2024-02-16 2022-07-29
VK_VALVE_mutable_descriptor_type 2023-07-06 2024-03-21 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 2024-02-27
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 2024-03-20 2022-11-16 2024-03-15 2022-11-16 2024-03-20
VK_EXT_depth_clamp_zero_one 2023-07-06 2023-12-05 2024-07-17 2023-07-06 2024-10-18 2024-06-12
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 2024-11-20 2023-07-06 2023-08-04 2024-03-14
VK_EXT_map_memory_placed 2024-05-05 2024-05-05 2024-05-05 2024-05-05 2024-05-05
VK_MESA_image_alignment_control 2024-05-14 2024-05-14 2024-11-20
VK_EXT_legacy_dithering 2024-05-15 2024-05-15 2024-08-16

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.6%) 113 3.1
16 panfrost (69.4%) 111 3.1
17 vc4 (38.8%) 62 N/A
18 lima (38.1%) 61 N/A
19 etnaviv (37.5%) 60 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% 50.0%
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 2024-10-21
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% 8.0%
GL_ARB_draw_buffers_blend 2022-11-23 2023-06-19 2023-06-19 2024-10-04
GL_ARB_draw_indirect 2023-02-13 2023-06-19 2023-06-19 2024-10-11
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% 100.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 2024-09-09 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% 81.8% 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 2024-07-17 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% 55.6%
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 2024-10-04
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 etnaviv (34.1%) 14 N/A
19 lima (31.7%) 13 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% 27.3%
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 2024-10-04
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% 42.1%
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-11-20 2023-06-19 2023-06-19
GL_ARB_explicit_uniform_location
GL_ARB_framebuffer_no_attachments 2023-02-20 2024-11-20 2023-06-19 2023-06-19 2024-10-21
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-11-20 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-11-20
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 62 extensions to implement. The ranking is based on the current number of extensions implemented per driver.

# Driver Extensions
1 mesa (93.5%) 58
2 zink (82.3%) 51
3 radeonsi (64.5%) 40
4 iris (61.3%) 38
5 freedreno (56.5%) 35
6 crocus (46.8%) 29
7 asahi (45.2%) 28
7 nvc0 (45.2%) 28
9 llvmpipe (38.7%) 24
10 softpipe (33.9%) 21
11 r600 (32.3%) 20
11 panfrost (32.3%) 20
13 nv50 (25.8%) 16
13 d3d12 (25.8%) 16
15 virgl (24.2%) 15
16 v3d (21.0%) 13
17 lima (19.4%) 12
17 etnaviv (19.4%) 12
19 vc4 (12.9%) 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.5% 32.3% 64.5% 45.2% 19.4% 32.3% 21.0% 12.9% 61.3% 46.8% 25.8% 45.2% 56.5% 38.7% 33.9% 25.8% 24.2% 82.3% 19.4%
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_compression_astc_decode_mode 2024-08-20 2024-08-20
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_shader_subgroup 2024-08-26 2024-08-26
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
GL_OVR_multiview 2024-09-18 2024-09-18
GL_OVR_multiview2 2024-09-18 2024-09-18
GL_OVR_multiview_multisampled_render_to_texture 2024-09-20 2024-09-20
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 (56.1%) 69 1.0
2 radeonsi (54.5%) 67 1.0
2 mesa (54.5%) 67 N/A
4 llvmpipe (53.7%) 66 1.0
5 zink (51.2%) 63 1.0
6 nvc0 (48.8%) 60 1.0
7 panfrost (48.0%) 59 1.0
7 asahi (48.0%) 59 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% 100.0% 90.0% 100.0% 90.0% 90.0% 100.0%
Optional device capabilities queries 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
cl_khr_extended_versioning 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clSetContextDestructorCallback 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clCreateBufferWithProperties 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clCreateImageWithProperties 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Query properties arrays 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
Supported OpenCL C versions and features queries 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
CL_COMMAND_SVM_MIGRATE_MEM for clGetEventInfo 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
OpenCL C 3.0 2023-06-13 2023-06-13 2024-11-20 2024-11-20 2024-11-20 2023-06-13 2024-11-20 2024-11-20
Latest conformance version passed for devices 2024-11-20 2024-11-20 2024-11-20 2024-11-20

Rusticl OpenCL 2.2

AMD Apple Arm Intel Nvidia Software Translation
Extension mesa radeonsi asahi panfrost iris nvc0 llvmpipe zink
40.0% 40.0% 40.0% 40.0% 40.0% 40.0% 40.0% 40.0%
clSetProgramSpecializationConstant 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
clSetProgramReleaseCallback 2023-06-08
Initialization and clean-up kernels 2023-06-08
CL_MAX_SIZE_RESTRICTION_EXCEEDED for clSetKernelArg 2023-06-08
Support SPIR-V 1.1 and 1.2 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20

Rusticl OpenCL 2.1

AMD Apple Arm Intel Nvidia Software Translation
Extension mesa radeonsi asahi panfrost iris nvc0 llvmpipe zink
50.0% 62.5% 25.0% 25.0% 62.5% 25.0% 62.5% 37.5%
Sub groups 2024-11-20 2024-11-20 2024-11-20 2024-11-20
- cl_khr_subgroups 2024-11-20 2024-11-20 2024-11-20 2024-11-20
cl_khr_il_program 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Device and host timer synchronization 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
clEnqueueSVMMigrateMem 2024-11-20
clCloneKernel 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
Default device command queue 2023-06-08
CL_UNORM_INT_101010_2 2024-11-20

Rusticl OpenCL 2.0

AMD Apple Arm Intel Nvidia Software Translation
Extension mesa radeonsi asahi panfrost iris nvc0 llvmpipe zink
43.8% 37.5% 31.2% 37.5% 43.8% 37.5% 43.8% 37.5%
Shared virtual memory 2024-11-20
Device queues 2023-06-08
- cl_khr_create_command_queue 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
- Additional queries for clGetDeviceInfo 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
Pipes 2023-06-08
Extended 2D images creation 2023-06-19
- CL_ABGR 2023-06-19 2023-06-19 2024-11-20 2024-11-20 2024-11-20 2023-06-19 2024-11-20 2024-11-20
- cl_khr_image2d_from_buffer 2024-11-20 2024-11-20 2024-11-20
- cl_khr_depth_images 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
- from sRGB images 2024-11-20
clCreateSamplerWithProperties 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
Non-uniform work-group sizes 2023-06-13
cl_khr_3d_image_writes 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
OpenCL C 2.0 2023-06-13
- Work-group Collective Functions 2023-06-13
- Generic address space 2023-06-13

Rusticl OpenCL 1.2

AMD Apple Arm Intel Nvidia Software Translation
Extension mesa radeonsi asahi panfrost iris nvc0 llvmpipe zink
84.2% 84.2% 84.2% 84.2% 84.2% 84.2% 84.2% 84.2%
Custom devices 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Built-in kernels 2023-06-13
Device partitioning 2023-06-13
Separate compilation and linking of programs 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Extend cl_mem_flags 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clEnqueueFillBuffer, clEnqueueFillImage 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Add CL_MAP_WRITE_INVALIDATE_REGION to cl_map_flags 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
New image types 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
clCreateImage 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clEnqueueMigrateMemObjects 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Retrieve kernels information from a program 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clGetKernelArgInfo 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clEnqueueMarkerWithWaitList 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clEnqueueBarrierWithWaitList 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clUnloadPlatformCompiler 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
cl_khr_fp64 2024-11-20
printf 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
CL_KERNEL_ATTRIBUTES for clGetKernelInfo 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
OpenCL C 1.2 2023-06-13 2023-06-13 2024-11-20 2024-11-20 2024-11-20 2023-06-13 2024-11-20 2024-11-20

Rusticl OpenCL 1.1

AMD Apple Arm Intel Nvidia Software Translation
Extension mesa radeonsi asahi panfrost iris nvc0 llvmpipe zink
81.8% 81.8% 81.8% 81.8% 81.8% 81.8% 81.8% 81.8%
Additional queries for clGetDeviceInfo 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
CL_CONTEXT_NUM_DEVICES for clGetContextInfo 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
New optional image formats 2023-06-19
- CL_Rx 2023-06-19
- CL_RGx 2023-06-19
- CL_RGBx 2023-06-19
clCreateSubBuffer 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Read from, write to, copy rectangular regions 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clSetMemObjectDestructorCallback 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Control OpenCL C version when building 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Query for preferred work-group size multiple 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Support user events 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
clSetEventCallback 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Minimum requirement changes for clGetDeviceInfo 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
Arg prerequisite change for clEnqueueNDRangeKernel 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
OpenCL C 1.1 2023-06-13 2023-06-13 2024-11-20 2024-11-20 2024-11-20 2023-06-13 2024-11-20 2024-11-20
- 3-component vector data types 2023-06-30 2023-06-30 2024-11-20 2024-11-20 2024-11-20 2023-06-30 2024-11-20 2024-11-20
- cl_khr_byte_addressable_store 2023-06-13 2023-06-13 2024-11-20 2024-11-20 2024-11-20 2023-06-13 2024-11-20 2024-11-20
- cl_khr_global_int32_base_atomics 2023-06-13 2023-06-13 2024-11-20 2024-11-20 2024-11-20 2023-06-13 2024-11-20 2024-11-20
- cl_khr_global_int32_extended_atomics 2023-06-13 2023-06-13 2024-11-20 2024-11-20 2024-11-20 2023-06-13 2024-11-20 2024-11-20
- cl_khr_local_int32_base_atomics 2023-06-13 2023-06-13 2024-11-20 2024-11-20 2024-11-20 2023-06-13 2024-11-20 2024-11-20
- cl_khr_local_int32_extended_atomics 2023-06-13 2023-06-13 2024-11-20 2024-11-20 2024-11-20 2023-06-13 2024-11-20 2024-11-20

Rusticl OpenCL 1.0

AMD Apple Arm Intel Nvidia Software Translation
Extension mesa radeonsi asahi panfrost iris nvc0 llvmpipe zink
50.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0% 100.0%
Image support 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
- Optional image formats 2023-06-19 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20

Rusticl Extensions that are not part of any OpenCL version

AMD Apple Arm Intel Nvidia Software Translation
Extension mesa radeonsi asahi panfrost iris nvc0 llvmpipe zink
22.0% 22.0% 9.8% 9.8% 22.0% 12.2% 17.1% 14.6%
cl_khr_async_copy_fence 2023-06-13
cl_khr_async_work_group_copy_fence 2023-06-08
cl_khr_device_enqueue_local_arg_types 2023-06-08
cl_khr_device_uuid 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
cl_khr_egl_event 2023-06-08
cl_khr_egl_image 2023-06-08
cl_khr_expect_assume 2024-11-20
cl_khr_extended_async_copies 2023-06-08
cl_khr_extended_bit_ops 2024-11-20
cl_khr_fp16 2024-11-20
cl_khr_gl_depth_images 2023-06-08
cl_khr_gl_msaa_sharing 2023-06-08
cl_khr_gl_sharing 2024-11-20 2024-11-20 2024-11-20
cl_khr_icd 2023-06-08 2023-06-08 2024-11-20 2024-11-20 2024-11-20 2023-06-08 2024-11-20 2024-11-20
cl_khr_initialize_memory 2023-06-08
cl_khr_int64_base_atomics 2024-11-20
cl_khr_int64_extended_atomics 2024-11-20
cl_khr_integer_dot_product 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
cl_khr_mipmap_image 2023-06-08
cl_khr_pci_bus_info 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
cl_khr_priority_hints 2023-06-08
cl_khr_spirv_extended_debug_info 2023-06-17
cl_khr_spirv_linkonce_odr 2023-06-17
cl_khr_spirv_no_integer_wrap_decoration 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
cl_khr_srgb_image_writes 2023-06-08
cl_khr_subgroup_ballot 2023-06-08
cl_khr_subgroup_clustered_reduce 2023-06-08
cl_khr_subgroup_extended_types 2023-06-08
cl_khr_subgroup_named_barrier 2023-06-08
cl_khr_subgroup_non_uniform_arithmetic 2023-06-08
cl_khr_subgroup_non_uniform_vote 2023-06-08
cl_khr_subgroup_rotate 2023-06-08
cl_khr_subgroup_shuffle 2024-11-20 2024-11-20 2024-11-20 2024-11-20
cl_khr_subgroup_shuffle_relative 2024-11-20 2024-11-20 2024-11-20 2024-11-20
cl_khr_suggested_local_work_size 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20 2024-11-20
cl_khr_terminate_context 2023-06-08
cl_khr_throttle_hints 2023-06-08
cl_khr_work_group_uniform_arithmetic 2023-06-08
cl_arm_non_uniform_work_group_size 2023-10-25
cl_arm_shared_virtual_memory 2024-11-20
cl_intel_unified_shared_memory 2023-10-25

Clover 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 mesa (39.8%) 49 N/A
2 nvc0 (36.6%) 45 N/A
3 r600 (33.3%) 41 N/A
3 radeonsi (33.3%) 41 N/A
Drivers details

Clover OpenCL 3.0

AMD Nvidia
Extension mesa r600 radeonsi nvc0
60.0% 60.0% 60.0% 60.0%
Optional device capabilities queries 2023-06-08
cl_khr_extended_versioning 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clSetContextDestructorCallback 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clCreateBufferWithProperties 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clCreateImageWithProperties 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Query properties arrays 2023-06-08
Supported OpenCL C versions and features queries 2023-06-08 2023-06-08 2023-06-08 2023-06-08
CL_COMMAND_SVM_MIGRATE_MEM for clGetEventInfo 2023-06-08
OpenCL C 3.0 2023-06-13 2023-06-17 2023-06-13 2023-06-13
Latest conformance version passed for devices 2023-06-08

Clover OpenCL 2.2

AMD Nvidia
Extension mesa r600 radeonsi nvc0
0.0% 0.0% 0.0% 0.0%
clSetProgramSpecializationConstant 2023-06-08
clSetProgramReleaseCallback 2023-06-08
Initialization and clean-up kernels 2023-06-08
CL_MAX_SIZE_RESTRICTION_EXCEEDED for clSetKernelArg 2023-06-08
Support SPIR-V 1.1 and 1.2 2023-06-08

Clover OpenCL 2.1

AMD Nvidia
Extension mesa r600 radeonsi nvc0
25.0% 12.5% 12.5% 25.0%
Sub groups 2023-06-08
- cl_khr_subgroups 2023-06-08
cl_khr_il_program 2023-06-08 2023-06-08
Device and host timer synchronization 2023-06-08
clEnqueueSVMMigrateMem 2023-06-08
clCloneKernel 2023-06-08
Default device command queue 2023-06-08
CL_UNORM_INT_101010_2 2023-06-19 2023-06-19 2023-06-19 2023-06-19

Clover OpenCL 2.0

AMD Nvidia
Extension mesa r600 radeonsi nvc0
12.5% 6.2% 6.2% 12.5%
Shared virtual memory 2023-06-08 2023-06-08
Device queues 2023-06-08
- cl_khr_create_command_queue 2023-06-08
- Additional queries for clGetDeviceInfo 2023-06-08
Pipes 2023-06-08
Extended 2D images creation 2023-06-19
- CL_ABGR 2023-06-19 2023-06-19 2023-06-19 2023-06-19
- cl_khr_image2d_from_buffer 2023-06-08
- cl_khr_depth_images 2023-06-08
- from sRGB images 2023-06-08
clCreateSamplerWithProperties 2023-06-08
Non-uniform work-group sizes 2023-06-13
cl_khr_3d_image_writes 2023-06-08
OpenCL C 2.0 2023-06-13
- Work-group Collective Functions 2023-06-13
- Generic address space 2023-06-13

Clover OpenCL 1.2

AMD Nvidia
Extension mesa r600 radeonsi nvc0
84.2% 78.9% 78.9% 84.2%
Custom devices 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Built-in kernels 2023-06-13
Device partitioning 2023-06-13
Separate compilation and linking of programs 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Extend cl_mem_flags 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clEnqueueFillBuffer, clEnqueueFillImage 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Add CL_MAP_WRITE_INVALIDATE_REGION to cl_map_flags 2023-06-08 2023-06-08 2023-06-08 2023-06-08
New image types 2023-06-08
clCreateImage 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clEnqueueMigrateMemObjects 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Retrieve kernels information from a program 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clGetKernelArgInfo 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clEnqueueMarkerWithWaitList 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clEnqueueBarrierWithWaitList 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clUnloadPlatformCompiler 2023-06-08 2023-06-08 2023-06-08 2023-06-08
cl_khr_fp64 2023-06-08 2023-06-08 2023-06-08 2023-06-08
printf 2023-06-08 2023-06-08
CL_KERNEL_ATTRIBUTES for clGetKernelInfo 2023-06-08 2023-06-08 2023-06-08 2023-06-08
OpenCL C 1.2 2023-06-13 2023-06-13 2023-06-13 2023-06-13

Clover OpenCL 1.1

AMD Nvidia
Extension mesa r600 radeonsi nvc0
81.8% 77.3% 77.3% 77.3%
Additional queries for clGetDeviceInfo 2023-06-08 2023-06-08 2023-06-08 2023-06-08
CL_CONTEXT_NUM_DEVICES for clGetContextInfo 2023-06-08 2023-06-08 2023-06-08 2023-06-08
New optional image formats 2023-06-19
- CL_Rx 2023-06-19
- CL_RGx 2023-06-19
- CL_RGBx 2023-06-19
clCreateSubBuffer 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Read from, write to, copy rectangular regions 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clSetMemObjectDestructorCallback 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Control OpenCL C version when building 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Query for preferred work-group size multiple 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Support user events 2023-06-08 2023-06-08 2023-06-08 2023-06-08
clSetEventCallback 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Minimum requirement changes for clGetDeviceInfo 2023-06-08 2023-06-08 2023-06-08 2023-06-08
Arg prerequisite change for clEnqueueNDRangeKernel 2023-06-08
OpenCL C 1.1 2023-06-13 2023-06-13 2023-06-13 2023-06-13
- 3-component vector data types 2023-06-30 2023-06-30 2023-06-30 2023-06-30
- cl_khr_byte_addressable_store 2023-06-13 2023-06-13 2023-06-13 2023-06-13
- cl_khr_global_int32_base_atomics 2023-06-13 2023-06-13 2023-06-13 2023-06-13
- cl_khr_global_int32_extended_atomics 2023-06-13 2023-06-13 2023-06-13 2023-06-13
- cl_khr_local_int32_base_atomics 2023-06-13 2023-06-13 2023-06-13 2023-06-13
- cl_khr_local_int32_extended_atomics 2023-06-13 2023-06-13 2023-06-13 2023-06-13

Clover OpenCL 1.0

AMD Nvidia
Extension mesa r600 radeonsi nvc0
0.0% 0.0% 0.0% 0.0%
Image support 2023-06-08
- Optional image formats 2023-06-19

Clover Extensions that are not part of any OpenCL version

AMD Nvidia
Extension mesa r600 radeonsi nvc0
12.2% 2.4% 2.4% 4.9%
cl_khr_async_copy_fence 2023-06-13
cl_khr_async_work_group_copy_fence 2023-06-08
cl_khr_device_enqueue_local_arg_types 2023-06-08
cl_khr_device_uuid 2023-06-08
cl_khr_egl_event 2023-06-08
cl_khr_egl_image 2023-06-08
cl_khr_expect_assume 2023-06-08
cl_khr_extended_async_copies 2023-06-08
cl_khr_extended_bit_ops 2023-06-08
cl_khr_fp16 2023-06-17
cl_khr_gl_depth_images 2023-06-08
cl_khr_gl_msaa_sharing 2023-06-08
cl_khr_gl_sharing 2023-06-08
cl_khr_icd 2023-06-08 2023-06-08 2023-06-08 2023-06-08
cl_khr_initialize_memory 2023-06-08
cl_khr_int64_base_atomics 2023-06-08
cl_khr_int64_extended_atomics 2023-06-08
cl_khr_integer_dot_product 2023-06-08
cl_khr_mipmap_image 2023-06-08
cl_khr_pci_bus_info 2023-06-08
cl_khr_priority_hints 2023-06-08
cl_khr_spirv_extended_debug_info 2023-06-17
cl_khr_spirv_linkonce_odr 2023-06-17
cl_khr_spirv_no_integer_wrap_decoration 2023-06-17
cl_khr_srgb_image_writes 2023-06-08
cl_khr_subgroup_ballot 2023-06-08
cl_khr_subgroup_clustered_reduce 2023-06-08
cl_khr_subgroup_extended_types 2023-06-08
cl_khr_subgroup_named_barrier 2023-06-08
cl_khr_subgroup_non_uniform_arithmetic 2023-06-08
cl_khr_subgroup_non_uniform_vote 2023-06-08
cl_khr_subgroup_rotate 2023-06-08
cl_khr_subgroup_shuffle 2023-06-08
cl_khr_subgroup_shuffle_relative 2023-06-08
cl_khr_suggested_local_work_size 2023-06-08
cl_khr_terminate_context 2023-06-08
cl_khr_throttle_hints 2023-06-08
cl_khr_work_group_uniform_arithmetic 2023-06-08
cl_arm_non_uniform_work_group_size 2023-10-25
cl_arm_shared_virtual_memory 2023-10-25 2023-10-25
cl_intel_unified_shared_memory 2023-10-25