# Status of OpenGL extensions in Mesa

Here's how to read this file:

all DONE: <driver>, ...
    All the extensions are done for the given list of drivers.

DONE
    The extension is done for Mesa and no implementation is necessary on the
    driver-side.

DONE ()
    The extension is done for Mesa and all the drivers in the "all DONE" list.

DONE (<driver>, ...)
    The extension is done for Mesa, all the drivers in the "all DONE" list, and
    all the drivers in the brackets.

in progress
    The extension is started but not finished yet.

not started
    The extension isn't started yet.

# OpenGL Core and Compatibility context support

Some drivers do not support the Compatibility profile or the
ARB_compatibility extensions.  If an application does not request a
specific version without the forward-compatiblity flag, such drivers
will be limited to OpenGL 3.0.  If an application requests OpenGL 3.1,
it will get a context that may or may not have the ARB_compatibility
extension enabled.  Some of the later GL features are exposed in the 3.0
context as extensions.


Feature                                                 Status
------------------------------------------------------- ------------------------

GL 3.0, GLSL 1.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, panfrost

  glBindFragDataLocation, glGetFragDataLocation         DONE
  GL_NV_conditional_render (Conditional rendering)      DONE (asahi, v3d)
  GL_ARB_map_buffer_range (Map buffer subranges)        DONE (v3d, vc4, lima, asahi)
  GL_ARB_color_buffer_float (Clamping controls)         DONE (v3d, vc4, lima, asahi)
  GL_ARB_texture_float (Float textures, renderbuffers)  DONE (v3d, asahi)
  GL_EXT_packed_float                                   DONE (v3d, asahi)
  GL_EXT_texture_shared_exponent                        DONE (v3d, asahi)
  GL_ARB_depth_buffer_float (Float depth buffers)       DONE (v3d, asahi)
  GL_ARB_framebuffer_object (Framebuffer objects)       DONE (v3d, vc4, asahi)
  GL_ARB_half_float_pixel                               DONE (all drivers)
  GL_ARB_half_float_vertex                              DONE (v3d, vc4, lima, asahi)
  GL_EXT_texture_integer                                DONE (v3d, asahi)
  GL_EXT_texture_array                                  DONE (v3d, asahi)
  GL_EXT_draw_buffers2 (Per-buffer blend and masks)     DONE (v3d, asahi)
  GL_EXT_texture_compression_rgtc                       DONE (all drivers that support GL_EXT_texture_snorm)
  GL_ARB_texture_rg                                     DONE (v3d, lima, asahi)
  GL_EXT_transform_feedback (Transform feedback)        DONE (v3d)
  GL_ARB_vertex_array_object (Vertex array objects)     DONE (v3d, vc4, lima, asahi)
  GL_EXT_framebuffer_sRGB (sRGB framebuffer format)     DONE (v3d, vc4, lima, asahi)
  glClearBuffer commands                                DONE
  glGetStringi command                                  DONE
  glTexParameterI, glGetTexParameterI commands          DONE
  glVertexAttribI commands                              DONE
  Depth format cube textures                            DONE (asahi)
  GLX_ARB_create_context (GLX 1.4 is required)          DONE (v3d, vc4, asahi)
  Multisample anti-aliasing                             DONE (freedreno/a5xx+, freedreno (*), llvmpipe (*), softpipe (*)))
  8 draw buffers                                        DONE (panfrost/t760+, asahi)

(*) freedreno (a2xx-a4xx), llvmpipe, and softpipe have fake Multisample anti-aliasing support


GL 3.1, GLSL 1.40 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, panfrost, asahi

  Forward compatible context support/deprecations       DONE
  GL_ARB_draw_instanced (Instanced drawing)             DONE (etnaviv/HALTI2, v3d)
  GL_ARB_copy_buffer (Buffer copying)                   DONE (v3d, vc4, lima)
  GL_NV_primitive_restart (Primitive restart)           DONE (v3d)
  16 vertex texture image units                         DONE ()
  GL_ARB_texture_buffer_object (Texture buffer objs)    DONE (v3d)
  GL_ARB_texture_rectangle (Rectangular textures)       DONE (v3d, vc4, lima)
  GL_ARB_uniform_buffer_object (Uniform buffer objs)    DONE (v3d)
  GL_EXT_texture_snorm (Signed normalized textures)     DONE (v3d)


GL 3.2, GLSL 1.50 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12

  Core/compatibility profiles                           DONE
  Geometry shaders                                      DONE (freedreno/a6xx)
  GL_ARB_vertex_array_bgra (BGRA vertex order)          DONE (v3d, panfrost, asahi)
  GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (v3d, vc4, panfrost, lima, asahi)
  GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (v3d, vc4, panfrost, lima, asahi)
  GL_ARB_provoking_vertex (Provoking vertex)            DONE (v3d, vc4, panfrost, lima, asahi)
  GL_ARB_seamless_cube_map (Seamless cubemaps)          DONE (panfrost, asahi)
  GL_ARB_texture_multisample (Multisample textures)     DONE (freedreno/a5xx+, v3d, vc4, panfrost)
  GL_ARB_depth_clamp (Frag depth clamp)                 DONE (panfrost, asahi)
  GL_ARB_sync (Fence objects)                           DONE (v3d, vc4, panfrost, lima, asahi)
  GLX_ARB_create_context_profile                        DONE


GL 3.3, GLSL 3.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12

  GL_ARB_blend_func_extended                            DONE (freedreno/a3xx, freedreno/a6xx, panfrost, lima)
  GL_ARB_explicit_attrib_location                       DONE (all drivers that support GLSL)
  GL_ARB_occlusion_query2                               DONE (v3d, panfrost, asahi)
  GL_ARB_sampler_objects                                DONE (all drivers)
  GL_ARB_shader_bit_encoding                            DONE (v3d, panfrost, asahi)
  GL_ARB_texture_rgb10_a2ui                             DONE (v3d, panfrost, asahi)
  GL_ARB_texture_swizzle                                DONE (v3d, vc4, panfrost, lima, asahi)
  GL_ARB_timer_query                                    DONE ()
  GL_ARB_instanced_arrays                               DONE (etnaviv/HALTI2, v3d, panfrost, asahi)
  GL_ARB_vertex_type_2_10_10_10_rev                     DONE (v3d, panfrost, asahi)


GL 4.0, GLSL 4.00 --- all DONE: freedreno/a6xx, i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12

  GL_ARB_draw_buffers_blend                             DONE (freedreno, i965/gen6+, nv50, softpipe, panfrost, v3d, asahi)
  GL_ARB_draw_indirect                                  DONE (freedreno, i965/gen7+, softpipe, v3d, asahi)
  GL_ARB_gpu_shader5                                    DONE (freedreno/a6xx, i965/gen7+)
  - 'precise' qualifier                                 DONE (softpipe)
  - Dynamically uniform sampler array indices           DONE (softpipe, asahi)
  - Dynamically uniform UBO array indices               DONE (freedreno, softpipe, asahi)
  - Implicit signed -> unsigned conversions             DONE (softpipe, asahi)
  - Fused multiply-add                                  DONE (softpipe, asahi)
  - Packing/bitfield/conversion functions               DONE (freedreno, softpipe, panfrost, asahi)
  - Enhanced textureGather                              DONE (freedreno, softpipe, panfrost, asahi)
  - Geometry shader instancing                          DONE (softpipe, )
  - Geometry shader multiple streams                    DONE (softpipe, )
  - Enhanced per-sample shading                         DONE ()
  - Interpolation functions                             DONE (softpipe)
  - New overload resolution rules                       DONE (softpipe)
  GL_ARB_gpu_shader_fp64                                DONE (freedreno/a6xx, i965/gen7+, softpipe, )
  GL_ARB_sample_shading                                 DONE (freedreno/a6xx, i965/gen6+, nv50, panfrost)
  GL_ARB_shader_subroutine                              DONE (freedreno, i965/gen6+, nv50, softpipe)
  GL_ARB_tessellation_shader                            DONE (freedreno/a6xx, i965/gen7+, )
  GL_ARB_texture_buffer_object_rgb32                    DONE (freedreno, i965/gen6+, softpipe, panfrost, asahi)
  GL_ARB_texture_cube_map_array                         DONE (freedreno/a4xx+, i965/gen6+, nv50, softpipe)
  GL_ARB_texture_gather                                 DONE (freedreno, i965/gen6+, nv50, softpipe, v3d, panfrost, asahi)
  GL_ARB_texture_query_lod                              DONE (freedreno, i965, nv50, softpipe, v3d, panfrost)
  GL_ARB_transform_feedback2                            DONE (freedreno/a3xx+, i965/gen6+, nv50, softpipe, v3d, panfrost)
  GL_ARB_transform_feedback3                            DONE (freedreno/a3xx+, i965/gen7+, softpipe, )


GL 4.1, GLSL 4.10 --- all DONE: freedreno/a6xx, i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12

  GL_ARB_ES2_compatibility                              DONE (freedreno, i965, nv50, softpipe, v3d, vc4, panfrost, lima, asahi)
  GL_ARB_get_program_binary                             DONE (freedreno, v3d, asahi, 0 or 1 binary formats)
  GL_ARB_separate_shader_objects                        DONE (all drivers)
  GL_ARB_shader_precision                               DONE (freedreno/a6xx, i965/gen7+, all drivers that support GLSL 4.10)
  GL_ARB_vertex_attrib_64bit                            DONE (freedreno/a6xx, i965/gen7+, softpipe, )
  GL_ARB_viewport_array                                 DONE (freedreno/a6xx, i965, nv50, softpipe, )


GL 4.2, GLSL 4.20 -- all DONE: freedreno/a6xx, i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12

  GL_ARB_texture_compression_bptc                       DONE (all drivers that supports EXT_texture_sRGB and OES_texture_half_float)
  GL_ARB_compressed_texture_pixel_storage               DONE (all drivers)
  GL_ARB_shader_atomic_counters                         DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost)
  GL_ARB_texture_storage                                DONE (all drivers)
  GL_ARB_transform_feedback_instanced                   DONE (freedreno, i965, nv50, softpipe, v3d)
  GL_ARB_base_instance                                  DONE (freedreno, i965, nv50, softpipe, v3d)
  GL_ARB_shader_image_load_store                        DONE (freedreno/a5xx+, i965, softpipe, panfrost)
  GL_ARB_conservative_depth                             DONE (all drivers that support GLSL 1.30)
  GL_ARB_shading_language_420pack                       DONE (all drivers that support GLSL 1.30)
  GL_ARB_shading_language_packing                       DONE (all drivers)
  GL_ARB_internalformat_query                           DONE (freedreno, i965, nv50, softpipe, v3d, vc4, panfrost, lima, asahi)
  GL_ARB_map_buffer_alignment                           DONE (all drivers)


GL 4.3, GLSL 4.30 -- all DONE: freedreno/a6xx, i965/gen8+, nvc0, r600, radeonsi, llvmpipe, virgl, zink

  GL_ARB_arrays_of_arrays                               DONE (all drivers that support GLSL 1.30)
  GL_ARB_ES3_compatibility                              DONE (all drivers that support GLSL 3.30)
  GL_ARB_clear_buffer_object                            DONE (all drivers)
  GL_ARB_compute_shader                                 DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost, d3d12)
  GL_ARB_copy_image                                     DONE (freedreno/a6xx, i965, nv50, softpipe, v3d)
  GL_KHR_debug                                          DONE (all drivers)
  GL_ARB_explicit_uniform_location                      DONE (all drivers that support GLSL)
  GL_ARB_fragment_layer_viewport                        DONE (freedreno/a6xx, i965, nv50, softpipe, d3d12)
  GL_ARB_framebuffer_no_attachments                     DONE (freedreno, i965, softpipe, v3d, d3d12, asahi)
  GL_ARB_internalformat_query2                          DONE (all drivers)
  GL_ARB_invalidate_subdata                             DONE (all drivers)
  GL_ARB_multi_draw_indirect                            DONE (freedreno, i965, softpipe, v3d, d3d12)
  GL_ARB_program_interface_query                        DONE (all drivers)
  GL_ARB_robust_buffer_access_behavior                  DONE (freedreno, i965, d3d12)
  GL_ARB_shader_image_size                              DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost, d3d12)
  GL_ARB_shader_storage_buffer_object                   DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost, d3d12)
  GL_ARB_stencil_texturing                              DONE (freedreno,i965/hsw+, nv50, softpipe, v3d, panfrost, d3d12, asahi)
  GL_ARB_texture_buffer_range                           DONE (freedreno, nv50, i965, softpipe, v3d, d3d12)
  GL_ARB_texture_query_levels                           DONE (all drivers that support GLSL 1.30)
  GL_ARB_texture_storage_multisample                    DONE (all drivers that support GL_ARB_texture_multisample)
  GL_ARB_texture_view                                   DONE (freedreno, i965, nv50, softpipe, v3d, asahi)
  GL_ARB_vertex_attrib_binding                          DONE (all drivers)


GL 4.4, GLSL 4.40 -- all DONE: freedreno/a6xx, i965/gen8+, nvc0, r600, radeonsi, llvmpipe, zink

  GL_MAX_VERTEX_ATTRIB_STRIDE                           DONE (all drivers)
  GL_ARB_buffer_storage                                 DONE (freedreno, i965, nv50, v3d, vc4, lima, panfrost, asahi, d3d12, softpipe, etnaviv)
  GL_ARB_clear_texture                                  DONE (freedreno/a6xx, i965, nv50, softpipe, virgl)
  GL_ARB_enhanced_layouts                               DONE (freedreno/a3xx+, i965, nv50, softpipe, virgl)
  - compile-time constant expressions                   DONE
  - explicit byte offsets for blocks                    DONE
  - forced alignment within blocks                      DONE
  - specified vec4-slot component numbers               DONE
  - specified transform/feedback layout                 DONE
  - input/output block locations                        DONE
  GL_ARB_multi_bind                                     DONE (all drivers)
  GL_ARB_query_buffer_object                            DONE (freedreno/a6xx, i965/hsw+, virgl)
  GL_ARB_texture_mirror_clamp_to_edge                   DONE (freedreno, i965, nv50, softpipe, virgl, v3d, panfrost, asahi)
  GL_ARB_texture_stencil8                               DONE (freedreno, i965/hsw+, nv50, softpipe, virgl, v3d, panfrost, d3d12, asahi)
  GL_ARB_vertex_type_10f_11f_11f_rev                    DONE (freedreno, i965, nv50, softpipe, virgl, panfrost, d3d12, asahi)

GL 4.5, GLSL 4.50 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, zink

  GL_ARB_ES3_1_compatibility                            DONE (freedreno/a6xx, i965/hsw+, softpipe, virgl)
  GL_ARB_clip_control                                   DONE (freedreno, i965, nv50, softpipe, virgl, lima, d3d12, panfrost)
  GL_ARB_conditional_render_inverted                    DONE (freedreno, i965, nv50, softpipe, virgl, panfrost, d3d12, asahi)
  GL_ARB_cull_distance                                  DONE (freedreno/a6xx, i965, nv50, softpipe, virgl)
  GL_ARB_derivative_control                             DONE (freedreno/a3xx+, i965, nv50, softpipe, virgl, asahi)
  GL_ARB_direct_state_access                            DONE (all drivers)
  GL_ARB_get_texture_sub_image                          DONE (all drivers)
  GL_ARB_shader_texture_image_samples                   DONE (freedreno/a3xx+, i965, nv50, virgl)
  GL_ARB_texture_barrier                                DONE (freedreno, i965, nv50, vc4, virgl, lima, asahi)
  GL_KHR_context_flush_control                          DONE (all - but needs GLX/EGL extension to be useful)
  GL_KHR_robustness                                     DONE (freedreno, i965, virgl)
  GL_EXT_shader_integer_mix                             DONE (all drivers that support GLSL)

GL 4.6, GLSL 4.60 -- all DONE: radeonsi, zink

  GL_ARB_gl_spirv                                       DONE (freedreno, i965/gen7+, llvmpipe)
  GL_ARB_indirect_parameters                            DONE (i965/gen7+, nvc0, llvmpipe, virgl, d3d12)
  GL_ARB_pipeline_statistics_query                      DONE (i965, nvc0, r600, llvmpipe, softpipe, )
  GL_ARB_polygon_offset_clamp                           DONE (freedreno, i965, nv50, nvc0, r600, llvmpipe, v3d, virgl)
  GL_ARB_shader_atomic_counter_ops                      DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, llvmpipe, softpipe, virgl, v3d)
  GL_ARB_shader_draw_parameters                         DONE (i965, llvmpipe, nvc0, d3d12)
  GL_ARB_shader_group_vote                              DONE (freedreno/a6xx, i965, nvc0, llvmpipe)
  GL_ARB_spirv_extensions                               DONE (freedreno, i965/gen7+, llvmpipe)
  GL_ARB_texture_filter_anisotropic                     DONE (etnaviv/HALTI0, freedreno, i965, nv50, nvc0, r600, softpipe, llvmpipe, d3d12, virgl, v3d, panfrost/g72+, asahi)
  GL_ARB_transform_feedback_overflow_query              DONE (i965/gen6+, nvc0, llvmpipe, softpipe, virgl)
  GL_KHR_no_error                                       DONE (all drivers)

These are the extensions cherry-picked to make GLES 3.1
GLES3.1, GLSL ES 3.1 -- all DONE: freedreno/a5xx+, i965/hsw+, nvc0, r600, radeonsi, virgl, v3d, softpipe, llvmpipe, zink, panfrost, d3d12

  GL_ARB_arrays_of_arrays                               DONE (all drivers that support GLSL 1.30)
  GL_ARB_compute_shader                                 DONE (freedreno/a5xx+, i965/gen7+)
  GL_ARB_draw_indirect                                  DONE (freedreno, i965/gen7+, asahi)
  GL_ARB_explicit_uniform_location                      DONE (all drivers that support GLSL)
  GL_ARB_framebuffer_no_attachments                     DONE (freedreno, i965/gen7+, softpipe, asahi)
  GL_ARB_program_interface_query                        DONE (all drivers)
  GL_ARB_shader_atomic_counters                         DONE (freedreno/a5xx+, i965/gen7+)
  GL_ARB_shader_image_load_store                        DONE (freedreno/a5xx+, i965/gen7+)
  GL_ARB_shader_image_size                              DONE (freedreno/a5xx+, i965/gen7+)
  GL_ARB_shader_storage_buffer_object                   DONE (freedreno/a5xx+, i965/gen7+)
  GL_ARB_shading_language_packing                       DONE (all drivers)
  GL_ARB_separate_shader_objects                        DONE (all drivers)
  GL_ARB_stencil_texturing                              DONE (freedreno, nv50, asahi)
  GL_ARB_texture_multisample (Multisample textures)     DONE (freedreno/a5xx+, i965/gen7+, nv50)
  GL_ARB_texture_storage_multisample                    DONE (all drivers that support GL_ARB_texture_multisample)
  GL_ARB_vertex_attrib_binding                          DONE (all drivers)
  GS5 Enhanced textureGather                            DONE (freedreno, i965/gen7+, asahi)
  GS5 Packing/bitfield/conversion functions             DONE (freedreno/a5xx+, i965/gen6+, asahi)
  GL_EXT_shader_integer_mix                             DONE (all drivers that support GLSL)

  Additional functionality not covered above:
      glMemoryBarrierByRegion                           DONE
      glGetTexLevelParameter[fi]v - needs updates       DONE
      glGetBooleani_v - restrict to GLES enums
      gl_HelperInvocation support                       DONE (i965, r600, panfrost, asahi)

GLES3.2, GLSL ES 3.2 -- all DONE: freedreno/a6xx, i965/gen9+, radeonsi, virgl, llvmpipe, zink

  GL_EXT_color_buffer_float                             DONE (all drivers)
  GL_KHR_blend_equation_advanced                        DONE (freedreno/a6xx, i965, nvc0, panfrost, asahi)
  GL_KHR_debug                                          DONE (all drivers)
  GL_KHR_robustness                                     DONE (freedreno, i965, nvc0, r600)
  GL_KHR_texture_compression_astc_ldr                   DONE (freedreno, i965/gen9+, r600, v3d, vc4, panfrost, softpipe, lima, asahi)
  GL_OES_copy_image                                     DONE (all drivers)
  GL_OES_draw_buffers_indexed                           DONE (all drivers that support GL_ARB_draw_buffers_blend)
  GL_OES_draw_elements_base_vertex                      DONE (all drivers)
  GL_OES_geometry_shader                                DONE (freedreno/a6xx, i965/hsw+, nvc0, r600, softpipe, v3d)
  GL_OES_gpu_shader5                                    DONE (freedreno/a6xx, all drivers that support GL_ARB_gpu_shader5)
  GL_OES_primitive_bounding_box                         DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, softpipe, v3d)
  GL_OES_sample_shading                                 DONE (freedreno/a6xx, i965, nvc0, r600, panfrost, d3d12)
  GL_OES_sample_variables                               DONE (freedreno/a6xx, i965, nvc0, r600, panfrost/bifrost)
  GL_OES_shader_image_atomic                            DONE (v3d, all drivers that support GL_ARB_shader_image_load_store)
  GL_OES_shader_io_blocks                               DONE (All drivers that support GLES 3.1)
  GL_OES_shader_multisample_interpolation               DONE (freedreno/a6xx, i965, nvc0, r600)
  GL_OES_tessellation_shader                            DONE (freedreno/a6xx, all drivers that support GL_ARB_tessellation_shader)
  GL_OES_texture_border_clamp                           DONE (all drivers)
  GL_OES_texture_buffer                                 DONE (freedreno, i965, nvc0, r600, softpipe, panfrost, asahi)
  GL_OES_texture_cube_map_array                         DONE (freedreno/a4xx+, i965/hsw+, nvc0, r600, softpipe)
  GL_OES_texture_stencil8                               DONE (all drivers that support GL_ARB_texture_stencil8)
  GL_OES_texture_storage_multisample_2d_array           DONE (all drivers that support GL_ARB_texture_multisample)

Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES version:

  GL_ARB_bindless_texture                               DONE (nvc0, radeonsi, zink)
  GL_ARB_cl_event                                       not started
  GL_ARB_compute_variable_group_size                    DONE (freedreno/a4xx+, i965/gen7+, nvc0, radeonsi, zink)
  GL_ARB_ES3_2_compatibility                            DONE (freedreno/a6xx, i965/gen8+, radeonsi, virgl, zink)
  GL_ARB_fragment_shader_interlock                      DONE (i965, zink)
  GL_ARB_gpu_shader_int64                               DONE (freedreno/a6xx, i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe, zink, d3d12)
  GL_ARB_parallel_shader_compile                        DONE (freedreno, iris, radeonsi, etnaviv, zink)
  GL_ARB_post_depth_coverage                            DONE (i965, nvc0, radeonsi, llvmpipe, zink)
  GL_ARB_robustness_isolation                           not started
  GL_ARB_sample_locations                               DONE (nvc0, zink)
  GL_ARB_seamless_cubemap_per_texture                   DONE (etnaviv/SEAMLESS_CUBE_MAP, freedreno, i965, nvc0, r600, radeonsi, softpipe, virgl, zink, asahi)
  GL_ARB_shader_ballot                                  DONE (i965/gen8+, nvc0, radeonsi, zink)
  GL_ARB_shader_clock                                   DONE (i965/gen7+, nv50, nvc0, r600, radeonsi, llvmpipe, virgl, zink)
  GL_ARB_shader_stencil_export                          DONE (i965/gen9+, r600, radeonsi, softpipe, llvmpipe, virgl, panfrost, zink, asahi)
  GL_ARB_shader_viewport_layer_array                    DONE (i965/gen6+, nvc0, radeonsi, zink)
  GL_ARB_shading_language_include                       DONE
  GL_ARB_sparse_buffer                                  DONE (radeonsi/gfx9+, zink)
  GL_ARB_sparse_texture                                 DONE (radeonsi/gfx9+, zink)
  GL_ARB_sparse_texture2                                DONE (radeonsi/gfx9+, zink)
  GL_ARB_sparse_texture_clamp                           DONE (radeonsi/gfx9+, zink)
  GL_ARB_texture_filter_minmax                          DONE (nvc0/gm200+, zink)
  GL_ARM_shader_framebuffer_fetch_depth_stencil         DONE (llvmpipe)
  GL_EXT_shader_framebuffer_fetch                       DONE (freedreno/a6xx, iris/gen9+, llvmpipe, panfrost, virgl, zink, asahi)
  GL_EXT_shader_framebuffer_fetch_non_coherent          DONE (freedreno/a6xx, iris, llvmpipe, panfrost, virgl, zink, asahi)
  GL_EXT_color_buffer_half_float                        DONE (freedreno, i965, iris, llvmpipe, nv50, nvc0, radeonsi, zink)
  GL_EXT_depth_bounds_test                              DONE (i965/gen12+, nv50, nvc0, radeonsi, softpipe, zink)
  GL_EXT_memory_object                                  DONE (freedreno, radeonsi, i965/gen7+, llvmpipe, zink, d3d12)
  GL_EXT_memory_object_fd                               DONE (freedreno, radeonsi, i965/gen7+, llvmpipe, zink)
  GL_EXT_memory_object_win32                            DONE (zink, d3d12)
  GL_EXT_multisampled_render_to_texture                 DONE (freedreno/a6xx, panfrost, zink, lima)
  GL_EXT_render_snorm                                   DONE (freedreno/a6xx, i965, r600, radeonsi, softpipe, zink, panfrost/bifrost+)
  GL_EXT_semaphore                                      DONE (radeonsi, i965/gen7+, zink, d3d12)
  GL_EXT_semaphore_fd                                   DONE (radeonsi, i965/gen7+, zink)
  GL_EXT_semaphore_win32                                DONE (zink, d3d12)
  GL_EXT_shader_group_vote                              DONE (all drivers that support GL_ARB_shader_group_vote)
  GL_EXT_sRGB_write_control                             DONE (all drivers that support GLES 3.0+)
  GL_EXT_texture_norm16                                 DONE (freedreno, i965, r600, radeonsi, nvc0i, softpipe, zink)
  GL_EXT_texture_sRGB_R8                                DONE (all drivers that support GLES 3.0+)
  GL_KHR_blend_equation_advanced_coherent               DONE (freedreno/a6xx, i965/gen9+, panfrost, zink, asahi)
  GL_KHR_texture_compression_astc_hdr                   DONE (core only)
  GL_KHR_texture_compression_astc_sliced_3d             DONE (freedreno/a4xx+, i965/gen9+, r600, radeonsi, panfrost, softpipe, v3d, zink, lima, asahi)
  GL_OES_depth_texture_cube_map                         DONE (all drivers that support GLSL 1.30+)
  GL_OES_EGL_image                                      DONE (all drivers)
  GL_OES_EGL_image_external                             DONE (all drivers)
  GL_OES_EGL_image_external_essl3                       DONE (all drivers)
  GL_OES_required_internalformat                        DONE (all drivers)
  GL_OES_surfaceless_context                            DONE (all drivers)
  GL_OES_texture_compression_astc                       DONE (core only)
  GL_OES_texture_float                                  DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, zink, asahi)
  GL_OES_texture_float_linear                           DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, zink, asahi)
  GL_OES_texture_half_float                             DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, zink, lima, asahi)
  GL_OES_texture_half_float_linear                      DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, zink, lima, asahi)
  GL_OES_texture_view                                   DONE (freedreno, i965/gen8+, r600, radeonsi, nv50, nvc0, softpipe, llvmpipe, v3d, zink)
  GL_OES_viewport_array                                 DONE (freedreno/a6xx, i965, nvc0, r600, radeonsi, softpipe, zink)
  GLX_ARB_context_flush_control                         DONE (all drivers)
  GLX_ARB_robustness_application_isolation              not started
  GLX_ARB_robustness_share_group_isolation              not started

GL_EXT_direct_state_access subfeatures (in the spec order):
  GL 1.1: Client commands                               DONE
  GL 1.0-1.3: Matrix and transpose matrix commands      DONE
  GL 1.1-1.2: Texture commands                          DONE
  GL 1.2: 3D texture commands                           DONE
  GL 1.2.1: Multitexture commands                       DONE
  GL 1.2.1-3.0: Indexed texture commands                DONE
  GL 1.2.1-3.0: Indexed generic queries                 DONE
  GL 1.2.1: EnableIndexed.. Get*Indexed                 DONE
  GL_ARB_vertex_program                                 DONE
  GL 1.3: Compressed texture and multitexture commands  DONE
  GL 1.5: Buffer commands                               DONE
  GL 2.0-2.1: Uniform and uniform matrix commands       DONE
  GL_EXT_texture_buffer_object                          DONE
  GL_EXT_texture_integer                                DONE
  GL_EXT_gpu_shader4                                    DONE
  GL_EXT_gpu_program_parameters                         DONE
  GL_NV_gpu_program4                                    n/a
  GL_NV_framebuffer_multisample_coverage                n/a
  GL 3.0: Renderbuffer/framebuffer commands, Gen*Mipmap DONE
  GL 3.0: CopyBuffer command                            DONE
  GL_EXT_geometry_shader4 commands (expose in GL 3.2)   DONE
  GL_NV_explicit_multisample                            n/a
  GL 3.0: Vertex array/attrib/query/map commands        DONE
  Matrix GL tokens                                      DONE

GL_EXT_direct_state_access additions from other extensions (complete list):
  GL_AMD_framebuffer_sample_positions                   n/a
  GL_AMD_gpu_shader_int64                               n/a (not enabled in compat profile)
  GL_ARB_bindless_texture                               DONE
  GL_ARB_buffer_storage                                 DONE
  GL_ARB_clear_buffer_object                            DONE
  GL_ARB_framebuffer_no_attachments                     DONE
  GL_ARB_gpu_shader_fp64                                DONE
  GL_ARB_instanced_arrays                               DONE
  GL_ARB_internalformat_query2                          DONE
  GL_ARB_sparse_texture                                 n/a
  GL_ARB_sparse_buffer                                  DONE
  GL_ARB_texture_buffer_range                           DONE
  GL_ARB_texture_storage                                DONE
  GL_ARB_texture_storage_multisample                    DONE
  GL_ARB_vertex_attrib_64bit                            DONE
  GL_ARB_vertex_attrib_binding                          DONE
  GL_EXT_buffer_storage                                 DONE
  GL_EXT_external_buffer                                n/a
  GL_EXT_separate_shader_objects                        n/a
  GL_EXT_sparse_texture                                 n/a
  GL_EXT_texture_storage                                n/a
  GL_EXT_vertex_attrib_64bit                            DONE
  GL_EXT_EGL_image_storage                              n/a
  GL_NV_bindless_texture                                n/a
  GL_NV_gpu_shader5                                     n/a
  GL_NV_texture_multisample                             n/a
  GL_NV_vertex_buffer_unified_memory                    n/a
  GL_NVX_linked_gpu_multicast                           n/a
  GLX_NV_copy_buffer                                    n/a

The following extensions are not part of any OpenGL or OpenGL ES version, and
we DO NOT WANT implementations of these extensions for Mesa.

  GL_ARB_geometry_shader4                               Superseded by GL 3.2 geometry shaders
  GL_ARB_matrix_palette                                 Superseded by GL_ARB_vertex_program
  GL_ARB_shadow_ambient                                 Superseded by GL_ARB_fragment_program
  GL_ARB_vertex_blend                                   Superseded by GL_ARB_vertex_program

Vulkan 1.0 -- all DONE: anv, lvp, radv, tu, v3dv, vn

Vulkan 1.1 -- all DONE: anv, lvp, radv, tu, vn

  VK_KHR_16bit_storage                                  DONE (anv/gen8+, lvp, radv, tu/a650, v3dv, vn)
  VK_KHR_bind_memory2                                   DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_dedicated_allocation                           DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_descriptor_update_template                     DONE (anv, dzn, lvp, panvk, radv, tu, v3dv, vn)
  VK_KHR_device_group                                   DONE (anv, lvp, tu, v3dv, vn)
  VK_KHR_device_group_creation                          DONE (anv, lvp, tu, v3dv, vn)
  VK_KHR_external_fence                                 DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_external_fence_capabilities                    DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_external_memory                                DONE (anv, lvp, pvr, radv, tu, v3dv, vn)
  VK_KHR_external_memory_capabilities                   DONE (anv, lvp, pvr, radv, tu, v3dv, vn)
  VK_KHR_external_semaphore                             DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_external_semaphore_capabilities                DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_get_memory_requirements2                       DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_get_physical_device_properties2                DONE (anv, dzn, lvp, panvk, pvr, radv, tu, v3dv, vn)
  VK_KHR_maintenance1                                   DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_maintenance2                                   DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_maintenance3                                   DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_multiview                                      DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_relaxed_block_layout                           DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_sampler_ycbcr_conversion                       DONE (anv, radv, tu, v3dv, vn)
  VK_KHR_shader_draw_parameters                         DONE (anv, dzn, lvp, radv, tu, vn)
  VK_KHR_storage_buffer_storage_class                   DONE (anv, lvp, panvk, radv, tu, v3dv, vn)
  VK_KHR_variable_pointers                              DONE (anv, lvp, panvk, radv, tu, v3dv, vn)

Vulkan 1.2 -- all DONE: anv, tu, vn

  VK_KHR_8bit_storage                                   DONE (anv/gen8+, lvp, radv, v3dv, vn)
  VK_KHR_buffer_device_address                          DONE (anv/gen8+, lvp, radv, tu, v3dv, vn)
  VK_KHR_create_renderpass2                             DONE (anv, dzn, lvp, radv, tu, v3dv, vn)
  VK_KHR_depth_stencil_resolve                          DONE (anv, dzn, lvp, radv, tu, v3dv, vn)
  VK_KHR_draw_indirect_count                            DONE (anv, dzn, lvp, radv, tu, vn)
  VK_KHR_driver_properties                              DONE (anv, dzn, lvp, radv, tu, v3dv, vn)
  VK_KHR_image_format_list                              DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_imageless_framebuffer                          DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_sampler_mirror_clamp_to_edge                   DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_separate_depth_stencil_layouts                 DONE (anv, lvp, radv, vn, v3dv, tu)
  VK_KHR_shader_atomic_int64                            DONE (anv/gen9+, lvp, radv, vn)
  VK_KHR_shader_float16_int8                            DONE (anv/gen8+, lvp, radv, tu, vn)
  VK_KHR_shader_float_controls                          DONE (anv/gen8+, lvp, radv, tu, v3dv, vn)
  VK_KHR_shader_subgroup_extended_types                 DONE (anv/gen8+, lvp, radv, tu, vn)
  VK_KHR_spirv_1_4                                      DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_timeline_semaphore                             DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_uniform_buffer_standard_layout                 DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_vulkan_memory_model                            DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_descriptor_indexing                            DONE (anv/gen9+, radv, tu, vn)
  VK_EXT_host_query_reset                               DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_sampler_filter_minmax                          DONE (anv/gen9+, lvp, radv, tu, vn)
  VK_EXT_scalar_block_layout                            DONE (anv, lvp, radv/gfx7+, tu, vn)
  VK_EXT_separate_stencil_usage                         DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_shader_viewport_index_layer                    DONE (anv, lvp, radv, tu, vn)

Vulkan 1.3 -- all DONE: anv, radv, tu, lvp, vn

  VK_KHR_copy_commands2                                 DONE (anv, lvp, panvk, radv, tu, v3dv, vn)
  VK_KHR_dynamic_rendering                              DONE (anv, dzn, lvp, radv, tu, vn)
  VK_KHR_format_feature_flags2                          DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_maintenance4                                   DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_shader_integer_dot_product                     DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_shader_non_semantic_info                       DONE (anv, radv, tu, v3dv, vn)
  VK_KHR_shader_terminate_invocation                    DONE (anv, lvp, radv, tu, vn)
  VK_KHR_synchronization2                               DONE (anv, lvp, panvk, radv, v3dv, tu, vn)
  VK_KHR_zero_initialize_workgroup_memory               DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_4444_formats                                   DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_extended_dynamic_state                         DONE (anv, lvp, radv, tu, vn)
  VK_EXT_extended_dynamic_state2                        DONE (anv, lvp, radv, tu, vn)
  VK_EXT_inline_uniform_block                           DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_pipeline_creation_cache_control                DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_pipeline_creation_feedback                     DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_private_data                                   DONE (anv, lvp, pvr, radv, tu, v3dv, vn)
  VK_EXT_image_robustness                               DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_shader_demote_to_helper_invocation             DONE (anv, lvp, radv, tu, vn)
  VK_EXT_subgroup_size_control                          DONE (anv, lvp, radv, tu, vn)
  VK_EXT_texel_buffer_alignment                         DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_texture_compression_astc_hdr                   DONE (vn)
  VK_EXT_tooling_info                                   DONE (anv, v3dv, vn, tu)
  VK_EXT_ycbcr_2plane_444_formats                       DONE (vn)

Khronos extensions that are not part of any Vulkan version:

  VK_KHR_acceleration_structure                         DONE (anv/gfx12.5+, radv/gfx10.3+)
  VK_KHR_android_surface                                not started
  VK_KHR_deferred_host_operations                       DONE (anv, radv)
  VK_KHR_display                                        DONE (anv, pvr, radv, tu, v3dv)
  VK_KHR_display_swapchain                              not started
  VK_KHR_external_fence_fd                              DONE (anv, radv, tu, v3dv, vn)
  VK_KHR_external_fence_win32                           not started
  VK_KHR_external_memory_fd                             DONE (anv, lvp, pvr, radv, tu, v3dv, vn)
  VK_KHR_external_memory_win32                          not started
  VK_KHR_external_semaphore_fd                          DONE (anv, radv, tu, v3dv, vn)
  VK_KHR_external_semaphore_win32                       not started
  VK_KHR_fragment_shading_rate                          DONE (anv/gen11+, radv/gfx10.3+)
  VK_KHR_get_display_properties2                        DONE (anv, radv, tu, v3dv)
  VK_KHR_get_surface_capabilities2                      DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_global_priority                                DONE (radv, tu)
  VK_KHR_incremental_present                            DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_performance_query                              DONE (anv/gen8+, radv/gfx10.3+, tu, v3dv)
  VK_KHR_pipeline_executable_properties                 DONE (anv, radv, tu, v3dv)
  VK_KHR_pipeline_library                               DONE (anv, lvp, radv, tu)
  VK_KHR_present_wait                                   DONE (anv, radv, tu, x11/display)
  VK_KHR_push_descriptor                                DONE (anv, lvp, radv, tu, vn)
  VK_KHR_ray_query                                      DONE (anv/gfx12.5+, radv/gfx10.3+)
  VK_KHR_ray_tracing_maintenance1                       DONE (anv/gfx12.5+, radv/gfx10.3+)
  VK_KHR_ray_tracing_pipeline                           DONE (anv/gfx12.5+)
  VK_KHR_shader_clock                                   DONE (anv, lvp, radv)
  VK_KHR_shader_subgroup_uniform_control_flow           DONE (anv, radv)
  VK_KHR_shared_presentable_image                       not started
  VK_KHR_surface                                        DONE (anv, dzn, lvp, panvk, pvr, radv, tu, v3dv, vn)
  VK_KHR_surface_protected_capabilities                 DONE (anv, lvp, radv, v3dv, vn)
  VK_KHR_swapchain                                      DONE (anv, dzn, lvp, panvk, pvr, radv, tu, v3dv, vn)
  VK_KHR_swapchain_mutable_format                       DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_KHR_wayland_surface                                DONE (anv, dzn, lvp, panvk, radv, tu, v3dv, vn)
  VK_KHR_workgroup_memory_explicit_layout               DONE (anv, radv, v3dv)
  VK_KHR_win32_keyed_mutex                              not started
  VK_KHR_win32_surface                                  DONE (dzn, lvp)
  VK_KHR_xcb_surface                                    DONE (anv, dzn, lvp, radv, tu, v3dv, vn)
  VK_KHR_xlib_surface                                   DONE (anv, dzn, lvp, radv, tu, v3dv, vn)
  VK_EXT_acquire_xlib_display                           DONE (anv, lvp, radv, tu)
  VK_EXT_attachment_feedback_loop_layout                DONE (lvp, radv, tu, v3dv)
  VK_EXT_border_color_swizzle                           DONE (anv, lvp, tu, radv/gfx10+, v3dv)
  VK_EXT_buffer_device_address                          DONE (anv/gen8+, radv)
  VK_EXT_calibrated_timestamps                          DONE (anv, lvp, radv, vn)
  VK_EXT_color_write_enable                             DONE (anv, lvp, radv, tu, v3dv)
  VK_EXT_conditional_rendering                          DONE (anv, lvp, radv, tu, vn)
  VK_EXT_conservative_rasterization                     DONE (anv/gen9+, radv, vn)
  VK_EXT_custom_border_color                            DONE (anv, lvp, panvk, radv, tu, v3dv, vn)
  VK_EXT_debug_marker                                   DONE (radv)
  VK_EXT_debug_report                                   DONE (anv, lvp, pvr, radv, tu, v3dv)
  VK_EXT_depth_clip_control                             DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_depth_clip_enable                              DONE (anv, lvp, radv, tu, vn)
  VK_EXT_depth_range_unrestricted                       DONE (radv, lvp)
  VK_EXT_descriptor_buffer                              DONE (radv, tu)
  VK_EXT_direct_mode_display                            DONE (anv, lvp, radv, tu)
  VK_EXT_discard_rectangles                             DONE (radv)
  VK_EXT_display_control                                DONE (anv, radv, tu)
  VK_EXT_display_surface_counter                        DONE (anv, lvp, radv, tu)
  VK_EXT_extended_dynamic_state3                        DONE (anv, lvp, radv, tu)
  VK_EXT_external_memory_dma_buf                        DONE (anv, pvr, radv, tu, v3dv, vn)
  VK_EXT_external_memory_host                           DONE (anv, lvp, radv)
  VK_EXT_filter_cubic                                   DONE (tu/a650)
  VK_EXT_fragment_shader_interlock                      DONE (anv/gen9+)
  VK_EXT_global_priority                                DONE (anv, radv, tu)
  VK_EXT_global_priority_query                          DONE (anv, radv, tu)
  VK_EXT_graphics_pipeline_library                      DONE (lvp, radv, tu)
  VK_EXT_image_2d_view_of_3d                            DONE (anv, radv, tu, lvp)
  VK_EXT_image_drm_format_modifier                      DONE (anv, radv/gfx9+, tu, v3dv, vn)
  VK_EXT_image_sliced_view_of_3d                        DONE (anv, radv/gfx10+)
  VK_EXT_image_view_min_lod                             DONE (anv, radv, tu, vn)
  VK_EXT_index_type_uint8                               DONE (anv, lvp, panvk, radv/gfx8+, v3dv, tu, vn)
  VK_EXT_line_rasterization                             DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_load_store_op_none                             DONE (anv, radv, tu, v3dv, vn)
  VK_EXT_memory_budget                                  DONE (anv, radv, tu, v3dv, vn)
  VK_EXT_memory_priority                                DONE (radv)
  VK_EXT_mesh_shader                                    DONE (anv/gfx12.5+, radv)
  VK_EXT_multi_draw                                     DONE (anv, lvp, radv, tu, vn)
  VK_EXT_multisampled_render_to_single_sampled          DONE (lvp)
  VK_EXT_non_seamless_cube_map                          DONE (anv, lvp, radv, tu)
  VK_EXT_pci_bus_info                                   DONE (anv, radv, vn)
  VK_EXT_physical_device_drm                            DONE (anv, radv, tu, v3dv, vn)
  VK_EXT_pipeline_library_group_handles                 DONE (anv, radv)
  VK_EXT_pipeline_robustness                            DONE (v3dv)
  VK_EXT_post_depth_coverage                            DONE (anv/gfx10+, lvp, radv/gfx10+)
  VK_EXT_primitive_topology_list_restart                DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_primitives_generated_query                     DONE (anv, lvp, radv, tu, vn)
  VK_EXT_provoking_vertex                               DONE (anv, lvp, radv, tu, v3dv, vn)
  VK_EXT_queue_family_foreign                           DONE (anv, radv, tu, vn)
  VK_EXT_rasterization_order_attachment_access          DONE (lvp, tu, vn)
  VK_EXT_robustness2                                    DONE (anv, lvp, radv, tu, vn)
  VK_EXT_sample_locations                               DONE (anv, radv/gfx9-, tu/a650)
  VK_EXT_shader_atomic_float                            DONE (anv, lvp, radv)
  VK_EXT_shader_atomic_float2                           DONE (anv/gen9+, lvp, radv)
  VK_EXT_shader_image_atomic_int64                      DONE (radv)
  VK_EXT_shader_object                                  DONE (lvp)
  VK_EXT_shader_stencil_export                          DONE (anv/gen9+, lvp, radv, tu, vn)
  VK_EXT_shader_subgroup_ballot                         DONE (anv, lvp, radv)
  VK_EXT_shader_subgroup_vote                           DONE (anv, lvp, radv)
  VK_EXT_shader_module_identifier                       DONE (anv, radv, tu, v3dv)
  VK_EXT_transform_feedback                             DONE (anv, lvp, radv, tu, vn)
  VK_EXT_vertex_attribute_divisor                       DONE (anv, dzn, panvk, radv, lvp, tu, v3dv, vn)
  VK_EXT_vertex_input_dynamic_state                     DONE (anv, lvp, radv, tu)
  VK_EXT_ycbcr_image_arrays                             DONE (anv, radv)
  VK_ANDROID_external_memory_android_hardware_buffer    DONE (anv, radv, vn)
  VK_ANDROID_native_buffer                              DONE (anv, radv, tu, v3dv, vn)
  VK_GOOGLE_decorate_string                             DONE (anv, lvp, radv)
  VK_GOOGLE_hlsl_functionality1                         DONE (anv, lvp, radv)
  VK_GOOGLE_user_type                                   DONE (anv, radv)
  VK_IMG_filter_cubic                                   DONE (tu/a650)
  VK_NV_compute_shader_derivatives                      DONE (anv, radv)
  VK_EXT_acquire_drm_display                            DONE (anv, radv, tu)
  VK_VALVE_mutable_descriptor_type                      DONE (anv, radv, tu, vn)
  VK_AMD_buffer_marker                                  DONE (radv, tu)
  VK_AMD_device_coherent_memory                         DONE (radv)
  VK_AMD_draw_indirect_count                            DONE (radv)
  VK_AMD_gcn_shader                                     DONE (radv)
  VK_AMD_gpu_shader_half_float                          DONE (radv)
  VK_AMD_gpu_shader_int16                               DONE (radv)
  VK_AMD_memory_overallocation_behavior                 DONE (radv)
  VK_AMD_mixed_attachment_samples                       DONE (radv)
  VK_AMD_rasterization_order                            DONE (radv)
  VK_AMD_shader_ballot                                  DONE (radv)
  VK_AMD_shader_core_properties                         DONE (radv)
  VK_AMD_shader_core_properties2                        DONE (radv)
  VK_AMD_shader_early_and_late_fragment_tests           DONE (radv)
  VK_AMD_shader_explicit_vertex_parameter               DONE (radv)
  VK_AMD_shader_fragment_mask                           DONE (radv/gfx10.3-)
  VK_AMD_shader_image_load_store_lod                    DONE (radv)
  VK_AMD_shader_trinary_minmax                          DONE (radv)
  VK_AMD_texture_gather_bias_lod                        DONE (radv)
  VK_ARM_rasterization_order_attachment_access          DONE (lvp, tu)
  VK_EXT_mutable_descriptor_type                        DONE (anv, radv, tu, vn)
  VK_EXT_swapchain_colorspace                           DONE (radv, anv, tu)


OpenCL 1.0 -- all DONE:

  Image support                                         in progress


OpenCL 1.1 -- all DONE:

  Additional queries for clGetDeviceInfo                DONE (nvc0, r600, radeonsi)
  CL_CONTEXT_NUM_DEVICES for clGetContextInfo           DONE
  Optional image formats                                not started
  clCreateSubBuffer                                     DONE
  Read from, write to, copy rectangular regions         DONE
  clSetMemObjectDestructorCallback                      DONE
  Control OpenCL C version when building                DONE
  Query for preferred work-group size multiple          DONE (nvc0, r600, radeonsi)
  Support user events                                   DONE
  clSetEventCallback                                    DONE
  Minimum requirement changes for clGetDeviceInfo       DONE (nvc0, r600, radeonsi)
  Arg prerequisite change for clEnqueueNDRangeKernel    DONE ()
  3-component vector data types                         DONE (nvc0, r600, radeonsi)
  cl_khr_byte_addressable_store                         DONE (nvc0, r600, radeonsi)
  cl_khr_global_int32_base_atomics                      DONE (nvc0, r600, radeonsi)
  cl_khr_global_int32_extended_atomics                  DONE (nvc0, r600, radeonsi)
  cl_khr_local_int32_base_atomics                       DONE (nvc0, r600, radeonsi)
  cl_khr_local_int32_extended_atomics                   DONE (nvc0, r600, radeonsi)


OpenCL 1.2 -- all DONE:

  Custom devices                                        DONE
  Built-in kernels                                      DONE ()
  Device partitioning                                   DONE ()
  Separate compilation and linking of programs          DONE
  Extend cl_mem_flags                                   DONE
  clEnqueueFillBuffer, clEnqueueFillImage               DONE
  Add CL_MAP_WRITE_INVALIDATE_REGION to cl_map_flags    DONE
  New image types                                       not started
  clCreateImage                                         DONE
  clEnqueueMigrateMemObjects                            DONE
  Retrieve kernels information from a program           DONE
  clGetKernelArgInfo                                    DONE
  clEnqueueMarkerWithWaitList                           DONE
  clEnqueueBarrierWithWaitList                          DONE
  clUnloadPlatformCompiler                              DONE
  cl_khr_fp64                                           DONE (nvc0, r600, radeonsi)
  printf                                                DONE (nvc0)
  CL_KERNEL_ATTRIBUTES for clGetKernelInfo              DONE


OpenCL 2.0 -- all DONE:

  Shared virtual memory                                 DONE (nvc0)
  Device queues                                         not started
  - cl_khr_create_command_queue                         not started
  - Additional queries for clGetDeviceInfo              not started
  Pipes                                                 not started
  Extended 2D images creation                           not started
  - cl_khr_image2d_from_buffer                          not started
  - cl_khr_depth_images                                 not started
  - from sRGB images                                    not started
  clCreateSamplerWithProperties                         not started
  cl_khr_3d_image_writes                                not started


OpenCL 2.1 -- all DONE:

  Sub groups                                            not started
  - cl_khr_subgroups                                    not started
  - Additional queries for clGetDeviceInfo              not started
  cl_khr_il_program                                     DONE (nvc0)
  Device and host timer synchronization                 not started
  clEnqueueSVMMigrateMem                                not started
  clCloneKernel                                         not started
  Default device command queue                          not started


OpenCL 2.2 -- all DONE:

  clSetProgramSpecializationConstant                    not started
  clSetProgramReleaseCallback                           not started
  Initialization and clean-up kernels                   not started
  CL_MAX_SIZE_RESTRICTION_EXCEEDED for clSetKernelArg   not started
  Support SPIR-V 1.1 and 1.2                            not started


OpenCL 3.0 -- all DONE

  Optional device capabilities queries                  in progress
  cl_khr_extended_versioning                            DONE
  clSetContextDestructorCallback                        DONE
  clCreateBufferWithProperties                          DONE
  clCreateImageWithProperties                           DONE
  Query properties arrays                               in progress
  Supported OpenCL C versions and features queries      DONE
  CL_COMMAND_SVM_MIGRATE_MEM for clGetEventInfo         not started
  Latest conformance version passed for devices         not started


Khronos, and EXT extensions that are not part of any OpenCL version:

  cl_ext_atomic_counters_32                             not started
  cl_ext_atomic_counters_64                             not started
  cl_ext_device_fission                                 not started
  cl_ext_migrate_memobject                              not started
  cl_khr_async_work_group_copy_fence                    not started
  cl_khr_d3d10_sharing                                  not started
  cl_khr_d3d11_sharing                                  not started
  cl_khr_device_enqueue_local_arg_types                 not started
  cl_khr_dx9_media_sharing                              not started
  cl_khr_egl_event                                      not started
  cl_khr_egl_image                                      not started
  cl_khr_extended_async_copies                          not started
  cl_khr_fp16                                           DONE ()
  cl_khr_gl_depth_images                                not started
  cl_khr_gl_event                                       not started
  cl_khr_gl_msaa_sharing                                not started
  cl_khr_gl_sharing                                     not started
  cl_khr_icd                                            DONE
  cl_khr_initialize_memory                              not started
  cl_khr_int64_base_atomics                             DONE ()
  cl_khr_int64_extended_atomics                         DONE ()
  cl_khr_mipmap_image                                   not started
  cl_khr_mipmap_image_writes                            not started
  cl_khr_priority_hints                                 not started
  cl_khr_select_fprounding_mode                         not started
  cl_khr_spir                                           not started
  cl_khr_srgb_image_writes                              not started
  cl_khr_subgroup_named_barrier                         not started
  cl_khr_subgroups                                      not started
  cl_khr_terminate_context                              not started
  cl_khr_throttle_hints                                 not started


Vendor specific extensions that are not part of any OpenCL version:

  cl_arm_shared_virtual_memory                          DONE (nvc0)


The following extensions are not part of any OpenCL version, and we DO NOT WANT
implementations of these extensions for Mesa.

  cl_nv_d3d10_sharing                                   Superseded by cl_khr_d3d10_sharing
  cl_nv_d3d11_sharing                                   Superseded by cl_khr_d3d10_sharing


A graphical representation of this information can be found at
https://mesamatrix.net/
