2016-03-15 16:14:08 -04:00
|
|
|
|
# Status of OpenGL extensions in Mesa
|
2009-12-30 10:39:20 -07:00
|
|
|
|
|
2016-03-15 16:14:08 -04:00
|
|
|
|
Here's how to read this file:
|
2009-12-30 10:39:20 -07:00
|
|
|
|
|
2016-03-15 16:14:08 -04:00
|
|
|
|
all DONE: <driver>, ...
|
|
|
|
|
|
All the extensions are done for the given list of drivers.
|
2009-12-30 10:39:20 -07:00
|
|
|
|
|
2016-03-15 16:14:08 -04:00
|
|
|
|
DONE
|
|
|
|
|
|
The extension is done for Mesa and no implementation is necessary on the
|
|
|
|
|
|
driver-side.
|
2009-12-30 10:39:20 -07:00
|
|
|
|
|
2016-03-15 16:14:08 -04:00
|
|
|
|
DONE ()
|
|
|
|
|
|
The extension is done for Mesa and all the drivers in the "all DONE" list.
|
2009-12-30 10:39:20 -07:00
|
|
|
|
|
2016-03-15 16:14:08 -04:00
|
|
|
|
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
|
2013-07-30 22:29:11 +02:00
|
|
|
|
|
2018-03-03 00:55:46 +02:00
|
|
|
|
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.
|
2013-07-30 22:29:11 +02:00
|
|
|
|
|
|
|
|
|
|
|
2016-03-15 16:14:09 -04:00
|
|
|
|
Feature Status
|
|
|
|
|
|
------------------------------------------------------- ------------------------
|
2009-12-30 10:39:20 -07:00
|
|
|
|
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL 3.0, GLSL 1.30 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, panfrost, asahi, iris, crocus/gen6+
|
2013-11-16 22:13:03 +00:00
|
|
|
|
|
|
|
|
|
|
glBindFragDataLocation, glGetFragDataLocation DONE
|
2019-11-29 16:20:43 +01:00
|
|
|
|
GL_NV_conditional_render (Conditional rendering) DONE (v3d, etnaviv/HALTI0)
|
2023-05-25 13:22:53 -04:00
|
|
|
|
GL_ARB_map_buffer_range (Map buffer subranges) DONE (v3d, vc4, lima)
|
2023-07-04 09:19:05 +02:00
|
|
|
|
GL_ARB_color_buffer_float (Clamping controls) DONE (v3d, vc4, lima, etnaviv)
|
2023-05-25 13:22:53 -04:00
|
|
|
|
GL_ARB_texture_float (Float textures, renderbuffers) DONE (v3d)
|
2023-07-04 09:19:05 +02:00
|
|
|
|
GL_EXT_packed_float DONE (v3d, etnaviv/HALTI0)
|
2025-06-15 23:23:30 +02:00
|
|
|
|
GL_EXT_texture_shared_exponent DONE (v3d, etnaviv/HALTI2)
|
2023-05-25 13:22:53 -04:00
|
|
|
|
GL_ARB_depth_buffer_float (Float depth buffers) DONE (v3d)
|
2023-07-04 09:19:05 +02:00
|
|
|
|
GL_ARB_framebuffer_object (Framebuffer objects) DONE (v3d, vc4, etnaviv)
|
2014-01-13 15:23:48 -08:00
|
|
|
|
GL_ARB_half_float_pixel DONE (all drivers)
|
2023-07-11 12:42:59 +02:00
|
|
|
|
GL_ARB_half_float_vertex DONE (v3d, vc4, lima, etnaviv)
|
2023-05-25 13:22:53 -04:00
|
|
|
|
GL_EXT_texture_integer DONE (v3d)
|
2023-07-04 09:19:05 +02:00
|
|
|
|
GL_EXT_texture_array DONE (v3d, etnaviv/HALTI0)
|
2023-11-21 15:29:56 +01:00
|
|
|
|
GL_EXT_draw_buffers2 (Per-buffer blend and masks) DONE (v3d, etnaviv/HALTI5)
|
2022-08-10 08:59:28 +02:00
|
|
|
|
GL_EXT_texture_compression_rgtc DONE (all drivers that support GL_EXT_texture_snorm)
|
2025-06-15 23:23:30 +02:00
|
|
|
|
GL_ARB_texture_rg DONE (v3d, lima, etnaviv/HALTI5)
|
2023-05-25 13:22:53 -04:00
|
|
|
|
GL_EXT_transform_feedback (Transform feedback) DONE (v3d)
|
|
|
|
|
|
GL_ARB_vertex_array_object (Vertex array objects) DONE (v3d, vc4, lima)
|
2023-11-14 08:59:28 +01:00
|
|
|
|
GL_EXT_framebuffer_sRGB (sRGB framebuffer format) DONE (v3d, vc4, lima, etnaviv/HALTI3)
|
2013-11-16 22:13:03 +00:00
|
|
|
|
glClearBuffer commands DONE
|
|
|
|
|
|
glGetStringi command DONE
|
|
|
|
|
|
glTexParameterI, glGetTexParameterI commands DONE
|
|
|
|
|
|
glVertexAttribI commands DONE
|
2023-10-04 13:55:35 +02:00
|
|
|
|
Depth format cube textures DONE (v3d)
|
2023-05-25 13:22:53 -04:00
|
|
|
|
GLX_ARB_create_context (GLX 1.4 is required) DONE (v3d, vc4)
|
2023-10-04 13:55:35 +02:00
|
|
|
|
Multisample anti-aliasing DONE (freedreno/a5xx+, freedreno (*), llvmpipe (*), softpipe (*)), v3d)
|
2024-11-22 10:29:36 +01:00
|
|
|
|
8 draw buffers DONE (panfrost/v5+, v3d/vc7+)
|
2013-11-16 22:13:03 +00:00
|
|
|
|
|
2021-06-10 13:16:04 +02:00
|
|
|
|
(*) freedreno (a2xx-a4xx), llvmpipe, and softpipe have fake Multisample anti-aliasing support
|
2013-11-16 22:13:03 +00:00
|
|
|
|
|
2014-08-25 18:21:53 +02:00
|
|
|
|
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL 3.1, GLSL 1.40 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, panfrost, asahi, iris, crocus/gen6+
|
2013-11-16 22:13:03 +00:00
|
|
|
|
|
2020-06-18 10:43:36 +02:00
|
|
|
|
Forward compatible context support/deprecations DONE
|
2022-09-08 11:28:07 +03:00
|
|
|
|
GL_ARB_draw_instanced (Instanced drawing) DONE (etnaviv/HALTI2, v3d, crocus)
|
|
|
|
|
|
GL_ARB_copy_buffer (Buffer copying) DONE (v3d, vc4, lima, crocus)
|
|
|
|
|
|
GL_NV_primitive_restart (Primitive restart) DONE (v3d, crocus)
|
2023-10-04 13:55:35 +02:00
|
|
|
|
16 vertex texture image units DONE (v3d)
|
2019-09-16 14:23:07 +02:00
|
|
|
|
GL_ARB_texture_buffer_object (Texture buffer objs) DONE (v3d)
|
2023-07-11 12:42:59 +02:00
|
|
|
|
GL_ARB_texture_rectangle (Rectangular textures) DONE (v3d, vc4, lima, crocus, etnaviv)
|
2022-09-08 11:28:07 +03:00
|
|
|
|
GL_ARB_uniform_buffer_object (Uniform buffer objs) DONE (v3d, crocus)
|
2025-06-15 23:23:30 +02:00
|
|
|
|
GL_EXT_texture_snorm (Signed normalized textures) DONE (v3d, crocus, etnaviv/HALTI1)
|
2013-11-16 22:13:03 +00:00
|
|
|
|
|
|
|
|
|
|
|
2023-08-17 13:03:37 -04:00
|
|
|
|
GL 3.2, GLSL 1.50 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, iris, crocus/gen6+, asahi
|
2013-11-16 22:13:03 +00:00
|
|
|
|
|
|
|
|
|
|
Core/compatibility profiles DONE
|
2022-09-08 11:28:07 +03:00
|
|
|
|
Geometry shaders DONE (freedreno/a6xx, crocus)
|
2023-08-17 13:03:37 -04:00
|
|
|
|
GL_ARB_vertex_array_bgra (BGRA vertex order) DONE (v3d, panfrost, crocus)
|
|
|
|
|
|
GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (v3d, vc4, panfrost, lima, crocus)
|
|
|
|
|
|
GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (v3d, vc4, panfrost, lima, crocus)
|
|
|
|
|
|
GL_ARB_provoking_vertex (Provoking vertex) DONE (v3d, vc4, panfrost, lima, crocus)
|
2025-06-14 01:52:53 +02:00
|
|
|
|
GL_ARB_seamless_cube_map (Seamless cubemaps) DONE (panfrost, crocus, etnaviv/SEAMLESS_CUBE_MAP)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, v3d, vc4, panfrost)
|
2024-07-17 10:35:15 +02:00
|
|
|
|
GL_ARB_depth_clamp (Frag depth clamp) DONE (panfrost, crocus, v3d/vc7+)
|
2023-08-17 13:03:37 -04:00
|
|
|
|
GL_ARB_sync (Fence objects) DONE (v3d, vc4, panfrost, lima, crocus)
|
2013-11-16 22:13:03 +00:00
|
|
|
|
GLX_ARB_create_context_profile DONE
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-05 12:25:21 -04:00
|
|
|
|
GL 3.3, GLSL 3.30 --- all DONE: freedreno, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12, iris, crocus/gen6+, asahi
|
2013-11-16 22:13:03 +00:00
|
|
|
|
|
2025-03-13 11:06:49 +00:00
|
|
|
|
GL_ARB_blend_func_extended DONE (freedreno/a3xx, freedreno/a6xx, v3d, panfrost, lima)
|
2014-01-13 14:48:16 -08:00
|
|
|
|
GL_ARB_explicit_attrib_location DONE (all drivers that support GLSL)
|
2023-11-05 12:25:21 -04:00
|
|
|
|
GL_ARB_occlusion_query2 DONE (v3d, panfrost)
|
2014-01-13 14:48:16 -08:00
|
|
|
|
GL_ARB_sampler_objects DONE (all drivers)
|
2023-11-05 12:25:21 -04:00
|
|
|
|
GL_ARB_shader_bit_encoding DONE (v3d, panfrost)
|
|
|
|
|
|
GL_ARB_texture_rgb10_a2ui DONE (v3d, panfrost)
|
2023-11-14 08:59:28 +01:00
|
|
|
|
GL_ARB_texture_swizzle DONE (v3d, vc4, panfrost, lima, etnaviv/HALTI0)
|
2025-07-10 11:03:37 +02:00
|
|
|
|
GL_ARB_timer_query DONE (panfrost, v3d)
|
2023-11-05 12:25:21 -04:00
|
|
|
|
GL_ARB_instanced_arrays DONE (etnaviv/HALTI2, v3d, panfrost)
|
|
|
|
|
|
GL_ARB_vertex_type_2_10_10_10_rev DONE (v3d, panfrost)
|
2010-05-11 21:03:53 -06:00
|
|
|
|
|
|
|
|
|
|
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL 4.0, GLSL 4.00 --- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12, iris, crocus/gen7+, asahi
|
|
|
|
|
|
|
2023-11-21 15:43:05 +01:00
|
|
|
|
GL_ARB_draw_buffers_blend DONE (freedreno, nv50, softpipe, panfrost, v3d, crocus/gen6+, etnaviv/HALTI5+)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_ARB_draw_indirect DONE (freedreno, softpipe, v3d, panfrost, etnaviv/HALTI5+)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_gpu_shader5 DONE (freedreno/a6xx)
|
|
|
|
|
|
- '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)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_gpu_shader_fp64 DONE (freedreno/a6xx, softpipe)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_sample_shading DONE (freedreno/a6xx, nv50, panfrost, crocus/gen6+)
|
2024-11-21 10:16:27 +01:00
|
|
|
|
GL_ARB_shader_subroutine DONE (all drivers)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_tessellation_shader DONE (freedreno/a6xx)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_texture_buffer_object_rgb32 DONE (freedreno, softpipe, panfrost, crocus/gen6+)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_ARB_texture_cube_map_array DONE (freedreno/a4xx+, nv50, softpipe, v3d, panfrost, crocus/gen6+)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_texture_gather DONE (freedreno, nv50, softpipe, v3d, panfrost)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_texture_query_lod DONE (freedreno, nv50, softpipe, v3d, panfrost, crocus/gen5+)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_transform_feedback2 DONE (freedreno/a3xx+, nv50, softpipe, v3d, panfrost, crocus/gen6+)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_ARB_transform_feedback3 DONE (freedreno/a3xx+, softpipe, panfrost)
|
2010-11-21 22:54:33 +01:00
|
|
|
|
|
|
|
|
|
|
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL 4.1, GLSL 4.10 --- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12, iris, crocus/gen7+, asahi
|
2010-11-21 22:54:33 +01:00
|
|
|
|
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_ES2_compatibility DONE (freedreno, nv50, softpipe, v3d, vc4, panfrost, lima, crocus)
|
2024-11-22 10:38:21 +01:00
|
|
|
|
GL_ARB_get_program_binary DONE (all drivers)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_separate_shader_objects DONE (all drivers)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_shader_precision DONE (freedreno/a6xx, all drivers that support GLSL 4.10)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_vertex_attrib_64bit DONE (freedreno/a6xx, softpipe)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_viewport_array DONE (freedreno/a6xx, nv50, softpipe, crocus/gen6+)
|
2010-05-11 21:03:53 -06:00
|
|
|
|
|
|
|
|
|
|
|
2023-10-27 14:55:13 -04:00
|
|
|
|
GL 4.2, GLSL 4.20 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12, iris, crocus/gen7+, asahi
|
2012-07-05 20:27:28 +02:00
|
|
|
|
|
2022-09-13 15:39:49 +02:00
|
|
|
|
GL_ARB_texture_compression_bptc DONE (all drivers that supports EXT_texture_sRGB and OES_texture_half_float)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_compressed_texture_pixel_storage DONE (all drivers)
|
2023-10-27 14:55:13 -04:00
|
|
|
|
GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, softpipe, v3d, panfrost)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_texture_storage DONE (all drivers)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_ARB_transform_feedback_instanced DONE (freedreno, nv50, softpipe, v3d, panfrost, crocus/gen6+)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_base_instance DONE (freedreno, nv50, softpipe, v3d, crocus)
|
2023-10-27 14:55:13 -04:00
|
|
|
|
GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, softpipe, panfrost)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
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)
|
2023-10-27 14:55:13 -04:00
|
|
|
|
GL_ARB_internalformat_query DONE (freedreno, nv50, softpipe, v3d, vc4, panfrost, lima, crocus)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_map_buffer_alignment DONE (all drivers)
|
2010-05-11 21:03:53 -06:00
|
|
|
|
|
2010-01-05 16:03:11 -07:00
|
|
|
|
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL 4.3, GLSL 4.30 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12, iris, crocus/gen7.5+, asahi
|
2012-08-06 13:47:27 -06:00
|
|
|
|
|
2016-03-15 16:14:09 -04:00
|
|
|
|
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)
|
2025-09-01 01:36:04 +02:00
|
|
|
|
GL_ARB_compute_shader DONE (freedreno/a5xx+, softpipe, crocus/gen7+)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_ARB_copy_image DONE (freedreno/a6xx, nv50, softpipe, v3d, panfrost, crocus)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_KHR_debug DONE (all drivers)
|
|
|
|
|
|
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_fragment_layer_viewport DONE (freedreno/a6xx, nv50, softpipe, crocus/gen6+)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_ARB_framebuffer_no_attachments DONE (freedreno, softpipe, v3d, panfrost, crocus/gen7+, etnaviv)
|
2016-03-04 12:33:46 +10:00
|
|
|
|
GL_ARB_internalformat_query2 DONE (all drivers)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_invalidate_subdata DONE (all drivers)
|
2024-11-22 11:06:43 +01:00
|
|
|
|
GL_ARB_multi_draw_indirect DONE (all drivers that supports GL_ARB_draw_indirect)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_program_interface_query DONE (all drivers)
|
2025-07-17 21:34:32 +02:00
|
|
|
|
GL_ARB_robust_buffer_access_behavior DONE (freedreno, panfrost)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_shader_image_size DONE (freedreno/a5xx+, softpipe, v3d, panfrost, crocus/gen7+)
|
|
|
|
|
|
GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, softpipe, v3d, panfrost, crocus/gen7+)
|
|
|
|
|
|
GL_ARB_stencil_texturing DONE (freedreno, nv50, softpipe, v3d, panfrost)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_ARB_texture_buffer_range DONE (freedreno, nv50, softpipe, v3d, panfrost, crocus)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
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)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_ARB_texture_view DONE (freedreno, nv50, softpipe, v3d, panfrost, crocus/gen7+)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_vertex_attrib_binding DONE (all drivers)
|
2012-08-06 13:47:27 -06:00
|
|
|
|
|
|
|
|
|
|
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL 4.4, GLSL 4.40 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, iris, crocus/gen7.5+, d3d12, asahi
|
2013-07-23 09:17:47 +12:00
|
|
|
|
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_buffer_storage DONE (freedreno, nv50, v3d, vc4, lima, panfrost, softpipe, etnaviv, crocus)
|
2023-06-20 20:24:01 +00:00
|
|
|
|
GL_ARB_clear_texture DONE (all drivers)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_ARB_enhanced_layouts DONE (freedreno/a3xx+, nv50, softpipe, panfrost, crocus)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
- compile-time constant expressions DONE
|
|
|
|
|
|
- explicit byte offsets for blocks DONE
|
|
|
|
|
|
- forced alignment within blocks DONE
|
2018-01-18 14:09:38 +10:00
|
|
|
|
- specified vec4-slot component numbers DONE
|
2016-03-10 16:41:03 +11:00
|
|
|
|
- specified transform/feedback layout DONE
|
2016-03-15 16:14:09 -04:00
|
|
|
|
- input/output block locations DONE
|
|
|
|
|
|
GL_ARB_multi_bind DONE (all drivers)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_query_buffer_object DONE (freedreno/a6xx)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_texture_mirror_clamp_to_edge DONE (freedreno, nv50, softpipe, v3d, panfrost, crocus)
|
|
|
|
|
|
GL_ARB_texture_stencil8 DONE (freedreno, nv50, softpipe, v3d, panfrost)
|
|
|
|
|
|
GL_ARB_vertex_type_10f_11f_11f_rev DONE (freedreno, nv50, softpipe, panfrost, crocus)
|
2025-08-28 12:42:06 +01:00
|
|
|
|
GL_NV_shader_atomic_int64 DONE (radeonsi, panfrost/v9+)
|
2023-05-24 07:04:29 +02:00
|
|
|
|
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL 4.5, GLSL 4.50 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, iris, crocus/gen7.5+, d3d12, asahi
|
2023-05-24 07:04:29 +02:00
|
|
|
|
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_ES3_1_compatibility DONE (freedreno/a6xx, softpipe)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_ARB_clip_control DONE (freedreno, nv50, softpipe, lima, panfrost, crocus)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_conditional_render_inverted DONE (freedreno, nv50, softpipe, panfrost, crocus/gen6+)
|
|
|
|
|
|
GL_ARB_cull_distance DONE (freedreno/a6xx, nv50, softpipe, crocus/gen6+)
|
|
|
|
|
|
GL_ARB_derivative_control DONE (freedreno/a3xx+, nv50, softpipe, crocus/gen7+)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_direct_state_access DONE (all drivers)
|
|
|
|
|
|
GL_ARB_get_texture_sub_image DONE (all drivers)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_shader_texture_image_samples DONE (freedreno/a3xx+, nv50, crocus/gen7+)
|
2021-09-02 17:38:11 +02:00
|
|
|
|
GL_ARB_texture_barrier DONE (freedreno, nv50, v3d, vc4, lima, crocus)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
|
2025-07-04 16:30:18 +02:00
|
|
|
|
GL_KHR_robustness DONE (freedreno, panfrost, v3d)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
2014-08-11 15:07:09 -04:00
|
|
|
|
|
2025-08-11 16:49:07 +02:00
|
|
|
|
GL 4.6, GLSL 4.60 -- all DONE: radeonsi, virgl, zink, iris, crocus/gen7+, d3d12, asahi, r600/evergreen+, llvmpipe
|
|
|
|
|
|
|
|
|
|
|
|
GL_ARB_gl_spirv DONE (freedreno, r600)
|
2025-08-11 17:11:43 +02:00
|
|
|
|
GL_ARB_indirect_parameters DONE (freedreno/a6xx+, nvc0, r600/evergreen+)
|
2025-08-11 16:49:07 +02:00
|
|
|
|
GL_ARB_pipeline_statistics_query DONE (freedreno/a6xx+, nvc0, r600, softpipe, crocus/gen6+)
|
|
|
|
|
|
GL_ARB_polygon_offset_clamp DONE (freedreno, nv50, nvc0, r600, v3d, panfrost, crocus)
|
|
|
|
|
|
GL_ARB_shader_atomic_counter_ops DONE (freedreno/a5xx+, nvc0, r600, softpipe, v3d, panfrost)
|
|
|
|
|
|
GL_ARB_shader_draw_parameters DONE (freedreno/a6xx+, nvc0, crocus/gen6+, r600/evergreen+)
|
|
|
|
|
|
GL_ARB_shader_group_vote DONE (freedreno/a6xx, nvc0, crocus, r600)
|
|
|
|
|
|
GL_ARB_spirv_extensions DONE (freedreno, r600)
|
|
|
|
|
|
GL_ARB_texture_filter_anisotropic DONE (etnaviv/HALTI0, freedreno, nv50, nvc0, r600, softpipe, v3d, panfrost/v6+, crocus)
|
|
|
|
|
|
GL_ARB_transform_feedback_overflow_query DONE (freedreno/a6xx+, nvc0, softpipe, crocus/gen6+, r600/evergreen+)
|
2017-10-24 10:34:10 -07:00
|
|
|
|
GL_KHR_no_error DONE (all drivers)
|
2017-07-31 12:27:21 -04:00
|
|
|
|
|
2014-08-11 09:04:47 +10:00
|
|
|
|
These are the extensions cherry-picked to make GLES 3.1
|
2023-05-27 13:09:01 -04:00
|
|
|
|
GLES3.1, GLSL ES 3.1 -- all DONE: freedreno/a5xx+, nvc0, r600, radeonsi, virgl, v3d, softpipe, llvmpipe, zink, panfrost, d3d12, iris, crocus/gen7.5+, asahi
|
2016-05-16 11:26:15 -07:00
|
|
|
|
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
|
2023-05-27 13:09:01 -04:00
|
|
|
|
GL_ARB_draw_indirect DONE (freedreno, crocus/gen7+)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
|
2024-10-09 20:11:44 +02:00
|
|
|
|
GL_ARB_framebuffer_no_attachments DONE (freedreno, softpipe, crocus/gen7+, etnaviv)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_program_interface_query DONE (all drivers)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, crocus/gen7+)
|
|
|
|
|
|
GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, crocus/gen7+)
|
|
|
|
|
|
GL_ARB_shader_image_size DONE (freedreno/a5xx+, crocus/gen7+)
|
|
|
|
|
|
GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, crocus/gen7+)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_shading_language_packing DONE (all drivers)
|
|
|
|
|
|
GL_ARB_separate_shader_objects DONE (all drivers)
|
2023-05-27 13:09:01 -04:00
|
|
|
|
GL_ARB_stencil_texturing DONE (freedreno, nv50)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, nv50, crocus/gen6+)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
|
|
|
|
|
|
GL_ARB_vertex_attrib_binding DONE (all drivers)
|
2023-05-27 13:09:01 -04:00
|
|
|
|
GS5 Enhanced textureGather DONE (freedreno, crocus/gen7+)
|
|
|
|
|
|
GS5 Packing/bitfield/conversion functions DONE (freedreno/a5xx+, crocus/gen6+)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
2014-08-11 09:04:47 +10:00
|
|
|
|
|
2015-09-14 08:50:51 +03:00
|
|
|
|
Additional functionality not covered above:
|
2025-09-01 01:36:04 +02:00
|
|
|
|
Compute shader DONE (crocus/gen7+, v3d)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
glMemoryBarrierByRegion DONE
|
|
|
|
|
|
glGetTexLevelParameter[fi]v - needs updates DONE
|
2015-09-14 08:50:51 +03:00
|
|
|
|
glGetBooleani_v - restrict to GLES enums
|
2025-09-01 01:36:04 +02:00
|
|
|
|
gl_HelperInvocation support DONE (r600, crocus)
|
2014-08-11 15:07:09 -04:00
|
|
|
|
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GLES3.2, GLSL ES 3.2 -- all DONE: freedreno/a6xx, radeonsi, virgl, llvmpipe, zink, iris, crocus/gen7.5+, asahi
|
2016-05-16 11:26:15 -07:00
|
|
|
|
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_EXT_color_buffer_float DONE (all drivers)
|
2025-02-26 16:31:15 +00:00
|
|
|
|
GL_KHR_blend_equation_advanced DONE (freedreno/a6xx, nvc0, panfrost, crocus/gen4.5+, v3d)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_KHR_debug DONE (all drivers)
|
2025-07-04 16:30:18 +02:00
|
|
|
|
GL_KHR_robustness DONE (freedreno, nvc0, panfrost, r600, v3d)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_KHR_texture_compression_astc_ldr DONE (freedreno, r600, v3d, vc4, panfrost, softpipe, lima, crocus/gen6+)
|
2016-07-08 02:44:57 -04:00
|
|
|
|
GL_OES_copy_image DONE (all drivers)
|
2016-03-31 00:48:01 -04:00
|
|
|
|
GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_OES_draw_elements_base_vertex DONE (all drivers)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_OES_geometry_shader DONE (freedreno/a6xx, nvc0, r600, softpipe, v3d)
|
2024-11-22 09:59:51 +01:00
|
|
|
|
GL_OES_gpu_shader5 DONE (freedreno/a6xx, panfrost/v6+, all drivers that support GL_ARB_gpu_shader5)
|
2024-11-21 10:11:30 +01:00
|
|
|
|
GL_OES_primitive_bounding_box DONE (freedreno/a5xx+, nvc0, r600, softpipe, v3d, panfrost)
|
2024-11-22 09:59:51 +01:00
|
|
|
|
GL_OES_sample_shading DONE (freedreno/a6xx, nvc0, r600, panfrost/v6+, d3d12)
|
2024-11-22 10:29:36 +01:00
|
|
|
|
GL_OES_sample_variables DONE (freedreno/a6xx, nvc0, r600, panfrost/v6+, crocus/gen7+)
|
2024-11-22 09:07:06 +01:00
|
|
|
|
GL_OES_shader_image_atomic DONE (All drivers that support GLES 3.1)
|
2016-11-08 10:10:35 -08:00
|
|
|
|
GL_OES_shader_io_blocks DONE (All drivers that support GLES 3.1)
|
2024-11-22 09:59:51 +01:00
|
|
|
|
GL_OES_shader_multisample_interpolation DONE (freedreno/a6xx, nvc0, r600, panfrost/v6+)
|
2020-06-03 12:50:15 -07:00
|
|
|
|
GL_OES_tessellation_shader DONE (freedreno/a6xx, all drivers that support GL_ARB_tessellation_shader)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
GL_OES_texture_border_clamp DONE (all drivers)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_OES_texture_buffer DONE (freedreno, nvc0, r600, softpipe, panfrost, crocus/gen6+)
|
|
|
|
|
|
GL_OES_texture_cube_map_array DONE (freedreno/a4xx+, nvc0, r600, softpipe)
|
2016-03-15 16:14:09 -04:00
|
|
|
|
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)
|
2015-08-12 15:07:57 +02:00
|
|
|
|
|
2016-05-31 16:04:00 -07:00
|
|
|
|
Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES version:
|
|
|
|
|
|
|
2021-09-26 21:25:34 -04:00
|
|
|
|
GL_ARB_bindless_texture DONE (nvc0, radeonsi, zink)
|
2016-05-31 16:04:00 -07:00
|
|
|
|
GL_ARB_cl_event not started
|
2025-04-04 14:45:00 +02:00
|
|
|
|
GL_ARB_compute_variable_group_size DONE (freedreno/a4xx+, nvc0, radeonsi, zink, iris, crocus/gen7+, asahi, r600)
|
2025-08-11 16:49:07 +02:00
|
|
|
|
GL_ARB_ES3_2_compatibility DONE (freedreno/a6xx, llvmpipe, radeonsi, virgl, zink, iris, crocus/gen7.5+, asahi)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_fragment_shader_interlock DONE (zink, iris/gen9+)
|
2024-02-14 11:22:57 -04:00
|
|
|
|
GL_ARB_gpu_shader_int64 DONE (freedreno/a6xx, nvc0, radeonsi, softpipe, llvmpipe, zink, d3d12, iris, crocus/gen8, asahi)
|
2025-08-11 17:11:43 +02:00
|
|
|
|
GL_ARB_parallel_shader_compile DONE (freedreno, llvmpipe, radeonsi, etnaviv, virgl, zink, iris, crocus/gen6+, asahi)
|
2023-08-30 17:57:11 -07:00
|
|
|
|
GL_ARB_post_depth_coverage DONE (freedreno/a6xx, nvc0, radeonsi, llvmpipe, zink, iris/gen9+)
|
2016-05-31 16:04:00 -07:00
|
|
|
|
GL_ARB_robustness_isolation not started
|
2023-08-30 18:22:31 -07:00
|
|
|
|
GL_ARB_sample_locations DONE (freedreno/a6xx, nvc0, zink)
|
2025-08-11 16:49:07 +02:00
|
|
|
|
GL_ARB_seamless_cubemap_per_texture DONE (etnaviv/SEAMLESS_CUBE_MAP, freedreno, nvc0, r600, radeonsi, softpipe, llvmpipe, virgl, zink, asahi, iris, crocus)
|
|
|
|
|
|
GL_ARB_shader_ballot DONE (llvmpipe, nvc0, radeonsi, zink, iris, crocus/gen8, d3d12, asahi)
|
2025-06-05 11:21:22 +01:00
|
|
|
|
GL_ARB_shader_clock DONE (freedreno/a6xx, nv50, nvc0, r600, radeonsi, llvmpipe, virgl, panfrost/v6+, zink, iris, crocus/gen7+)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_ARB_shader_stencil_export DONE (r600, radeonsi, softpipe, llvmpipe, virgl, panfrost, zink, asahi, iris/gen9+)
|
2025-08-11 16:49:07 +02:00
|
|
|
|
GL_ARB_shader_viewport_layer_array DONE (freedreno/a6xx, llvmpipe, nvc0, radeonsi, zink, iris, crocus/gen6+, asahi)
|
2019-08-14 10:29:01 +10:00
|
|
|
|
GL_ARB_shading_language_include DONE
|
2021-12-10 21:59:58 +08:00
|
|
|
|
GL_ARB_sparse_buffer DONE (radeonsi/gfx9+, zink)
|
2022-01-20 10:49:02 -05:00
|
|
|
|
GL_ARB_sparse_texture DONE (radeonsi/gfx9+, zink)
|
|
|
|
|
|
GL_ARB_sparse_texture2 DONE (radeonsi/gfx9+, zink)
|
2022-02-01 12:20:51 -05:00
|
|
|
|
GL_ARB_sparse_texture_clamp DONE (radeonsi/gfx9+, zink)
|
2025-08-11 16:49:07 +02:00
|
|
|
|
GL_ARB_texture_filter_minmax DONE (freedreno/a6xx, llvmpipe, nvc0/gm200+, zink)
|
2021-09-01 23:25:16 +03:00
|
|
|
|
GL_ARM_shader_framebuffer_fetch_depth_stencil DONE (llvmpipe)
|
2025-02-26 16:31:15 +00:00
|
|
|
|
GL_EXT_shader_framebuffer_fetch DONE (freedreno/a6xx, iris/gen9+, llvmpipe, panfrost, virgl, zink, asahi, v3d)
|
|
|
|
|
|
GL_EXT_shader_framebuffer_fetch_non_coherent DONE (freedreno/a6xx, iris, llvmpipe, panfrost, virgl, zink, asahi, v3d)
|
2025-01-16 10:22:00 +01:00
|
|
|
|
GL_EXT_clear_texture DONE (all drivers)
|
2025-08-11 17:11:43 +02:00
|
|
|
|
GL_EXT_color_buffer_half_float DONE (freedreno, iris, llvmpipe, nv50, nvc0, radeonsi, virgl, zink, crocus, asahi)
|
2025-01-28 07:27:07 +02:00
|
|
|
|
GL_EXT_conservative_depth DONE (all drivers that support GLES 3.0+)
|
2023-08-30 19:51:33 -07:00
|
|
|
|
GL_EXT_depth_bounds_test DONE (freedreno/a6xx, nv50, nvc0, radeonsi, softpipe, zink, iris/gen12+)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_EXT_memory_object DONE (freedreno, radeonsi, llvmpipe, zink, d3d12, iris, crocus/gen7+)
|
|
|
|
|
|
GL_EXT_memory_object_fd DONE (freedreno, radeonsi, llvmpipe, zink, iris, crocus/gen7+)
|
2022-07-13 13:05:54 -07:00
|
|
|
|
GL_EXT_memory_object_win32 DONE (zink, d3d12)
|
2023-06-15 02:48:48 +09:00
|
|
|
|
GL_EXT_multisampled_render_to_texture DONE (freedreno/a6xx, panfrost, zink, lima)
|
2025-01-16 10:22:00 +01:00
|
|
|
|
GL_EXT_polygon_offset_clamp DONE (all drivers that support GL_ARB_polygon_offset_clamp)
|
2025-08-11 17:11:43 +02:00
|
|
|
|
GL_EXT_render_snorm DONE (freedreno/a6xx, r600, radeonsi, softpipe, llvmpipe, virgl, zink, panfrost/v6+, iris, asahi)
|
2022-09-08 11:35:01 +03:00
|
|
|
|
GL_EXT_semaphore DONE (radeonsi, zink, d3d12, iris, crocus)
|
|
|
|
|
|
GL_EXT_semaphore_fd DONE (radeonsi, zink, iris, crocus)
|
2022-07-13 13:05:54 -07:00
|
|
|
|
GL_EXT_semaphore_win32 DONE (zink, d3d12)
|
2025-06-19 09:17:42 +01:00
|
|
|
|
GL_EXT_shader_clock DONE (all drivers that support GL_ARB_shader_clock)
|
2021-07-05 17:44:03 -04:00
|
|
|
|
GL_EXT_shader_group_vote DONE (all drivers that support GL_ARB_shader_group_vote)
|
2025-06-12 10:48:29 +01:00
|
|
|
|
GL_EXT_shader_realtime_clock DONE (panfrost/v6+)
|
2019-04-11 09:18:37 +02:00
|
|
|
|
GL_EXT_sRGB_write_control DONE (all drivers that support GLES 3.0+)
|
2024-08-08 00:52:16 -04:00
|
|
|
|
GL_EXT_texture_compression_astc_decode_mode DONE (panfrost)
|
2025-08-11 17:11:43 +02:00
|
|
|
|
GL_EXT_texture_norm16 DONE (freedreno, r600, radeonsi, nvc0i, softpipe, llvmpipe, virgl, zink, iris, crocus)
|
2019-04-27 17:02:21 -04:00
|
|
|
|
GL_EXT_texture_sRGB_R8 DONE (all drivers that support GLES 3.0+)
|
2025-01-16 10:22:00 +01:00
|
|
|
|
GL_EXT_texture_view DONE (all drivers that support GL_OES_texture_view)
|
2025-08-11 16:49:07 +02:00
|
|
|
|
GL_KHR_blend_equation_advanced_coherent DONE (freedreno/a6xx, llvmpipe, panfrost, zink, asahi, iris/gen9+, v3d)
|
2025-08-11 17:11:43 +02:00
|
|
|
|
GL_KHR_robust_buffer_access_behavior DONE (panfrost, llvmpipe, virgl)
|
2025-08-07 13:42:37 -04:00
|
|
|
|
GL_KHR_shader_subgroup DONE (radeonsi, zink, asahi)
|
2025-05-27 12:03:52 -04:00
|
|
|
|
GL_KHR_texture_compression_astc_hdr DONE (panfrost, asahi)
|
2025-08-11 17:11:43 +02:00
|
|
|
|
GL_KHR_texture_compression_astc_sliced_3d DONE (freedreno/a4xx+, r600, radeonsi, panfrost, softpipe, llvmpipe, v3d, virgl, zink, lima, asahi, iris/gen9+)
|
2016-05-31 16:04:00 -07:00
|
|
|
|
GL_OES_depth_texture_cube_map DONE (all drivers that support GLSL 1.30+)
|
|
|
|
|
|
GL_OES_EGL_image DONE (all drivers)
|
2018-06-14 14:08:09 +03:00
|
|
|
|
GL_OES_EGL_image_external DONE (all drivers)
|
|
|
|
|
|
GL_OES_EGL_image_external_essl3 DONE (all drivers)
|
2017-05-01 09:28:33 -07:00
|
|
|
|
GL_OES_required_internalformat DONE (all drivers)
|
2016-05-31 16:04:00 -07:00
|
|
|
|
GL_OES_surfaceless_context DONE (all drivers)
|
|
|
|
|
|
GL_OES_texture_compression_astc DONE (core only)
|
2025-08-11 17:11:43 +02:00
|
|
|
|
GL_OES_texture_float DONE (freedreno, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, virgl, zink, asahi, iris, crocus)
|
|
|
|
|
|
GL_OES_texture_float_linear DONE (freedreno, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, virgl, zink, asahi, iris, crocus)
|
|
|
|
|
|
GL_OES_texture_half_float DONE (freedreno, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, virgl, zink, lima, asahi, iris, crocus, etnaviv/HALF_FLOAT)
|
|
|
|
|
|
GL_OES_texture_half_float_linear DONE (freedreno, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, virgl, zink, lima, asahi, iris, crocus, etnaviv/HALF_FLOAT)
|
|
|
|
|
|
GL_OES_texture_view DONE (freedreno, r600, radeonsi, nv50, nvc0, softpipe, llvmpipe, panfrost, v3d, virgl, zink, iris, crocus/gen7+, d3d12)
|
|
|
|
|
|
GL_OES_viewport_array DONE (freedreno/a6xx, nvc0, r600, radeonsi, softpipe, llvmpipe, virgl, zink, iris, crocus/gen7.5+, asahi)
|
2025-08-11 16:49:07 +02:00
|
|
|
|
GL_OVR_multiview DONE (llvmpipe, zink)
|
|
|
|
|
|
GL_OVR_multiview2 DONE (llvmpipe, zink)
|
2024-09-18 13:05:56 -04:00
|
|
|
|
GL_OVR_multiview_multisampled_render_to_texture DONE (zink)
|
2022-07-26 13:22:57 -04:00
|
|
|
|
GLX_ARB_context_flush_control DONE (all drivers)
|
2016-05-31 16:04:00 -07:00
|
|
|
|
GLX_ARB_robustness_application_isolation not started
|
|
|
|
|
|
GLX_ARB_robustness_share_group_isolation not started
|
|
|
|
|
|
|
2018-09-17 23:30:32 -04:00
|
|
|
|
GL_EXT_direct_state_access subfeatures (in the spec order):
|
2019-11-06 10:30:13 +01:00
|
|
|
|
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
|
2018-09-17 23:30:32 -04:00
|
|
|
|
GL_NV_gpu_program4 n/a
|
|
|
|
|
|
GL_NV_framebuffer_multisample_coverage n/a
|
2019-11-06 10:30:13 +01:00
|
|
|
|
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
|
2018-09-17 23:30:32 -04:00
|
|
|
|
GL_NV_explicit_multisample n/a
|
2019-11-06 10:30:13 +01:00
|
|
|
|
GL 3.0: Vertex array/attrib/query/map commands DONE
|
|
|
|
|
|
Matrix GL tokens DONE
|
2018-09-17 23:30:32 -04:00
|
|
|
|
|
|
|
|
|
|
GL_EXT_direct_state_access additions from other extensions (complete list):
|
|
|
|
|
|
GL_AMD_framebuffer_sample_positions n/a
|
2019-11-06 10:30:13 +01:00
|
|
|
|
GL_AMD_gpu_shader_int64 n/a (not enabled in compat profile)
|
|
|
|
|
|
GL_ARB_bindless_texture DONE
|
|
|
|
|
|
GL_ARB_buffer_storage DONE
|
2019-11-05 15:37:12 +01:00
|
|
|
|
GL_ARB_clear_buffer_object DONE
|
2019-11-05 14:47:53 +01:00
|
|
|
|
GL_ARB_framebuffer_no_attachments DONE
|
2019-11-06 10:57:53 +01:00
|
|
|
|
GL_ARB_gpu_shader_fp64 DONE
|
2019-11-06 12:16:30 +01:00
|
|
|
|
GL_ARB_instanced_arrays DONE
|
2019-11-06 10:30:13 +01:00
|
|
|
|
GL_ARB_internalformat_query2 DONE
|
2018-09-17 23:30:32 -04:00
|
|
|
|
GL_ARB_sparse_texture n/a
|
2019-11-07 14:25:19 +01:00
|
|
|
|
GL_ARB_sparse_buffer DONE
|
2019-11-06 14:04:55 +01:00
|
|
|
|
GL_ARB_texture_buffer_range DONE
|
2019-11-06 10:30:13 +01:00
|
|
|
|
GL_ARB_texture_storage DONE
|
2019-11-06 15:42:10 +01:00
|
|
|
|
GL_ARB_texture_storage_multisample DONE
|
2019-11-05 15:04:52 +01:00
|
|
|
|
GL_ARB_vertex_attrib_64bit DONE
|
2019-11-06 10:30:13 +01:00
|
|
|
|
GL_ARB_vertex_attrib_binding DONE
|
|
|
|
|
|
GL_EXT_buffer_storage DONE
|
|
|
|
|
|
GL_EXT_external_buffer n/a
|
2018-09-17 23:30:32 -04:00
|
|
|
|
GL_EXT_separate_shader_objects n/a
|
|
|
|
|
|
GL_EXT_sparse_texture n/a
|
2024-01-23 17:41:21 +01:00
|
|
|
|
GL_EXT_texture_storage DONE
|
2019-11-05 15:04:52 +01:00
|
|
|
|
GL_EXT_vertex_attrib_64bit DONE
|
2018-09-17 23:30:32 -04:00
|
|
|
|
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
|
|
|
|
|
|
|
2016-05-31 16:04:00 -07:00
|
|
|
|
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
|
|
|
|
|
|
|
2025-05-22 10:43:41 -04:00
|
|
|
|
Vulkan 1.0 -- all DONE: anv, dzn, hk, lvp, nvk, panvk, radv, tu, v3dv, vn
|
2021-04-19 23:36:19 +02:00
|
|
|
|
|
2025-05-22 10:43:41 -04:00
|
|
|
|
Vulkan 1.1 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, radv, tu, vn
|
2021-04-19 23:36:19 +02:00
|
|
|
|
|
2024-10-30 13:38:25 +01:00
|
|
|
|
VK_KHR_16bit_storage DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu/a650+, v3dv, vn)
|
2024-09-19 16:44:31 +02:00
|
|
|
|
VK_KHR_bind_memory2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-12-03 19:44:09 +01:00
|
|
|
|
VK_KHR_dedicated_allocation DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-03-13 12:04:53 +00:00
|
|
|
|
VK_KHR_descriptor_update_template DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-05-27 08:57:57 +02:00
|
|
|
|
VK_KHR_device_group DONE (anv, dzn, hasvk, lvp, nvk, panvk, tu, v3dv, vn)
|
2024-10-03 10:50:31 +02:00
|
|
|
|
VK_KHR_device_group_creation DONE (anv, dzn, hasvk, lvp, nvk, panvk, tu, v3dv, vn)
|
2024-10-03 10:52:40 +02:00
|
|
|
|
VK_KHR_external_fence DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_KHR_external_fence_capabilities DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-10-03 10:40:13 +02:00
|
|
|
|
VK_KHR_external_memory DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_KHR_external_memory_capabilities DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-10-03 10:38:32 +02:00
|
|
|
|
VK_KHR_external_semaphore DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_KHR_external_semaphore_capabilities DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-09-19 15:43:16 +02:00
|
|
|
|
VK_KHR_get_memory_requirements2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2023-07-27 16:01:31 -05:00
|
|
|
|
VK_KHR_get_physical_device_properties2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2023-11-22 09:51:06 +00:00
|
|
|
|
VK_KHR_maintenance1 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2023-08-30 09:28:57 +01:00
|
|
|
|
VK_KHR_maintenance2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-01-09 15:08:32 +00:00
|
|
|
|
VK_KHR_maintenance3 DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-10-16 22:54:14 -07:00
|
|
|
|
VK_KHR_multiview DONE (anv, dzn, hasvk, lvp, nvk, panvk/v10+, radv, tu, v3dv, vn)
|
2024-09-19 16:40:35 +02:00
|
|
|
|
VK_KHR_relaxed_block_layout DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2024-11-27 19:19:59 -08:00
|
|
|
|
VK_KHR_sampler_ycbcr_conversion DONE (anv, hasvk, lvp, nvk, panvk/v10+, radv, tu, v3dv, vn)
|
2025-07-16 15:11:18 +02:00
|
|
|
|
VK_KHR_shader_draw_parameters DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, vn)
|
2023-07-27 16:01:31 -05:00
|
|
|
|
VK_KHR_storage_buffer_storage_class DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2023-08-02 07:26:10 -05:00
|
|
|
|
VK_KHR_variable_pointers DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2021-04-19 23:36:19 +02:00
|
|
|
|
|
2025-06-13 12:44:22 +02:00
|
|
|
|
Vulkan 1.2 -- all DONE: anv, hk, nvk, panvk/v10+, tu, vn
|
2021-04-19 23:36:19 +02:00
|
|
|
|
|
2025-07-16 15:11:18 +02:00
|
|
|
|
VK_KHR_8bit_storage DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu/a750+, v3dv, vn)
|
2025-09-16 13:55:35 +02:00
|
|
|
|
VK_KHR_buffer_device_address DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2024-10-29 15:13:27 +01:00
|
|
|
|
VK_KHR_create_renderpass2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-01-22 01:36:35 -08:00
|
|
|
|
VK_KHR_depth_stencil_resolve DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-04-16 23:30:17 -07:00
|
|
|
|
VK_KHR_draw_indirect_count DONE (anv, dzn, hasvk, lvp, nvk, panvk/v10+, radv, tu, vn)
|
2024-12-09 14:40:26 +00:00
|
|
|
|
VK_KHR_driver_properties DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-10-10 17:01:03 -07:00
|
|
|
|
VK_KHR_image_format_list DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2023-11-21 10:05:51 +00:00
|
|
|
|
VK_KHR_imageless_framebuffer DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-06-26 10:18:39 +02:00
|
|
|
|
VK_KHR_sampler_mirror_clamp_to_edge DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-04-10 10:12:13 +01:00
|
|
|
|
VK_KHR_separate_depth_stencil_layouts DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-07-11 09:54:32 +01:00
|
|
|
|
VK_KHR_shader_atomic_int64 DONE (anv, lvp, nvk, panvk/v10+, radv, vn, tu/a740+)
|
2025-07-16 15:11:18 +02:00
|
|
|
|
VK_KHR_shader_float16_int8 DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, vn)
|
2025-05-15 11:18:13 +01:00
|
|
|
|
VK_KHR_shader_float_controls DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-04-01 11:35:51 +02:00
|
|
|
|
VK_KHR_shader_subgroup_extended_types DONE (anv, hasvk, lvp, nvk, panvk/v10+, radv, tu, vn)
|
2025-04-14 22:44:46 +02:00
|
|
|
|
VK_KHR_spirv_1_4 DONE (anv, dzn, hasvk, lvp, nvk, panvk/v10+, radv, tu, v3dv, vn)
|
2024-11-01 08:23:00 +01:00
|
|
|
|
VK_KHR_timeline_semaphore DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-02-11 14:48:29 +00:00
|
|
|
|
VK_KHR_uniform_buffer_standard_layout DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-06-12 17:26:59 +02:00
|
|
|
|
VK_KHR_vulkan_memory_model DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-06-08 17:44:57 -07:00
|
|
|
|
VK_EXT_descriptor_indexing DONE (anv, dzn, lvp, nvk, panvk/v10+, radv, tu, vn)
|
2024-10-21 18:38:47 +02:00
|
|
|
|
VK_EXT_host_query_reset DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-11-19 11:15:58 +01:00
|
|
|
|
VK_EXT_sampler_filter_minmax DONE (anv, lvp, nvk, panvk/v10+, radv, tu, vn)
|
2025-06-02 11:01:16 +02:00
|
|
|
|
VK_EXT_scalar_block_layout DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, vn, v3dv/vc7+)
|
2023-09-18 11:18:25 +01:00
|
|
|
|
VK_EXT_separate_stencil_usage DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2023-07-27 16:01:31 -05:00
|
|
|
|
VK_EXT_shader_viewport_index_layer DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
2020-08-10 13:31:29 +01:00
|
|
|
|
|
2025-06-13 12:44:22 +02:00
|
|
|
|
Vulkan 1.3 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, radv, tu, vn, v3dv
|
2022-01-25 15:05:54 +02:00
|
|
|
|
|
2023-06-08 09:28:56 +01:00
|
|
|
|
VK_KHR_copy_commands2 DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-10-05 12:29:26 +02:00
|
|
|
|
VK_KHR_dynamic_rendering DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-04-15 12:57:43 -07:00
|
|
|
|
VK_KHR_format_feature_flags2 DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-04-22 10:21:23 +02:00
|
|
|
|
VK_KHR_maintenance4 DONE (anv, hasvk, lvp, nvk, panvk/v10+, radv, tu, v3dv, vn)
|
2025-04-23 12:14:41 +02:00
|
|
|
|
VK_KHR_shader_integer_dot_product DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2024-11-14 08:51:32 +01:00
|
|
|
|
VK_KHR_shader_non_semantic_info DONE (anv, hasvk, nvk, panvk, radv, tu, v3dv, vn)
|
2025-04-29 15:56:15 +02:00
|
|
|
|
VK_KHR_shader_terminate_invocation DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2023-11-16 18:46:12 -06:00
|
|
|
|
VK_KHR_synchronization2 DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2024-11-14 08:43:44 +01:00
|
|
|
|
VK_KHR_zero_initialize_workgroup_memory DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2024-12-09 14:46:43 +01:00
|
|
|
|
VK_EXT_4444_formats DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-03-13 11:59:05 +00:00
|
|
|
|
VK_EXT_extended_dynamic_state DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-04-23 16:39:13 +02:00
|
|
|
|
VK_EXT_extended_dynamic_state2 DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-05-27 08:45:21 +00:00
|
|
|
|
VK_EXT_inline_uniform_block DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2024-05-13 10:40:34 +02:00
|
|
|
|
VK_EXT_pipeline_creation_cache_control DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_EXT_pipeline_creation_feedback DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2024-07-03 16:50:55 +02:00
|
|
|
|
VK_EXT_private_data DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-11-25 17:56:53 +01:00
|
|
|
|
VK_EXT_image_robustness DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-04-29 15:56:15 +02:00
|
|
|
|
VK_EXT_shader_demote_to_helper_invocation DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-09-16 13:55:35 +02:00
|
|
|
|
VK_EXT_subgroup_size_control DONE (anv, dzn, hasvk, lvp, nvk, panvk/v10+, radv, tu, v3dv, vn)
|
2025-05-05 21:23:52 +02:00
|
|
|
|
VK_EXT_texel_buffer_alignment DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-05-05 22:52:29 +02:00
|
|
|
|
VK_EXT_texture_compression_astc_hdr DONE (panvk, vn)
|
2023-11-18 16:09:17 +01:00
|
|
|
|
VK_EXT_tooling_info DONE (anv, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-09-04 12:41:12 +02:00
|
|
|
|
VK_EXT_ycbcr_2plane_444_formats DONE (anv, lvp, nvk, panvk/v10+, radv, vn)
|
2022-01-25 15:05:54 +02:00
|
|
|
|
|
2025-06-13 19:18:30 -07:00
|
|
|
|
Vulkan 1.4 -- all DONE: anv, hk, lvp, nvk, panvk/v10+, radv/gfx8+, tu/a7xx+, vn
|
2024-12-30 07:46:32 +01:00
|
|
|
|
|
2025-04-15 15:41:20 +02:00
|
|
|
|
VK_KHR_dynamic_rendering_local_read DONE (anv, lvp, nvk, panvk, radv, tu, vn)
|
2025-02-17 01:58:33 -08:00
|
|
|
|
VK_KHR_global_priority DONE (anv, lvp, nvk, panvk, radv, tu, vn)
|
2025-02-14 18:57:09 -08:00
|
|
|
|
VK_KHR_index_type_uint8 DONE (anv, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-02-27 15:28:32 +01:00
|
|
|
|
VK_KHR_line_rasterization DONE (anv, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-04-15 22:56:58 -07:00
|
|
|
|
VK_KHR_load_store_op_none DONE (anv, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-04-22 13:49:54 +02:00
|
|
|
|
VK_KHR_maintenance5 DONE (anv, lvp, nvk, panvk/v10+, radv, tu, v3dv, vn)
|
2025-06-13 14:58:39 -07:00
|
|
|
|
VK_KHR_maintenance6 DONE (anv, lvp, nvk, panvk/v10+, radv, tu, vn)
|
2025-02-17 00:15:15 -08:00
|
|
|
|
VK_KHR_map_memory2 DONE (anv, lvp, nvk, panvk, radv, tu, vn)
|
2024-12-30 07:46:32 +01:00
|
|
|
|
VK_KHR_push_descriptor DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, vn)
|
|
|
|
|
|
VK_KHR_shader_expect_assume DONE (anv, dzn, hasvk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-04-15 15:37:48 +02:00
|
|
|
|
VK_KHR_shader_float_controls2 DONE (anv, lvp, nvk, panvk/v10+, radv, tu, vn)
|
2025-03-06 13:47:20 +01:00
|
|
|
|
VK_KHR_shader_subgroup_rotate DONE (anv, lvp, nvk, panvk, radv, tu, vn)
|
2024-04-23 08:46:39 +01:00
|
|
|
|
VK_KHR_vertex_attribute_divisor DONE (anv, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-06-27 23:24:04 -07:00
|
|
|
|
VK_EXT_host_image_copy DONE (anv, lvp, nvk/Turing+, panvk, radv/gfx10+, tu, vn)
|
2025-02-16 17:06:54 -08:00
|
|
|
|
VK_EXT_pipeline_protected_access DONE (anv/gfx12+, vn)
|
2025-02-16 17:23:11 -08:00
|
|
|
|
VK_EXT_pipeline_robustness DONE (anv, lvp, nvk, panvk, radv, v3dv, tu, vn)
|
2024-12-30 07:46:32 +01:00
|
|
|
|
|
2020-08-10 13:31:29 +01:00
|
|
|
|
Khronos extensions that are not part of any Vulkan version:
|
|
|
|
|
|
|
2025-03-02 00:04:34 -08:00
|
|
|
|
VK_KHR_acceleration_structure DONE (anv/gfx12.5+, lvp, radv/gfx10.3+, tu/a740+, vn)
|
2020-08-10 13:31:29 +01:00
|
|
|
|
VK_KHR_android_surface not started
|
2025-05-07 09:17:30 +00:00
|
|
|
|
VK_KHR_calibrated_timestamps DONE (anv, hk, nvk, panvk/v10+, radv, tu/a750+, vn)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_KHR_compute_shader_derivatives DONE (anv, lvp, nvk, radv, tu/a7xx+, vn)
|
2025-09-16 13:57:51 +02:00
|
|
|
|
VK_KHR_cooperative_matrix DONE (anv, nvk/Turing+, radv/gfx11+)
|
2025-08-24 12:13:41 +05:30
|
|
|
|
VK_KHR_depth_clamp_zero_one DONE (anv, nvk, panvk, radv, vn)
|
2025-09-16 13:58:02 +02:00
|
|
|
|
VK_KHR_deferred_host_operations DONE (anv, hasvk, lvp, radv, tu, vn)
|
2025-03-06 13:31:30 +01:00
|
|
|
|
VK_KHR_display DONE (anv, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2020-08-10 13:31:29 +01:00
|
|
|
|
VK_KHR_display_swapchain not started
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_KHR_external_fence_fd DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2018-07-11 16:03:37 -07:00
|
|
|
|
VK_KHR_external_fence_win32 not started
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_KHR_external_memory_fd DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2023-05-15 09:18:08 -07:00
|
|
|
|
VK_KHR_external_memory_win32 DONE (dzn)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_KHR_external_semaphore_fd DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2023-05-15 09:18:08 -07:00
|
|
|
|
VK_KHR_external_semaphore_win32 DONE (dzn)
|
2025-09-16 12:24:59 +02:00
|
|
|
|
VK_KHR_fragment_shader_barycentric DONE (anv/gfx20+, nvk/Turing+, radv/gfx10.3+, vn)
|
2024-11-01 13:53:47 +01:00
|
|
|
|
VK_KHR_fragment_shading_rate DONE (anv/gen11+, nvk/Turing+, radv/gfx10.3+, tu/a7xx+, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_KHR_get_display_properties2 DONE (anv, hk, nvk, pvr, radv, tu, v3dv, vn)
|
2025-09-16 13:55:35 +02:00
|
|
|
|
VK_KHR_get_surface_capabilities2 DONE (anv, dzn, hk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_KHR_incremental_present DONE (anv, hasvk, hk, lvp, nvk, radv, tu, v3dv, vn)
|
2025-08-25 13:56:35 +02:00
|
|
|
|
VK_KHR_maintenance7 DONE (anv, hk, lvp, nvk, panvk/v10+, radv, tu, vn)
|
2025-08-25 14:14:28 +02:00
|
|
|
|
VK_KHR_maintenance8 DONE (anv, hk, lvp, nvk, panvk/v10+, radv, tu)
|
2025-09-14 21:08:25 +02:00
|
|
|
|
VK_KHR_maintenance9 DONE (anv, hk, lvp, nvk, panvk, radv)
|
2024-01-28 21:21:32 +02:00
|
|
|
|
VK_KHR_performance_query DONE (anv, radv/gfx10.3+, tu, v3dv)
|
2024-04-15 11:11:50 +02:00
|
|
|
|
VK_KHR_pipeline_binary DONE (radv)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_KHR_pipeline_executable_properties DONE (anv, hk, nvk, panvk, hasvk, radv, tu, v3dv)
|
|
|
|
|
|
VK_KHR_pipeline_library DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn)
|
2025-08-18 21:47:19 -07:00
|
|
|
|
VK_KHR_present_id DONE (anv, nvk, radv, tu, vn)
|
|
|
|
|
|
VK_KHR_present_id2 DONE (anv, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_KHR_present_wait DONE (anv, nvk, radv, tu, vn)
|
|
|
|
|
|
VK_KHR_present_wait2 DONE (anv, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-03-05 00:30:13 -08:00
|
|
|
|
VK_KHR_ray_query DONE (anv/gfx12.5+, lvp, radv/gfx10.3+, tu/a740+, vn)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_KHR_ray_tracing_maintenance1 DONE (anv/gfx12.5+, lvp, radv/gfx10.3+, tu/a740+, vn)
|
2025-03-05 14:49:35 -08:00
|
|
|
|
VK_KHR_ray_tracing_pipeline DONE (anv/gfx12.5+, lvp, radv/gfx10.3+, vn)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_KHR_ray_tracing_position_fetch DONE (anv, lvp, radv/gfx10.3+, vn)
|
2025-04-30 12:21:53 +02:00
|
|
|
|
VK_KHR_shader_bfloat16 DONE (anv/gfx12.5+, radv/gfx12+)
|
2025-06-12 10:33:48 +01:00
|
|
|
|
VK_KHR_shader_clock DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_KHR_shader_maximal_reconvergence DONE (anv, hk, lvp, nvk, panvk/v10+, radv, vn)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_KHR_shader_relaxed_extended_instruction DONE (anv, hasvk, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, hasvk, hk, nvk, panvk/v10+, radv, tu, vn)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_KHR_shader_quad_control DONE (anv, hk, lvp, nvk, panvk/v10+, radv, vn)
|
2025-05-07 16:41:55 +02:00
|
|
|
|
VK_KHR_shader_untyped_pointers DONE (anv, nvk, radv)
|
2017-07-31 14:32:04 -07:00
|
|
|
|
VK_KHR_shared_presentable_image not started
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_KHR_surface DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_KHR_surface_protected_capabilities DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_KHR_swapchain DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2023-09-08 08:04:58 +01:00
|
|
|
|
VK_KHR_swapchain_mutable_format DONE (anv, hasvk, hk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
2025-07-23 05:25:56 +09:00
|
|
|
|
VK_KHR_unified_image_layouts DONE (lvp, nvk, panvk, radv/gfx11+, tu)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_KHR_wayland_surface DONE (anv, dzn, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_KHR_workgroup_memory_explicit_layout DONE (anv, hk, lvp, nvk, hasvk, radv, tu, v3dv, vn)
|
2017-07-31 14:32:04 -07:00
|
|
|
|
VK_KHR_win32_keyed_mutex not started
|
2022-07-28 19:32:40 +01:00
|
|
|
|
VK_KHR_win32_surface DONE (dzn, lvp)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_KHR_xcb_surface DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_KHR_xlib_surface DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_EXT_acquire_xlib_display DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-03-10 15:20:14 -07:00
|
|
|
|
VK_EXT_attachment_feedback_loop_dynamic_state DONE (anv, lvp, radv, tu, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_attachment_feedback_loop_layout DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn)
|
2025-02-12 00:06:41 -08:00
|
|
|
|
VK_EXT_blend_operation_advanced DONE (vn)
|
2023-06-29 11:47:53 +01:00
|
|
|
|
VK_EXT_border_color_swizzle DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv/gfx10+, tu, v3dv, vn)
|
2025-09-16 13:55:35 +02:00
|
|
|
|
VK_EXT_buffer_device_address DONE (anv, dzn/sm6.6+, hasvk, hk, nvk, panvk, radv, vn)
|
2025-05-07 09:17:30 +00:00
|
|
|
|
VK_EXT_calibrated_timestamps DONE (anv, hasvk, hk, nvk, panvk/v10+, lvp, radv, vn, tu/a750+)
|
2025-03-06 11:31:46 +00:00
|
|
|
|
VK_EXT_color_write_enable DONE (anv, hasvk, hk, lvp, nvk, pvr, radv, tu, v3dv, vn)
|
2023-07-23 17:10:27 +02:00
|
|
|
|
VK_EXT_conditional_rendering DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
2025-01-21 22:47:10 -05:00
|
|
|
|
VK_EXT_conservative_rasterization DONE (anv, nvk, radv, vn, tu/a7xx+)
|
2023-06-29 11:47:53 +01:00
|
|
|
|
VK_EXT_custom_border_color DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2021-04-19 23:36:19 +02:00
|
|
|
|
VK_EXT_debug_marker DONE (radv)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_debug_report DONE (anv, dzn, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_EXT_debug_utils DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2023-11-19 22:09:15 +01:00
|
|
|
|
VK_EXT_depth_bias_control DONE (anv, hk, lvp, nvk, panvk, radv, vn)
|
2025-03-10 15:16:08 -07:00
|
|
|
|
VK_EXT_depth_clamp_control DONE (anv, hasvk, nvk, radv, vn)
|
2025-05-28 21:14:52 -07:00
|
|
|
|
VK_EXT_depth_clip_control DONE (anv, hasvk, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2024-04-11 10:22:38 +01:00
|
|
|
|
VK_EXT_depth_clip_enable DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv/vc7+, vn)
|
2025-02-26 16:03:48 -08:00
|
|
|
|
VK_EXT_depth_range_unrestricted DONE (anv/gen20+, nvk, radv, lvp, vn)
|
2024-08-12 21:57:16 +02:00
|
|
|
|
VK_EXT_descriptor_buffer DONE (anv, lvp, nvk, radv, tu)
|
2024-06-23 15:49:36 +00:00
|
|
|
|
VK_EXT_device_address_binding_report DONE (radv, tu)
|
2023-12-12 09:17:41 +01:00
|
|
|
|
VK_EXT_device_fault DONE (radv)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_EXT_device_generated_commands DONE (lvp, nvk/Turing+, radv/gfx8+)
|
2025-02-17 16:04:21 +00:00
|
|
|
|
VK_EXT_device_memory_report DONE (anv, radv, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_direct_mode_display DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2021-04-19 23:36:19 +02:00
|
|
|
|
VK_EXT_discard_rectangles DONE (radv)
|
2025-03-13 00:02:02 -07:00
|
|
|
|
VK_EXT_display_control DONE (anv, hasvk, nvk, panvk, radv, tu)
|
2025-03-12 17:10:30 -07:00
|
|
|
|
VK_EXT_display_surface_counter DONE (anv, lvp, nvk, panvk, radv, tu, vn)
|
2023-11-18 17:57:52 +01:00
|
|
|
|
VK_EXT_dynamic_rendering_unused_attachments DONE (anv, hk, lvp, nvk, radv, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_extended_dynamic_state3 DONE (anv, hk, lvp, nvk, radv, tu, vn)
|
2025-06-10 12:04:54 +03:00
|
|
|
|
VK_EXT_external_memory_acquire_unmodified DONE (anv, radv, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_external_memory_dma_buf DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-09-16 13:55:35 +02:00
|
|
|
|
VK_EXT_external_memory_host DONE (anv, dzn, hasvk, lvp, radv)
|
2025-03-10 14:52:59 -07:00
|
|
|
|
VK_EXT_filter_cubic DONE (tu/a650+, vn)
|
2024-07-31 21:07:21 +00:00
|
|
|
|
VK_EXT_fragment_density_map DONE (tu)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_EXT_fragment_shader_interlock DONE (anv, lvp, radv/gfx9+, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_global_priority DONE (anv, hasvk, panvk, radv, tu, vn, hk)
|
|
|
|
|
|
VK_EXT_global_priority_query DONE (anv, hasvk, panvk, radv, tu, vn, hk)
|
|
|
|
|
|
VK_EXT_graphics_pipeline_library DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn)
|
|
|
|
|
|
VK_EXT_hdr_metadata DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn)
|
|
|
|
|
|
VK_EXT_headless_surface DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-04-08 17:54:40 +01:00
|
|
|
|
VK_EXT_image_2d_view_of_3d DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, vn)
|
2025-09-16 12:24:59 +02:00
|
|
|
|
VK_EXT_image_compression_control DONE (anv/gfx12-, radv)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_EXT_image_drm_format_modifier DONE (anv, hasvk, hk, lvp, nvk, panvk/v10+, radv/gfx9+, tu, v3dv, vn)
|
2023-11-18 17:57:52 +01:00
|
|
|
|
VK_EXT_image_sliced_view_of_3d DONE (anv, hk, lvp, nvk, radv/gfx10+, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_image_view_min_lod DONE (anv, hasvk, hk, nvk, radv, tu, vn)
|
|
|
|
|
|
VK_EXT_index_type_uint8 DONE (anv, hasvk, hk, nvk, lvp, panvk, pvr, radv/gfx8+, tu, v3dv, vn)
|
2025-02-26 17:08:27 -08:00
|
|
|
|
VK_EXT_legacy_vertex_attributes DONE (anv, lvp, nvk, radv, tu, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_line_rasterization DONE (anv, hasvk, hk, nvk, panvk, lvp, radv, tu, v3dv, vn)
|
2023-11-18 17:57:52 +01:00
|
|
|
|
VK_EXT_load_store_op_none DONE (anv, hk, lvp, nvk, panvk, radv, tu, v3dv, vn)
|
2025-04-14 17:36:35 +01:00
|
|
|
|
VK_EXT_memory_budget DONE (anv, hasvk, lvp, nvk, radv, tu, v3dv, vn)
|
2023-05-17 08:26:24 -04:00
|
|
|
|
VK_EXT_memory_priority DONE (lvp, radv)
|
2023-06-06 06:12:47 +10:00
|
|
|
|
VK_EXT_mesh_shader DONE (anv/gfx12.5+, lvp, radv)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_multi_draw DONE (anv, hasvk, hk, lvp, nvk, radv, tu, vn, v3dv)
|
2025-03-24 23:35:56 -07:00
|
|
|
|
VK_EXT_multisampled_render_to_single_sampled DONE (lvp, vn)
|
2025-03-10 15:39:02 -07:00
|
|
|
|
VK_EXT_nested_command_buffer DONE (anv, lvp, nvk, radv, tu, vn)
|
2025-07-02 14:38:10 +02:00
|
|
|
|
VK_EXT_non_seamless_cube_map DONE (anv, hasvk, hk, lvp, nvk, panvk, radv, tu, vn)
|
2023-05-17 08:37:49 -04:00
|
|
|
|
VK_EXT_pageable_device_local_memory DONE (lvp)
|
2023-07-27 16:01:31 -05:00
|
|
|
|
VK_EXT_pci_bus_info DONE (anv, hasvk, nvk, radv, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_physical_device_drm DONE (anv, hasvk, hk, nvk, panvk, radv, tu, v3dv, vn)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_EXT_pipeline_library_group_handles DONE (anv, lvp, radv, vn)
|
2025-02-26 16:03:48 -08:00
|
|
|
|
VK_EXT_post_depth_coverage DONE (anv/gfx11+, lvp, nvk, radv/gfx10+, tu, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_primitive_topology_list_restart DONE (anv, hasvk, lvp, nvk, panvk, radv, tu, v3dv, vn, nvk)
|
2023-11-21 19:26:49 +01:00
|
|
|
|
VK_EXT_primitives_generated_query DONE (anv, hasvk, lvp, nvk, radv, tu, vn)
|
2025-03-05 18:40:21 +00:00
|
|
|
|
VK_EXT_provoking_vertex DONE (anv, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2024-03-12 10:33:20 +00:00
|
|
|
|
VK_EXT_queue_family_foreign DONE (anv, hasvk, hk, nvk, lvp, panvk, pvr, radv, tu, v3dv, vn)
|
2023-03-31 06:53:58 +00:00
|
|
|
|
VK_EXT_rasterization_order_attachment_access DONE (lvp, tu, vn)
|
2025-07-28 13:42:57 +02:00
|
|
|
|
VK_EXT_robustness2 DONE (anv, hasvk, hk, lvp, nvk, panvk/v10+, radv, tu, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_sample_locations DONE (anv, hasvk, hk, nvk, radv, tu/a650+, vn)
|
2025-08-21 14:43:43 +02:00
|
|
|
|
VK_EXT_shader_atomic_float DONE (anv, hasvk, lvp, radv, tu, vn)
|
2025-02-26 16:51:05 -08:00
|
|
|
|
VK_EXT_shader_atomic_float2 DONE (anv, lvp, radv, vn)
|
2025-06-06 18:03:53 +02:00
|
|
|
|
VK_EXT_shader_float8 DONE (radv/gfx12+)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_EXT_shader_image_atomic_int64 DONE (anv, lvp, nvk, radv, vn)
|
2025-09-16 12:24:59 +02:00
|
|
|
|
VK_EXT_shader_object DONE (anv, lvp, hk, nvk, radv)
|
2025-04-28 13:23:19 +00:00
|
|
|
|
VK_EXT_shader_replicated_composites DONE (anv, dzn, hasvk, lvp, nvk, panvk, radv, tu, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_shader_stencil_export DONE (anv, hk, lvp, radv, tu, vn)
|
2025-05-28 12:33:24 -07:00
|
|
|
|
VK_EXT_shader_subgroup_ballot DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, radv, vn)
|
|
|
|
|
|
VK_EXT_shader_subgroup_vote DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, radv, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_shader_module_identifier DONE (anv, hasvk, hk, nvk, panvk, radv, tu, v3dv)
|
|
|
|
|
|
VK_EXT_surface_maintenance1 DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_EXT_swapchain_maintenance1 DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_EXT_transform_feedback DONE (anv, hasvk, hk, lvp, nvk, radv, tu, vn)
|
2024-04-23 08:46:39 +01:00
|
|
|
|
VK_EXT_vertex_attribute_divisor DONE (anv, dzn, hasvk, hk, lvp, nvk, panvk, pvr, radv, tu, v3dv, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_vertex_input_dynamic_state DONE (anv, hk, lvp, nvk, panvk, radv, tu, vn)
|
|
|
|
|
|
VK_EXT_ycbcr_image_arrays DONE (anv, hasvk, hk, lvp, nvk, panvk/v10+, radv, vn)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_EXT_zero_initialize_device_memory DONE (lvp, nvk, radv)
|
2025-09-16 13:58:09 +02:00
|
|
|
|
VK_ANDROID_external_memory_android_hardware_buffer DONE (anv, lvp, panvk, radv, tu, v3dv, vn)
|
2025-09-16 13:57:32 +02:00
|
|
|
|
VK_ANDROID_native_buffer DONE (anv, lvp, panvk, radv, tu, v3dv, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_GOOGLE_decorate_string DONE (anv, hasvk, hk, lvp, nvk, panvk, radv, tu, vn)
|
|
|
|
|
|
VK_GOOGLE_hlsl_functionality1 DONE (anv, hasvk, hk, lvp, nvk, panvk, radv, tu, vn)
|
|
|
|
|
|
VK_GOOGLE_user_type DONE (anv, hasvk, hk, nvk, panvk, radv, tu, vn)
|
2025-03-10 14:52:59 -07:00
|
|
|
|
VK_IMG_filter_cubic DONE (tu/a650+, vn)
|
2025-09-16 13:58:02 +02:00
|
|
|
|
VK_NV_compute_shader_derivatives DONE (anv, hasvk, nvk, radv, tu/a7xx+, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_acquire_drm_display DONE (anv, hk, nvk, radv, tu, v3dv, vn)
|
|
|
|
|
|
VK_VALVE_mutable_descriptor_type DONE (anv, hasvk, hk, nvk, radv, tu, vn)
|
2025-06-13 08:17:38 +02:00
|
|
|
|
VK_AMD_buffer_marker DONE (anv, nvk, radv, tu)
|
2021-11-02 09:50:29 +00:00
|
|
|
|
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)
|
2022-08-09 11:06:56 +02:00
|
|
|
|
VK_AMD_shader_early_and_late_fragment_tests DONE (radv)
|
2021-11-02 09:50:29 +00:00
|
|
|
|
VK_AMD_shader_explicit_vertex_parameter DONE (radv)
|
2022-05-10 13:51:30 +02:00
|
|
|
|
VK_AMD_shader_fragment_mask DONE (radv/gfx10.3-)
|
2021-11-02 09:50:29 +00:00
|
|
|
|
VK_AMD_shader_image_load_store_lod DONE (radv)
|
|
|
|
|
|
VK_AMD_shader_trinary_minmax DONE (radv)
|
2023-02-28 14:03:48 -08:00
|
|
|
|
VK_AMD_texture_gather_bias_lod DONE (anv, radv)
|
2025-02-26 16:03:48 -08:00
|
|
|
|
VK_ARM_rasterization_order_attachment_access DONE (lvp, tu, vn)
|
2025-07-07 22:05:23 +02:00
|
|
|
|
VK_ARM_shader_core_builtins DONE (panvk)
|
2025-05-24 12:08:22 +02:00
|
|
|
|
VK_ARM_shader_core_properties DONE (panvk/v10+)
|
2025-07-07 13:36:55 +00:00
|
|
|
|
VK_EXT_mutable_descriptor_type DONE (anv, hk, lvp, nvk, panvk/v9+, radv, tu, vn)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_swapchain_colorspace DONE (anv, hk, lvp, nvk, radv, tu, v3dv, vn)
|
2025-03-05 19:45:20 +00:00
|
|
|
|
VK_EXT_depth_clamp_zero_one DONE (anv, nvk, panvk, pvr, radv, tu, v3dv/vc7+, vn)
|
2023-08-09 14:23:12 +01:00
|
|
|
|
VK_INTEL_shader_integer_functions2 DONE (anv, hasvk, radv)
|
2025-05-22 10:43:41 -04:00
|
|
|
|
VK_EXT_map_memory_placed DONE (anv, hk, nvk, radv, tu)
|
2025-02-19 23:42:21 +02:00
|
|
|
|
VK_MESA_image_alignment_control DONE (anv, nvk, radv)
|
2025-03-10 14:58:49 -07:00
|
|
|
|
VK_EXT_legacy_dithering DONE (anv, tu, vn)
|
2025-02-11 12:40:59 -05:00
|
|
|
|
VK_QCOM_fragment_density_map_offset DONE (tu)
|
2017-02-01 14:35:03 -07:00
|
|
|
|
|
2023-06-08 04:17:02 -06:00
|
|
|
|
|
|
|
|
|
|
Rusticl OpenCL 1.0 -- all DONE:
|
|
|
|
|
|
Image support DONE
|
2020-05-07 13:45:11 +02:00
|
|
|
|
|
2023-06-08 04:17:02 -06:00
|
|
|
|
|
|
|
|
|
|
Rusticl OpenCL 1.1 -- all DONE:
|
|
|
|
|
|
Additional queries for clGetDeviceInfo DONE
|
|
|
|
|
|
CL_CONTEXT_NUM_DEVICES for clGetContextInfo DONE
|
|
|
|
|
|
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
|
|
|
|
|
|
Support user events DONE
|
|
|
|
|
|
clSetEventCallback DONE
|
|
|
|
|
|
Minimum requirement changes for clGetDeviceInfo DONE
|
|
|
|
|
|
Arg prerequisite change for clEnqueueNDRangeKernel DONE
|
2023-06-13 16:02:23 +02:00
|
|
|
|
OpenCL C 1.1 DONE
|
2023-06-30 12:02:10 +02:00
|
|
|
|
- 3-component vector data types DONE
|
2023-06-13 16:02:23 +02:00
|
|
|
|
- cl_khr_byte_addressable_store DONE
|
|
|
|
|
|
- cl_khr_global_int32_base_atomics DONE
|
|
|
|
|
|
- cl_khr_global_int32_extended_atomics DONE
|
|
|
|
|
|
- cl_khr_local_int32_base_atomics DONE
|
|
|
|
|
|
- cl_khr_local_int32_extended_atomics DONE
|
2023-06-08 04:17:02 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rusticl OpenCL 1.2 -- all DONE:
|
|
|
|
|
|
Custom devices DONE
|
|
|
|
|
|
Separate compilation and linking of programs DONE
|
|
|
|
|
|
Extend cl_mem_flags DONE
|
|
|
|
|
|
clEnqueueFillBuffer, clEnqueueFillImage DONE
|
2024-07-09 10:27:07 +02:00
|
|
|
|
Add CL_MAP_WRITE_INVALIDATE_REGION to cl_map_flags DONE
|
2023-06-08 04:17:02 -06:00
|
|
|
|
New image types DONE
|
|
|
|
|
|
clCreateImage DONE
|
|
|
|
|
|
clEnqueueMigrateMemObjects DONE
|
|
|
|
|
|
Retrieve kernels information from a program DONE
|
|
|
|
|
|
clGetKernelArgInfo DONE
|
|
|
|
|
|
clEnqueueMarkerWithWaitList DONE
|
|
|
|
|
|
clEnqueueBarrierWithWaitList DONE
|
|
|
|
|
|
clUnloadPlatformCompiler DONE
|
2023-06-17 23:13:52 +02:00
|
|
|
|
printf DONE
|
2023-06-08 04:17:02 -06:00
|
|
|
|
CL_KERNEL_ATTRIBUTES for clGetKernelInfo DONE
|
2023-06-13 16:02:23 +02:00
|
|
|
|
OpenCL C 1.2 DONE
|
2023-06-08 04:17:02 -06:00
|
|
|
|
|
|
|
|
|
|
|
2025-06-18 21:21:45 +02:00
|
|
|
|
Rusticl OpenCL 3.0 -- all DONE:
|
|
|
|
|
|
Required OpenCL 2.0 features DONE
|
2023-06-08 04:17:02 -06:00
|
|
|
|
- Additional queries for clGetDeviceInfo DONE
|
2025-06-18 21:21:45 +02:00
|
|
|
|
- clCloneKernel DONE
|
|
|
|
|
|
- clCreateSamplerWithProperties DONE
|
|
|
|
|
|
- cl_khr_create_command_queue DONE
|
2023-06-08 04:17:02 -06:00
|
|
|
|
Optional device capabilities queries DONE
|
|
|
|
|
|
cl_khr_extended_versioning DONE
|
|
|
|
|
|
clSetContextDestructorCallback DONE
|
|
|
|
|
|
clCreateBufferWithProperties DONE
|
|
|
|
|
|
clCreateImageWithProperties DONE
|
|
|
|
|
|
Query properties arrays DONE
|
|
|
|
|
|
Supported OpenCL C versions and features queries DONE
|
|
|
|
|
|
CL_COMMAND_SVM_MIGRATE_MEM for clGetEventInfo DONE
|
2023-06-13 16:02:23 +02:00
|
|
|
|
OpenCL C 3.0 DONE
|
2023-06-08 04:17:02 -06:00
|
|
|
|
|
|
|
|
|
|
|
2025-06-18 10:55:37 +02:00
|
|
|
|
Rusticl Optional Core Features:
|
|
|
|
|
|
Optional features for OpenCL 1.0 in progress
|
|
|
|
|
|
- Optional image formats in progress
|
|
|
|
|
|
Optional features for OpenCL 1.1 not started
|
|
|
|
|
|
- CL_Rx not started
|
|
|
|
|
|
- CL_RGx not started
|
|
|
|
|
|
- CL_RGBx not started
|
2025-06-18 12:36:15 +02:00
|
|
|
|
Optional features for OpenCL 1.2 in progress
|
2025-06-18 21:21:45 +02:00
|
|
|
|
- Built-in kernels in progress (reports 0 built-in kernels)
|
2025-06-18 12:36:15 +02:00
|
|
|
|
- Device partitioning not started
|
|
|
|
|
|
- cl_khr_fp64 in progress (iris, llvmpipe, nvc0, radeonsi, zink, Available with environment variable RUSTICL_FEATURES=fp64, device dependent.)
|
2025-06-18 21:21:45 +02:00
|
|
|
|
Latest conformance version passed for devices DONE (asahi, iris, zink)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rusticl Optional OpenCL 2.x Features:
|
|
|
|
|
|
Shared virtual memory in progress
|
|
|
|
|
|
- Coarse Grain Buffer DONE (iris, radeonsi, llvmpipe)
|
|
|
|
|
|
- Fine Grain Buffer in progress
|
|
|
|
|
|
- System DONE (nvc0, llvmpipe)
|
|
|
|
|
|
- clEnqueueSVMMigrateMem DONE
|
|
|
|
|
|
Device-Side Enqueue not started
|
|
|
|
|
|
Pipes not started
|
|
|
|
|
|
Program Scope Global Variables in progress
|
|
|
|
|
|
Non-Uniform Work-groups not started
|
2025-07-04 12:18:40 +02:00
|
|
|
|
Images DONE (freedreno, iris, llvmpipe, zink)
|
2025-06-18 21:21:45 +02:00
|
|
|
|
- Read-Write Images DONE
|
|
|
|
|
|
- sRGB Images DONE
|
|
|
|
|
|
- CL_ABGR DONE
|
|
|
|
|
|
- CL_UNORM_INT_101010_2 DONE
|
|
|
|
|
|
- cl_khr_depth_images DONE
|
2025-07-04 12:18:40 +02:00
|
|
|
|
- cl_khr_image2d_from_buffer DONE ()
|
|
|
|
|
|
- cl_khr_3d_image_writes DONE (nvc0, panfrost, radeonsi)
|
2025-06-18 21:21:45 +02:00
|
|
|
|
Device and host timer synchronization DONE (freedreno, iris, llvmpipe, radeonsi, zink)
|
|
|
|
|
|
OpenCL C 2.0 in progress
|
|
|
|
|
|
- Memory Consistency Model (atomics) not started
|
2025-08-07 13:42:37 -04:00
|
|
|
|
- Sub-groups DONE (iris, llvmpipe, radeonsi, asahi)
|
2025-06-18 21:21:45 +02:00
|
|
|
|
- Work-group Collective Functions not started
|
|
|
|
|
|
- Generic Address Space in progress
|
|
|
|
|
|
cl_khr_il_program DONE
|
|
|
|
|
|
- Support SPIR-V 1.1 and 1.2 DONE
|
2025-07-04 12:25:46 +02:00
|
|
|
|
- Max SPIR-V version DONE 1.6
|
2025-06-18 21:21:45 +02:00
|
|
|
|
- clSetProgramSpecializationConstant DONE
|
|
|
|
|
|
Program Initialization and Clean-Up Kernels not started
|
|
|
|
|
|
- clSetProgramReleaseCallback not started
|
|
|
|
|
|
CL_MAX_SIZE_RESTRICTION_EXCEEDED for clSetKernelArg not started
|
2025-06-18 10:55:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
2025-06-18 21:19:30 +02:00
|
|
|
|
Rusticl extensions:
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_async_work_group_copy_fence not started
|
2025-06-18 21:19:30 +02:00
|
|
|
|
cl_khr_command_buffer not started
|
|
|
|
|
|
cl_khr_command_buffer_multi_device not started
|
|
|
|
|
|
cl_khr_command_buffer_mutable_dispatch not started
|
|
|
|
|
|
cl_khr_d3d10_sharing not started
|
|
|
|
|
|
cl_khr_d3d11_sharing not started
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_device_enqueue_local_arg_types not started
|
2025-06-05 10:52:39 -07:00
|
|
|
|
cl_khr_device_uuid DONE (freedreno, iris, llvmpipe, radeonsi, zink)
|
2025-06-18 21:19:30 +02:00
|
|
|
|
cl_khr_dx9_media_sharing not started
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_egl_event not started
|
|
|
|
|
|
cl_khr_egl_image not started
|
2023-05-17 15:51:49 -06:00
|
|
|
|
cl_khr_expect_assume in progress (hints are ignored)
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_extended_async_copies not started
|
2025-06-11 02:08:26 +02:00
|
|
|
|
cl_khr_extended_bit_ops DONE
|
2025-06-18 21:19:30 +02:00
|
|
|
|
cl_khr_external_memory not started
|
|
|
|
|
|
cl_khr_external_memory_dma_buf not started
|
|
|
|
|
|
cl_khr_external_memory_opaque_fd not started
|
|
|
|
|
|
cl_khr_external_memory_win32 not started
|
2025-08-27 17:09:37 +02:00
|
|
|
|
cl_khr_external_semaphore DONE (radeonsi, zink)
|
2025-06-18 21:19:30 +02:00
|
|
|
|
cl_khr_external_semaphore_opaque_fd not started
|
2025-08-27 17:09:37 +02:00
|
|
|
|
cl_khr_external_semaphore_sync_fd DONE (radeonsi, zink)
|
2025-06-18 21:19:30 +02:00
|
|
|
|
cl_khr_external_semaphore_win32 not started
|
2025-03-13 17:49:15 +01:00
|
|
|
|
cl_khr_fp16 DONE (asahi, freedreno, llvmpipe, panfrost, radeonsi, zink)
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_gl_depth_images not started
|
2025-06-18 21:19:30 +02:00
|
|
|
|
cl_khr_gl_event not started
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_gl_msaa_sharing not started
|
2025-01-30 10:07:41 -05:00
|
|
|
|
cl_khr_gl_sharing DONE (iris, radeonsi, zink)
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_icd DONE
|
|
|
|
|
|
cl_khr_initialize_memory not started
|
|
|
|
|
|
cl_khr_int64_base_atomics not started
|
|
|
|
|
|
cl_khr_int64_extended_atomics not started
|
|
|
|
|
|
cl_khr_integer_dot_product DONE
|
2025-05-27 15:26:44 +02:00
|
|
|
|
cl_khr_kernel_clock DONE (freedreno, iris, llvmpipe, nvc0, panfrost, radeonsi, zink, needs llvm-19)
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_mipmap_image not started
|
2025-06-18 21:19:30 +02:00
|
|
|
|
cl_khr_mipmap_image_writes not started
|
2023-09-19 14:44:26 +02:00
|
|
|
|
cl_khr_pci_bus_info DONE (iris, nvc0, radeonsi, zink)
|
2025-06-11 03:04:57 +02:00
|
|
|
|
cl_khr_priority_hints DONE (asahi, freedreno, iris, panfrost, radeonsi)
|
2025-07-07 17:16:23 +02:00
|
|
|
|
cl_khr_semaphore DONE (radeonsi, zink)
|
2023-06-17 23:13:52 +02:00
|
|
|
|
cl_khr_spirv_extended_debug_info not started
|
2025-01-21 10:53:41 +01:00
|
|
|
|
cl_khr_spirv_linkonce_odr DONE
|
2023-06-17 23:15:04 +02:00
|
|
|
|
cl_khr_spirv_no_integer_wrap_decoration DONE
|
2025-03-11 20:36:17 +01:00
|
|
|
|
cl_khr_spirv_queries DONE
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_srgb_image_writes not started
|
|
|
|
|
|
cl_khr_subgroup_ballot not started
|
|
|
|
|
|
cl_khr_subgroup_clustered_reduce not started
|
|
|
|
|
|
cl_khr_subgroup_extended_types not started
|
|
|
|
|
|
cl_khr_subgroup_named_barrier not started
|
|
|
|
|
|
cl_khr_subgroup_non_uniform_arithmetic not started
|
|
|
|
|
|
cl_khr_subgroup_non_uniform_vote not started
|
|
|
|
|
|
cl_khr_subgroup_rotate not started
|
2025-08-07 13:42:37 -04:00
|
|
|
|
cl_khr_subgroup_shuffle DONE (iris, llvmpipe, radeonsi, asahi)
|
|
|
|
|
|
cl_khr_subgroup_shuffle_relative DONE (iris, llvmpipe, radeonsi, asahi)
|
2025-06-18 21:19:30 +02:00
|
|
|
|
cl_khr_subgroups in progress
|
2024-02-23 12:41:38 +01:00
|
|
|
|
cl_khr_suggested_local_work_size DONE
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_terminate_context not started
|
2023-06-17 23:13:52 +02:00
|
|
|
|
cl_khr_throttle_hints not started
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_work_group_uniform_arithmetic not started
|
2024-09-23 12:58:59 +02:00
|
|
|
|
cl_ext_buffer_device_address DONE (iris, llvmpipe, radeonsi, zink)
|
2025-06-18 21:19:30 +02:00
|
|
|
|
cl_ext_cxx_for_opencl not started
|
|
|
|
|
|
cl_ext_device_fission not started
|
|
|
|
|
|
cl_ext_float_atomics not started
|
|
|
|
|
|
cl_ext_image_from_buffer not started
|
|
|
|
|
|
cl_ext_image_raw10_raw12 not started
|
|
|
|
|
|
cl_ext_image_requirements_info not started
|
2025-06-11 14:26:33 +02:00
|
|
|
|
cl_ext_image_unorm_int_2_101010 DONE
|
2025-08-07 13:46:15 +02:00
|
|
|
|
cl_ext_immutable_memory_objects DONE
|
2025-06-18 21:19:30 +02:00
|
|
|
|
cl_ext_migrate_memobject not started
|
2023-06-13 16:02:23 +02:00
|
|
|
|
cl_arm_non_uniform_work_group_size not started
|
|
|
|
|
|
cl_arm_shared_virtual_memory in progress (nvc0)
|
2025-05-22 13:18:36 -04:00
|
|
|
|
cl_intel_required_subgroup_size in progress (available with RUSTICL_FEATURES=intel)
|
2025-05-23 11:13:02 -04:00
|
|
|
|
cl_intel_subgroups in progress (available with RUSTICL_FEATURES=intel)
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_intel_unified_shared_memory not started
|
2020-05-07 13:45:11 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The following extensions are not part of any OpenCL version, and we DO NOT WANT
|
|
|
|
|
|
implementations of these extensions for Mesa.
|
2023-06-08 04:17:02 -06:00
|
|
|
|
cl_khr_spir Superseded by cl_khr_il_program
|
2020-05-07 13:45:11 +02:00
|
|
|
|
cl_nv_d3d10_sharing Superseded by cl_khr_d3d10_sharing
|
|
|
|
|
|
cl_nv_d3d11_sharing Superseded by cl_khr_d3d10_sharing
|
|
|
|
|
|
|
2017-02-01 14:35:03 -07:00
|
|
|
|
A graphical representation of this information can be found at
|
2017-02-09 02:10:17 +00:00
|
|
|
|
https://mesamatrix.net/
|