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

(*) 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

  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)
  GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (v3d, vc4, panfrost, lima)
  GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (v3d, vc4, panfrost, lima)
  GL_ARB_provoking_vertex (Provoking vertex)            DONE (v3d, vc4, panfrost, lima)
  GL_ARB_seamless_cube_map (Seamless cubemaps)          DONE (panfrost)
  GL_ARB_texture_multisample (Multisample textures)     DONE (freedreno/a5xx+, v3d, vc4, panfrost)
  GL_ARB_depth_clamp (Frag depth clamp)                 DONE (panfrost)
  GL_ARB_sync (Fence objects)                           DONE (v3d, vc4, panfrost, lima)
  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)
  GL_ARB_sampler_objects                                DONE (all drivers)
  GL_ARB_shader_bit_encoding                            DONE (v3d, panfrost)
  GL_ARB_texture_rgb10_a2ui                             DONE (v3d, panfrost)
  GL_ARB_texture_swizzle                                DONE (v3d, vc4, panfrost, lima)
  GL_ARB_timer_query                                    DONE ()
  GL_ARB_instanced_arrays                               DONE (etnaviv/HALTI2, v3d, panfrost)
  GL_ARB_vertex_type_2_10_10_10_rev                     DONE (v3d, panfrost)


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)
  GL_ARB_draw_indirect                                  DONE (freedreno, i965/gen7+, softpipe, v3d)
  GL_ARB_gpu_shader5                                    DONE (freedreno/a6xx, i965/gen7+)
  - 'precise' qualifier                                 DONE (softpipe)
  - Dynamically uniform sampler array indices           DONE (softpipe)
  - Dynamically uniform UBO array indices               DONE (freedreno, softpipe)
  - Implicit signed -> unsigned conversions             DONE (softpipe, )
  - Fused multiply-add                                  DONE (softpipe, )
  - Packing/bitfield/conversion functions               DONE (freedreno, softpipe, panfrost)
  - Enhanced textureGather                              DONE (freedreno, softpipe, panfrost)
  - 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)
  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)
  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)
  GL_ARB_get_program_binary                             DONE (freedreno, v3d, 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)
  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)
  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)
  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)
  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)
  GL_ARB_texture_stencil8                               DONE (freedreno, i965/hsw+, nv50, softpipe, virgl, v3d, panfrost, d3d12)
  GL_ARB_vertex_type_10f_11f_11f_rev                    DONE (freedreno, i965, nv50, softpipe, virgl, panfrost, d3d12)

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)
  GL_ARB_conditional_render_inverted                    DONE (freedreno, i965, nv50, softpipe, virgl, panfrost, d3d12)
  GL_ARB_cull_distance                                  DONE (freedreno/a6xx, i965, nv50, softpipe, virgl)
  GL_ARB_derivative_control                             DONE (freedreno/a3xx+, i965, nv50, softpipe, virgl)
  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)
  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 (fredreno/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)
  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+)
  GL_ARB_explicit_uniform_location                      DONE (all drivers that support GLSL)
  GL_ARB_framebuffer_no_attachments                     DONE (freedreno, i965/gen7+, softpipe)
  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)
  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+)
  GS5 Packing/bitfield/conversion functions             DONE (freedreno/a5xx+, i965/gen6+)
  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)

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)
  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)
  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)
  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)
  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)
  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_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)
  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 (i965/gen9+, panfrost, zink)
  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)
  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)
  GL_OES_texture_float_linear                           DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, zink)
  GL_OES_texture_half_float                             DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, zink, lima)
  GL_OES_texture_half_float_linear                      DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, zink, lima)
  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, 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, 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, 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 (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 (lvp, radv)
  VK_KHR_push_descriptor                                DONE (anv, lvp, radv, tu)
  VK_KHR_ray_query                                      DONE (radv/gfx10.3+)
  VK_KHR_ray_tracing_maintenance1                       DONE (radv/gfx10.3+)
  VK_KHR_ray_tracing_pipeline                           in progress
  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_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_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_discard_rectangles                             DONE (radv)
  VK_EXT_display_control                                DONE (anv, radv, tu)
  VK_EXT_extended_dynamic_state3                        DONE (lvp, radv)
  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)
  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_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 (radv, tu, v3dv)
  VK_EXT_memory_budget                                  DONE (anv, radv, tu, v3dv)
  VK_EXT_memory_priority                                DONE (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)
  VK_EXT_physical_device_drm                            DONE (anv, radv, tu, v3dv, vn)
  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)
  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_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 (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_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)


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/
