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 |
---|---|
2025-01-06 20:30 | lavapipe: Advertise vulkan 1.4 |
2025-01-03 10:20 | docs/features: Mark more Vulkan 1.4 features as done for drivers |
2025-01-03 10:20 | docs/features: Mark VK_EXT_host_image_copy as implemented on Turnip |
2025-01-03 10:20 | features.txt: Add Vulkan 1.4 section |
2024-12-18 08:33 | panvk: enable shaderDrawParameters |
2024-12-11 13:19 | panvk: expose scalarBlockLayout |
2024-12-09 21:16 | panvk: expose EXT_4444_formats |
2024-12-09 20:31 | panvk: advertise multiview support on v10+ |
2024-12-06 10:40 | panvk: advertise VK_EXT_provoking_vertex |
2024-12-04 21:34 | panvk: expose KHR_dedicated_allocation |
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.4 |
2 | radv | (93.2%) 232 | 1.4 |
3 | anv | (82.3%) 205 | 1.4 |
4 | nvk | (73.9%) 184 | 1.4 |
5 | tu | (71.9%) 179 | 1.4 |
6 | lvp | (66.3%) 165 | 1.4 |
7 | vn | (53.4%) 133 | 1.3 |
8 | hasvk | (51.4%) 128 | N/A |
9 | v3dv | (47.4%) 118 | 1.0 |
10 | panvk | (33.3%) 83 | 1.0 |
11 | dzn | (23.3%) 58 | 1.0 |
12 | pvr | (14.1%) 35 | N/A |
Drivers details
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 | panfrost | (77.5%) 124 | 3.1 |
15 | nv50 | (74.4%) 119 | 3.3 |
16 | v3d | (70.6%) 113 | 3.1 |
17 | vc4 | (40.0%) 64 | N/A |
18 | lima | (39.4%) 63 | N/A |
19 | etnaviv | (38.8%) 62 | 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% | 36.4% | 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 | ||||||||||||||||||||||||||||
GL_ARB_indirect_parameters¶ | |||||||||||||||||||||||||||||
GL_ARB_pipeline_statistics_query¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_ARB_polygon_offset_clamp¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_ARB_shader_atomic_counter_ops¶ | 2024-02-14 | 2024-11-25 | |||||||||||||||||||||||||||
GL_ARB_shader_draw_parameters¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_ARB_shader_group_vote¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_ARB_spirv_extensions¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_ARB_texture_filter_anisotropic¶ | 2024-11-25 | ||||||||||||||||||||||||||||
GL_ARB_transform_feedback_overflow_query¶ | 2024-01-10 | ||||||||||||||||||||||||||||
GL_KHR_no_error¶ | |||||||||||||||||||||||||||||
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% | 50.0% | 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 | ||||||||||||||||||||||||||||
GL_ARB_clip_control¶ | 2024-11-25 | ||||||||||||||||||||||||||||
GL_ARB_conditional_render_inverted¶ | |||||||||||||||||||||||||||||
GL_ARB_cull_distance¶ | |||||||||||||||||||||||||||||
GL_ARB_derivative_control¶ | |||||||||||||||||||||||||||||
GL_ARB_direct_state_access¶ | |||||||||||||||||||||||||||||
GL_ARB_get_texture_sub_image¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_texture_image_samples¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_barrier¶ | 2024-02-14 | 2024-02-22 | |||||||||||||||||||||||||||
GL_KHR_context_flush_control¶ | |||||||||||||||||||||||||||||
GL_KHR_robustness¶ | 2024-02-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% | 93.3% | 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¶ | |||||||||||||||||||||||||||||
GL_ARB_clear_texture¶ | |||||||||||||||||||||||||||||
GL_ARB_enhanced_layouts¶ | 2024-11-25 | ||||||||||||||||||||||||||||
- 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 | ||||||||||||||||||||||||||||
GL_ARB_texture_mirror_clamp_to_edge¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_stencil8¶ | |||||||||||||||||||||||||||||
GL_ARB_vertex_type_10f_11f_11f_rev¶ | |||||||||||||||||||||||||||||
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% | 86.4% | 86.4% | 50.0% | 100.0% | 100.0% | 72.7% | 100.0% | 100.0% | 100.0% | 90.9% | 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¶ | |||||||||||||||||||||||||||||
GL_ARB_copy_image¶ | 2024-02-14 | 2024-11-25 | |||||||||||||||||||||||||||
GL_KHR_debug¶ | |||||||||||||||||||||||||||||
GL_ARB_explicit_uniform_location¶ | |||||||||||||||||||||||||||||
GL_ARB_fragment_layer_viewport¶ | |||||||||||||||||||||||||||||
GL_ARB_framebuffer_no_attachments¶ | 2024-11-25 | 2024-10-21 | |||||||||||||||||||||||||||
GL_ARB_internalformat_query2¶ | |||||||||||||||||||||||||||||
GL_ARB_invalidate_subdata¶ | |||||||||||||||||||||||||||||
GL_ARB_multi_draw_indirect¶ | 2024-11-25 | 2024-11-25 | |||||||||||||||||||||||||||
GL_ARB_program_interface_query¶ | |||||||||||||||||||||||||||||
GL_ARB_robust_buffer_access_behavior¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_ARB_shader_image_size¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_storage_buffer_object¶ | |||||||||||||||||||||||||||||
GL_ARB_stencil_texturing¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_buffer_range¶ | 2024-02-14 | 2024-11-25 | |||||||||||||||||||||||||||
GL_ARB_texture_query_levels¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_storage_multisample¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_view¶ | 2024-11-25 | ||||||||||||||||||||||||||||
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% | 83.3% | 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¶ | |||||||||||||||||||||||||||||
GL_ARB_compressed_texture_pixel_storage¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_atomic_counters¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_storage¶ | |||||||||||||||||||||||||||||
GL_ARB_transform_feedback_instanced¶ | 2024-11-25 | ||||||||||||||||||||||||||||
GL_ARB_base_instance¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_image_load_store¶ | |||||||||||||||||||||||||||||
GL_ARB_conservative_depth¶ | |||||||||||||||||||||||||||||
GL_ARB_shading_language_420pack¶ | |||||||||||||||||||||||||||||
GL_ARB_shading_language_packing¶ | |||||||||||||||||||||||||||||
GL_ARB_internalformat_query¶ | |||||||||||||||||||||||||||||
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% | 50.0% | 50.0% | 50.0% | 50.0% | 100.0% | 100.0% | 66.7% | 100.0% | 100.0% | 100.0% | 83.3% | 100.0% | 100.0% | 100.0% | 33.3% | |||||||||||
GL_ARB_ES2_compatibility¶ | |||||||||||||||||||||||||||||
GL_ARB_get_program_binary¶ | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | ||||||||||||||||||||||
GL_ARB_separate_shader_objects¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_precision¶ | |||||||||||||||||||||||||||||
GL_ARB_vertex_attrib_64bit¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_ARB_viewport_array¶ | |||||||||||||||||||||||||||||
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% | 4.0% | 48.0% | 28.0% | 4.0% | 100.0% | 100.0% | 28.0% | 100.0% | 100.0% | 100.0% | 84.0% | 100.0% | 100.0% | 100.0% | 12.0% | |||||||||||
GL_ARB_draw_buffers_blend¶ | 2024-10-04 | ||||||||||||||||||||||||||||
GL_ARB_draw_indirect¶ | 2024-11-25 | 2024-10-11 | |||||||||||||||||||||||||||
GL_ARB_gpu_shader5¶ | |||||||||||||||||||||||||||||
- 'precise' qualifier¶ | |||||||||||||||||||||||||||||
- Dynamically uniform sampler array indices¶ | |||||||||||||||||||||||||||||
- Dynamically uniform UBO array indices¶ | |||||||||||||||||||||||||||||
- Implicit signed -> unsigned conversions¶ | |||||||||||||||||||||||||||||
- Fused multiply-add¶ | |||||||||||||||||||||||||||||
- Packing/bitfield/conversion functions¶ | |||||||||||||||||||||||||||||
- Enhanced textureGather¶ | |||||||||||||||||||||||||||||
- Geometry shader instancing¶ | |||||||||||||||||||||||||||||
- Geometry shader multiple streams¶ | |||||||||||||||||||||||||||||
- Enhanced per-sample shading¶ | |||||||||||||||||||||||||||||
- Interpolation functions¶ | |||||||||||||||||||||||||||||
- New overload resolution rules¶ | |||||||||||||||||||||||||||||
GL_ARB_gpu_shader_fp64¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_ARB_sample_shading¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_subroutine¶ | 2024-02-14 | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | ||||||||||||||||||||||
GL_ARB_tessellation_shader¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_ARB_texture_buffer_object_rgb32¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_cube_map_array¶ | 2024-11-25 | ||||||||||||||||||||||||||||
GL_ARB_texture_gather¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_query_lod¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_ARB_transform_feedback2¶ | |||||||||||||||||||||||||||||
GL_ARB_transform_feedback3¶ | 2024-11-25 | ||||||||||||||||||||||||||||
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¶ | |||||||||||||||||||||||||||||
GL_ARB_explicit_attrib_location¶ | |||||||||||||||||||||||||||||
GL_ARB_occlusion_query2¶ | |||||||||||||||||||||||||||||
GL_ARB_sampler_objects¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_bit_encoding¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_rgb10_a2ui¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_swizzle¶ | |||||||||||||||||||||||||||||
GL_ARB_timer_query¶ | 2024-09-09 | ||||||||||||||||||||||||||||
GL_ARB_instanced_arrays¶ | |||||||||||||||||||||||||||||
GL_ARB_vertex_type_2_10_10_10_rev¶ | |||||||||||||||||||||||||||||
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¶ | |||||||||||||||||||||||||||||
GL_ARB_vertex_array_bgra (BGRA vertex order)¶ | |||||||||||||||||||||||||||||
GL_ARB_draw_elements_base_vertex (Base vertex offset)¶ | |||||||||||||||||||||||||||||
GL_ARB_fragment_coord_conventions (Frag shader coord)¶ | |||||||||||||||||||||||||||||
GL_ARB_provoking_vertex (Provoking vertex)¶ | |||||||||||||||||||||||||||||
GL_ARB_seamless_cube_map (Seamless cubemaps)¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_multisample (Multisample textures)¶ | |||||||||||||||||||||||||||||
GL_ARB_depth_clamp (Frag depth clamp)¶ | 2024-07-17 | ||||||||||||||||||||||||||||
GL_ARB_sync (Fence objects)¶ | |||||||||||||||||||||||||||||
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)¶ | |||||||||||||||||||||||||||||
GL_ARB_copy_buffer (Buffer copying)¶ | |||||||||||||||||||||||||||||
GL_NV_primitive_restart (Primitive restart)¶ | |||||||||||||||||||||||||||||
16 vertex texture image units¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_buffer_object (Texture buffer objs)¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_rectangle (Rectangular textures)¶ | |||||||||||||||||||||||||||||
GL_ARB_uniform_buffer_object (Uniform buffer objs)¶ | |||||||||||||||||||||||||||||
GL_EXT_texture_snorm (Signed normalized textures)¶ | |||||||||||||||||||||||||||||
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)¶ | |||||||||||||||||||||||||||||
GL_ARB_map_buffer_range (Map buffer subranges)¶ | |||||||||||||||||||||||||||||
GL_ARB_color_buffer_float (Clamping controls)¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_float (Float textures, renderbuffers)¶ | |||||||||||||||||||||||||||||
GL_EXT_packed_float¶ | |||||||||||||||||||||||||||||
GL_EXT_texture_shared_exponent¶ | |||||||||||||||||||||||||||||
GL_ARB_depth_buffer_float (Float depth buffers)¶ | |||||||||||||||||||||||||||||
GL_ARB_framebuffer_object (Framebuffer objects)¶ | |||||||||||||||||||||||||||||
GL_ARB_half_float_pixel¶ | |||||||||||||||||||||||||||||
GL_ARB_half_float_vertex¶ | |||||||||||||||||||||||||||||
GL_EXT_texture_integer¶ | |||||||||||||||||||||||||||||
GL_EXT_texture_array¶ | |||||||||||||||||||||||||||||
GL_EXT_draw_buffers2 (Per-buffer blend and masks)¶ | 2024-10-04 | ||||||||||||||||||||||||||||
GL_EXT_texture_compression_rgtc¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_rg¶ | |||||||||||||||||||||||||||||
GL_EXT_transform_feedback (Transform feedback)¶ | |||||||||||||||||||||||||||||
GL_ARB_vertex_array_object (Vertex array objects)¶ | |||||||||||||||||||||||||||||
GL_EXT_framebuffer_sRGB (sRGB framebuffer format)¶ | |||||||||||||||||||||||||||||
glClearBuffer commands¶ | |||||||||||||||||||||||||||||
glGetStringi command¶ | |||||||||||||||||||||||||||||
glTexParameterI, glGetTexParameterI commands¶ | |||||||||||||||||||||||||||||
glVertexAttribI commands¶ | |||||||||||||||||||||||||||||
Depth format cube textures¶ | |||||||||||||||||||||||||||||
GLX_ARB_create_context (GLX 1.4 is required)¶ | |||||||||||||||||||||||||||||
Multisample anti-aliasing¶ | |||||||||||||||||||||||||||||
8 draw buffers¶ | 2024-11-25 |
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 | panfrost | (90.2%) 37 | 3.1 |
13 | softpipe | (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% | 81.8% | 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¶ | |||||||||||||||||||||||||||||
GL_KHR_debug¶ | |||||||||||||||||||||||||||||
GL_KHR_robustness¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_KHR_texture_compression_astc_ldr¶ | |||||||||||||||||||||||||||||
GL_OES_copy_image¶ | |||||||||||||||||||||||||||||
GL_OES_draw_buffers_indexed¶ | 2024-10-04 | ||||||||||||||||||||||||||||
GL_OES_draw_elements_base_vertex¶ | |||||||||||||||||||||||||||||
GL_OES_geometry_shader¶ | |||||||||||||||||||||||||||||
GL_OES_gpu_shader5¶ | 2024-11-25 | ||||||||||||||||||||||||||||
GL_OES_primitive_bounding_box¶ | 2024-02-14 | 2024-11-25 | |||||||||||||||||||||||||||
GL_OES_sample_shading¶ | 2024-11-25 | ||||||||||||||||||||||||||||
GL_OES_sample_variables¶ | 2024-11-25 | ||||||||||||||||||||||||||||
GL_OES_shader_image_atomic¶ | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | 2024-11-25 | ||||||||||||||||||||||
GL_OES_shader_io_blocks¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_OES_shader_multisample_interpolation¶ | 2024-11-25 | ||||||||||||||||||||||||||||
GL_OES_tessellation_shader¶ | 2024-02-14 | ||||||||||||||||||||||||||||
GL_OES_texture_border_clamp¶ | |||||||||||||||||||||||||||||
GL_OES_texture_buffer¶ | |||||||||||||||||||||||||||||
GL_OES_texture_cube_map_array¶ | |||||||||||||||||||||||||||||
GL_OES_texture_stencil8¶ | |||||||||||||||||||||||||||||
GL_OES_texture_storage_multisample_2d_array¶ | |||||||||||||||||||||||||||||
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¶ | |||||||||||||||||||||||||||||
GL_ARB_draw_indirect¶ | |||||||||||||||||||||||||||||
GL_ARB_explicit_uniform_location¶ | |||||||||||||||||||||||||||||
GL_ARB_framebuffer_no_attachments¶ | 2024-10-21 | ||||||||||||||||||||||||||||
GL_ARB_program_interface_query¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_atomic_counters¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_image_load_store¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_image_size¶ | |||||||||||||||||||||||||||||
GL_ARB_shader_storage_buffer_object¶ | |||||||||||||||||||||||||||||
GL_ARB_shading_language_packing¶ | |||||||||||||||||||||||||||||
GL_ARB_separate_shader_objects¶ | |||||||||||||||||||||||||||||
GL_ARB_stencil_texturing¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_multisample (Multisample textures)¶ | |||||||||||||||||||||||||||||
GL_ARB_texture_storage_multisample¶ | |||||||||||||||||||||||||||||
GL_ARB_vertex_attrib_binding¶ | |||||||||||||||||||||||||||||
GS5 Enhanced textureGather¶ | |||||||||||||||||||||||||||||
GS5 Packing/bitfield/conversion functions¶ | |||||||||||||||||||||||||||||
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
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 |
9 | freedreno | (47.2%) 58 | 1.0 |
Drivers details
Rusticl OpenCL 3.0¶ |
|||||||||||||||||
AMD | Apple | Arm | Intel | Nvidia | Qualcomm | Software | Translation | ||||||||||
Extension | mesa | radeonsi | asahi | panfrost | iris | nvc0 | freedreno | llvmpipe | zink | ||||||||
100.0% | 90.0% | 100.0% | 90.0% | 100.0% | 90.0% | 90.0% | 90.0% | 100.0% | |||||||||
Optional device capabilities queries¶ | |||||||||||||||||
cl_khr_extended_versioning¶ | |||||||||||||||||
clSetContextDestructorCallback¶ | |||||||||||||||||
clCreateBufferWithProperties¶ | |||||||||||||||||
clCreateImageWithProperties¶ | |||||||||||||||||
Query properties arrays¶ | |||||||||||||||||
Supported OpenCLÂ C versions and features queries¶ | |||||||||||||||||
CL_COMMAND_SVM_MIGRATE_MEM for clGetEventInfo¶ | |||||||||||||||||
OpenCL C 3.0¶ | |||||||||||||||||
Latest conformance version passed for devices¶ | 2024-10-10 | 2024-10-15 | |||||||||||||||
Rusticl OpenCL 2.2¶ |
|||||||||||||||||
AMD | Apple | Arm | Intel | Nvidia | Qualcomm | Software | Translation | ||||||||||
Extension | mesa | radeonsi | asahi | panfrost | iris | nvc0 | freedreno | llvmpipe | zink | ||||||||
40.0% | 40.0% | 40.0% | 40.0% | 40.0% | 40.0% | 40.0% | 40.0% | 40.0% | |||||||||
clSetProgramSpecializationConstant¶ | |||||||||||||||||
clSetProgramReleaseCallback¶ | |||||||||||||||||
Initialization and clean-up kernels¶ | |||||||||||||||||
CL_MAX_SIZE_RESTRICTION_EXCEEDED for clSetKernelArg¶ | |||||||||||||||||
Support SPIR-V 1.1 and 1.2¶ | |||||||||||||||||
Rusticl OpenCL 2.1¶ |
|||||||||||||||||
AMD | Apple | Arm | Intel | Nvidia | Qualcomm | Software | Translation | ||||||||||
Extension | mesa | radeonsi | asahi | panfrost | iris | nvc0 | freedreno | llvmpipe | zink | ||||||||
50.0% | 62.5% | 25.0% | 25.0% | 62.5% | 25.0% | 25.0% | 62.5% | 37.5% | |||||||||
Sub groups¶ | |||||||||||||||||
- cl_khr_subgroups¶ | |||||||||||||||||
cl_khr_il_program¶ | |||||||||||||||||
Device and host timer synchronization¶ | |||||||||||||||||
clEnqueueSVMMigrateMem¶ | |||||||||||||||||
clCloneKernel¶ | |||||||||||||||||
Default device command queue¶ |