# 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)
  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/
