blob: c5211b5cf42058b203aeaa9f2f6692ca0d3a5542 [file] [log] [blame]
Romain Failliote571f112016-03-15 16:14:08 -04001# Status of OpenGL extensions in Mesa
Brian Paul9b0bbe12009-12-30 10:39:20 -07002
Romain Failliote571f112016-03-15 16:14:08 -04003Here's how to read this file:
Brian Paul9b0bbe12009-12-30 10:39:20 -07004
Romain Failliote571f112016-03-15 16:14:08 -04005all DONE: <driver>, ...
6 All the extensions are done for the given list of drivers.
Brian Paul9b0bbe12009-12-30 10:39:20 -07007
Romain Failliote571f112016-03-15 16:14:08 -04008DONE
9 The extension is done for Mesa and no implementation is necessary on the
10 driver-side.
Brian Paul9b0bbe12009-12-30 10:39:20 -070011
Romain Failliote571f112016-03-15 16:14:08 -040012DONE ()
13 The extension is done for Mesa and all the drivers in the "all DONE" list.
Brian Paul9b0bbe12009-12-30 10:39:20 -070014
Romain Failliote571f112016-03-15 16:14:08 -040015DONE (<driver>, ...)
16 The extension is done for Mesa, all the drivers in the "all DONE" list, and
17 all the drivers in the brackets.
18
19in progress
20 The extension is started but not finished yet.
21
22not started
23 The extension isn't started yet.
24
25# OpenGL Core and Compatibility context support
Marek Olšákc40f8d02013-07-30 22:29:11 +020026
Andres Gomezc6067fc2018-03-03 00:55:46 +020027Some drivers do not support the Compatibility profile or the
28ARB_compatibility extensions. If an application does not request a
29specific version without the forward-compatiblity flag, such drivers
30will be limited to OpenGL 3.0. If an application requests OpenGL 3.1,
31it will get a context that may or may not have the ARB_compatibility
32extension enabled. Some of the later GL features are exposed in the 3.0
33context as extensions.
Marek Olšákc40f8d02013-07-30 22:29:11 +020034
35
Romain Failliot3671bb32016-03-15 16:14:09 -040036Feature Status
37------------------------------------------------------- ------------------------
Brian Paul9b0bbe12009-12-30 10:39:20 -070038
Erik Faye-Lund2a6a21c2020-06-18 10:40:27 +020039GL 3.0, GLSL 1.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl, zink
Brian Paul9b0bbe12009-12-30 10:39:20 -070040
Joerg Mayerf9868922013-11-16 22:13:03 +000041 glBindFragDataLocation, glGetFragDataLocation DONE
Erik Faye-Lund2a6a21c2020-06-18 10:40:27 +020042 GL_NV_conditional_render (Conditional rendering) DONE ()
Alyssa Rosenzweig5d1bff22020-07-07 10:56:36 -040043 GL_ARB_map_buffer_range (Map buffer subranges) DONE (panfrost, v3d)
44 GL_ARB_color_buffer_float (Clamping controls) DONE (panfrost, v3d)
45 GL_ARB_texture_float (Float textures, renderbuffers) DONE (panfrost, v3d)
46 GL_EXT_packed_float DONE (panfrost, v3d)
47 GL_EXT_texture_shared_exponent DONE (panfrost, v3d)
48 GL_ARB_depth_buffer_float (Float depth buffers) DONE (panfrost, v3d)
49 GL_ARB_framebuffer_object (Framebuffer objects) DONE (panfrost, v3d)
Ian Romanick1edca152014-01-13 15:23:48 -080050 GL_ARB_half_float_pixel DONE (all drivers)
Alyssa Rosenzweig5d1bff22020-07-07 10:56:36 -040051 GL_ARB_half_float_vertex DONE (panfrost, v3d)
52 GL_EXT_texture_integer DONE (panfrost, v3d)
53 GL_EXT_texture_array DONE (panfrost, v3d)
54 GL_EXT_draw_buffers2 (Per-buffer blend and masks) DONE (panfrost, v3d)
Icecream95c1d3d392020-07-13 22:45:51 +120055 GL_EXT_texture_compression_rgtc DONE (panfrost)
Alyssa Rosenzweig5d1bff22020-07-07 10:56:36 -040056 GL_ARB_texture_rg DONE (panfrost, v3d)
57 GL_EXT_transform_feedback (Transform feedback) DONE (panfrost, v3d)
58 GL_ARB_vertex_array_object (Vertex array objects) DONE (panfrost, v3d)
59 GL_EXT_framebuffer_sRGB (sRGB framebuffer format) DONE (panfrost, v3d)
Joerg Mayerf9868922013-11-16 22:13:03 +000060 glClearBuffer commands DONE
61 glGetStringi command DONE
62 glTexParameterI, glGetTexParameterI commands DONE
63 glVertexAttribI commands DONE
Alyssa Rosenzweig91234582020-07-16 19:19:08 -040064 Depth format cube textures DONE (panfrost)
Alyssa Rosenzweig5d1bff22020-07-07 10:56:36 -040065 GLX_ARB_create_context (GLX 1.4 is required) DONE (panfrost, v3d)
66 Multisample anti-aliasing DONE (freedreno/a5xx+, freedreno (*), llvmpipe (*), softpipe (*), swr (*), panfrost)
Icecream953ec252a2020-07-14 12:05:47 +120067 8 draw buffers DONE (panfrost/t760+)
Brian Paul9b0bbe12009-12-30 10:39:20 -070068
Rob Clark6764aae2018-06-21 08:37:07 -040069(*) freedreno (a2xx-a4xx), llvmpipe, softpipe, and swr have fake Multisample anti-aliasing support
Brian Paul9b0bbe12009-12-30 10:39:20 -070070
Roland Scheidegger17eabfe2014-08-25 18:21:53 +020071
Mike Blumenkrantzb27ec492020-07-03 16:16:17 -040072GL 3.1, GLSL 1.40 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl, panfrost, zink
Brian Paul9b0bbe12009-12-30 10:39:20 -070073
Erik Faye-Lund270eeb42020-06-18 10:43:36 +020074 Forward compatible context support/deprecations DONE
Mike Blumenkrantzb27ec492020-07-03 16:16:17 -040075 GL_ARB_draw_instanced (Instanced drawing) DONE (v3d)
76 GL_ARB_copy_buffer (Buffer copying) DONE (v3d)
Neil Robertsffc4d822020-06-18 15:53:03 +020077 GL_NV_primitive_restart (Primitive restart) DONE ()
Mike Blumenkrantzb27ec492020-07-03 16:16:17 -040078 16 vertex texture image units DONE ()
79 GL_ARB_texture_buffer_object (Texture buffer objs) DONE ()
80 GL_ARB_texture_rectangle (Rectangular textures) DONE (v3d)
81 GL_ARB_uniform_buffer_object (Uniform buffer objs) DONE (v3d)
82 GL_EXT_texture_snorm (Signed normalized textures) DONE (v3d)
Brian Paul9b0bbe12009-12-30 10:39:20 -070083
84
Mike Blumenkrantz44baddf2020-07-10 15:06:11 -040085GL 3.2, GLSL 1.50 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl, zink
Brian Paul9b0bbe12009-12-30 10:39:20 -070086
Joerg Mayerf9868922013-11-16 22:13:03 +000087 Core/compatibility profiles DONE
Joerg Mayerf9868922013-11-16 22:13:03 +000088 Geometry shaders DONE ()
Juan A. Suarez Romero60b9c002020-10-16 17:07:57 +020089 GL_ARB_vertex_array_bgra (BGRA vertex order) DONE (freedreno, v3d, panfrost)
Mike Blumenkrantz44baddf2020-07-10 15:06:11 -040090 GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (freedreno, v3d, panfrost)
Alyssa Rosenzweig5d1bff22020-07-07 10:56:36 -040091 GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (freedreno, v3d, panfrost)
92 GL_ARB_provoking_vertex (Provoking vertex) DONE (freedreno, v3d, panfrost)
Mike Blumenkrantz44baddf2020-07-10 15:06:11 -040093 GL_ARB_seamless_cube_map (Seamless cubemaps) DONE (freedreno, panfrost)
94 GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, v3d, panfrost)
95 GL_ARB_depth_clamp (Frag depth clamp) DONE (freedreno, panfrost)
96 GL_ARB_sync (Fence objects) DONE (freedreno, v3d, panfrost)
Joerg Mayerf9868922013-11-16 22:13:03 +000097 GLX_ARB_create_context_profile DONE
Brian Paul9b0bbe12009-12-30 10:39:20 -070098
99
Mike Blumenkrantz3e3b6e92020-07-10 15:07:17 -0400100GL 3.3, GLSL 3.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink
Brian Pauld35c2ca2010-05-11 21:03:53 -0600101
Mike Blumenkrantz068b4bf2020-10-17 09:40:18 -0400102 GL_ARB_blend_func_extended DONE (freedreno/a3xx, swr, panfrost)
Ian Romanickbc0ed682014-01-13 14:48:16 -0800103 GL_ARB_explicit_attrib_location DONE (all drivers that support GLSL)
Mike Blumenkrantz068b4bf2020-10-17 09:40:18 -0400104 GL_ARB_occlusion_query2 DONE (freedreno, swr, v3d, panfrost)
Ian Romanickbc0ed682014-01-13 14:48:16 -0800105 GL_ARB_sampler_objects DONE (all drivers)
Icecream95811b9cb2020-09-05 12:00:40 +1200106 GL_ARB_shader_bit_encoding DONE (freedreno, swr, v3d, panfrost)
Mike Blumenkrantz3e3b6e92020-07-10 15:07:17 -0400107 GL_ARB_texture_rgb10_a2ui DONE (freedreno, swr, panfrost)
108 GL_ARB_texture_swizzle DONE (freedreno, swr, v3d, panfrost)
109 GL_ARB_timer_query DONE (freedreno, swr)
110 GL_ARB_instanced_arrays DONE (freedreno, swr, v3d, panfrost)
111 GL_ARB_vertex_type_2_10_10_10_rev DONE (freedreno, swr, v3d, panfrost)
Brian Pauld35c2ca2010-05-11 21:03:53 -0600112
113
Dave Airlie8b8ffb12020-07-02 13:26:41 +1000114GL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virgl
Brian Pauld35c2ca2010-05-11 21:03:53 -0600115
Alyssa Rosenzweig5d1bff22020-07-07 10:56:36 -0400116 GL_ARB_draw_buffers_blend DONE (freedreno, i965/gen6+, nv50, softpipe, swr, zink, panfrost)
Mike Blumenkrantz7c512992020-07-11 11:46:21 -0400117 GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, softpipe, swr, v3d, zink)
Dave Airlief11b6642018-06-14 10:37:28 +1000118 GL_ARB_gpu_shader5 DONE (i965/gen7+)
Gert Wollnybecd1922019-04-24 10:31:45 +0200119 - 'precise' qualifier DONE (softpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400120 - Dynamically uniform sampler array indices DONE (softpipe)
Gert Wollnybecd1922019-04-24 10:31:45 +0200121 - Dynamically uniform UBO array indices DONE (freedreno, softpipe)
Krzysztof Raszkowskiafb75e72020-01-20 12:24:53 +0100122 - Implicit signed -> unsigned conversions DONE (softpipe, swr)
123 - Fused multiply-add DONE (softpipe, swr)
124 - Packing/bitfield/conversion functions DONE (freedreno, softpipe, swr)
Krzysztof Raszkowski084431c2019-11-08 16:04:47 +0000125 - Enhanced textureGather DONE (freedreno, softpipe, swr)
Dave Airlie8b8ffb12020-07-02 13:26:41 +1000126 - Geometry shader instancing DONE (softpipe, swr)
Krzysztof Raszkowski084431c2019-11-08 16:04:47 +0000127 - Geometry shader multiple streams DONE (softpipe, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400128 - Enhanced per-sample shading DONE ()
Gert Wollnybecd1922019-04-24 10:31:45 +0200129 - Interpolation functions DONE (softpipe)
130 - New overload resolution rules DONE (softpipe)
Dave Airlie8b8ffb12020-07-02 13:26:41 +1000131 GL_ARB_gpu_shader_fp64 DONE (i965/gen7+, softpipe, swr)
Mike Blumenkrantz0c702682020-10-16 12:19:34 -0400132 GL_ARB_sample_shading DONE (freedreno/a6xx, i965/gen6+, nv50, zink)
Dave Airlie8b8ffb12020-07-02 13:26:41 +1000133 GL_ARB_shader_subroutine DONE (freedreno, i965/gen6+, nv50, softpipe, swr)
134 GL_ARB_tessellation_shader DONE (i965/gen7+, swr)
135 GL_ARB_texture_buffer_object_rgb32 DONE (freedreno, i965/gen6+, softpipe, swr)
136 GL_ARB_texture_cube_map_array DONE (i965/gen6+, nv50, softpipe, swr, zink)
Icecream95811b9cb2020-09-05 12:00:40 +1200137 GL_ARB_texture_gather DONE (freedreno, i965/gen6+, nv50, softpipe, swr, v3d, panfrost)
Mike Blumenkrantz0bc22272020-07-15 13:51:18 -0400138 GL_ARB_texture_query_lod DONE (freedreno, i965, nv50, softpipe, swr, v3d, panfrost, zink)
Ilia Mirkin4c050f22020-08-09 00:13:14 -0400139 GL_ARB_transform_feedback2 DONE (i965/gen6+, nv50, softpipe, swr, v3d, panfrost)
Dave Airlie8b8ffb12020-07-02 13:26:41 +1000140 GL_ARB_transform_feedback3 DONE (i965/gen7+, softpipe, swr)
Marek Olšák2892c8b2010-11-21 22:54:33 +0100141
142
Dave Airlie28ebc8a2020-07-03 07:07:12 +1000143GL 4.1, GLSL 4.10 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virgl
Marek Olšák2892c8b2010-11-21 22:54:33 +0100144
Alyssa Rosenzweig5d1bff22020-07-07 10:56:36 -0400145 GL_ARB_ES2_compatibility DONE (freedreno, i965, nv50, softpipe, swr, v3d, zink, panfrost)
Jordan Justen4d81c8e2017-11-20 13:42:33 -0800146 GL_ARB_get_program_binary DONE (0 or 1 binary formats)
Romain Failliot3671bb32016-03-15 16:14:09 -0400147 GL_ARB_separate_shader_objects DONE (all drivers)
Francisco Jerez96dfc012017-04-14 15:59:52 -0700148 GL_ARB_shader_precision DONE (i965/gen7+, all drivers that support GLSL 4.10)
Dave Airlie28ebc8a2020-07-03 07:07:12 +1000149 GL_ARB_vertex_attrib_64bit DONE (i965/gen7+, softpipe, swr)
150 GL_ARB_viewport_array DONE (i965, nv50, softpipe, swr, zink)
Brian Pauld35c2ca2010-05-11 21:03:53 -0600151
152
Dave Airlie25505312020-07-06 13:07:20 +1000153GL 4.2, GLSL 4.20 -- all DONE: i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virgl
Marek Olšák768589e2012-07-05 20:27:28 +0200154
Alyssa Rosenzweigf34b8d32020-07-10 17:30:14 -0400155 GL_ARB_texture_compression_bptc DONE (freedreno, i965, softpipe, swr, zink, panfrost/if SoC supports)
Romain Failliot3671bb32016-03-15 16:14:09 -0400156 GL_ARB_compressed_texture_pixel_storage DONE (all drivers)
Dave Airlie25505312020-07-06 13:07:20 +1000157 GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, i965, softpipe, v3d)
Romain Failliot3671bb32016-03-15 16:14:09 -0400158 GL_ARB_texture_storage DONE (all drivers)
Dave Airlie25505312020-07-06 13:07:20 +1000159 GL_ARB_transform_feedback_instanced DONE (freedreno, i965, nv50, softpipe, swr, v3d)
160 GL_ARB_base_instance DONE (freedreno, i965, nv50, softpipe, swr, v3d)
161 GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, i965, softpipe, v3d)
Romain Failliot3671bb32016-03-15 16:14:09 -0400162 GL_ARB_conservative_depth DONE (all drivers that support GLSL 1.30)
163 GL_ARB_shading_language_420pack DONE (all drivers that support GLSL 1.30)
164 GL_ARB_shading_language_packing DONE (all drivers)
Alyssa Rosenzweigefd29d42020-08-31 07:44:56 -0400165 GL_ARB_internalformat_query DONE (freedreno, i965, nv50, softpipe, swr, v3d, zink, panfrost)
Romain Failliot3671bb32016-03-15 16:14:09 -0400166 GL_ARB_map_buffer_alignment DONE (all drivers)
Brian Pauld35c2ca2010-05-11 21:03:53 -0600167
Brian Paul90894362010-01-05 16:03:11 -0700168
Dave Airliee67da8d2020-07-20 09:22:34 +1000169GL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe, virgl
Jason Wood56c1f552012-08-06 13:47:27 -0600170
Romain Failliot3671bb32016-03-15 16:14:09 -0400171 GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
172 GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30)
173 GL_ARB_clear_buffer_object DONE (all drivers)
Alyssa Rosenzweigefd29d42020-08-31 07:44:56 -0400174 GL_ARB_compute_shader DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost)
Dave Airliee67da8d2020-07-20 09:22:34 +1000175 GL_ARB_copy_image DONE (i965, nv50, softpipe, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400176 GL_KHR_debug DONE (all drivers)
177 GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
Dave Airliee67da8d2020-07-20 09:22:34 +1000178 GL_ARB_fragment_layer_viewport DONE (i965, nv50, softpipe, swr)
179 GL_ARB_framebuffer_no_attachments DONE (freedreno, i965, softpipe, v3d)
Dave Airlieee7c8b92016-03-04 12:33:46 +1000180 GL_ARB_internalformat_query2 DONE (all drivers)
Romain Failliot3671bb32016-03-15 16:14:09 -0400181 GL_ARB_invalidate_subdata DONE (all drivers)
Dave Airliee67da8d2020-07-20 09:22:34 +1000182 GL_ARB_multi_draw_indirect DONE (freedreno, i965, softpipe, swr, v3d)
Romain Failliot3671bb32016-03-15 16:14:09 -0400183 GL_ARB_program_interface_query DONE (all drivers)
Dave Airlie8de6d4b2017-12-18 04:28:07 +0000184 GL_ARB_robust_buffer_access_behavior DONE (i965)
Dave Airliee67da8d2020-07-20 09:22:34 +1000185 GL_ARB_shader_image_size DONE (freedreno/a5xx+, i965, softpipe, v3d)
Alyssa Rosenzweigefd29d42020-08-31 07:44:56 -0400186 GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost)
Icecream95811b9cb2020-09-05 12:00:40 +1200187 GL_ARB_stencil_texturing DONE (freedreno, i965/hsw+, nv50, softpipe, swr, v3d, panfrost)
Dave Airliee67da8d2020-07-20 09:22:34 +1000188 GL_ARB_texture_buffer_range DONE (freedreno, nv50, i965, softpipe, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400189 GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30)
190 GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
Dave Airliee67da8d2020-07-20 09:22:34 +1000191 GL_ARB_texture_view DONE (freedreno, i965, nv50, softpipe, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400192 GL_ARB_vertex_attrib_binding DONE (all drivers)
Jason Wood56c1f552012-08-06 13:47:27 -0600193
194
Dave Airlief9e773b2020-07-20 13:45:09 +1000195GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe
Chris Forbes5a7bdd42013-07-23 09:17:47 +1200196
Romain Failliot3671bb32016-03-15 16:14:09 -0400197 GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
Dave Airlief9e773b2020-07-20 13:45:09 +1000198 GL_ARB_buffer_storage DONE (freedreno, i965, nv50, swr, v3d)
199 GL_ARB_clear_texture DONE (i965, nv50, softpipe, swr, virgl)
200 GL_ARB_enhanced_layouts DONE (i965, nv50, softpipe, virgl)
Romain Failliot3671bb32016-03-15 16:14:09 -0400201 - compile-time constant expressions DONE
202 - explicit byte offsets for blocks DONE
203 - forced alignment within blocks DONE
Dave Airlie5758a8c2018-01-18 14:09:38 +1000204 - specified vec4-slot component numbers DONE
Timothy Arcerib2739582016-03-10 16:41:03 +1100205 - specified transform/feedback layout DONE
Romain Failliot3671bb32016-03-15 16:14:09 -0400206 - input/output block locations DONE
207 GL_ARB_multi_bind DONE (all drivers)
Dave Airlief9e773b2020-07-20 13:45:09 +1000208 GL_ARB_query_buffer_object DONE (i965/hsw+, virgl)
209 GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, softpipe, swr, virgl, panfrost)
Alyssa Rosenzweigefd29d42020-08-31 07:44:56 -0400210 GL_ARB_texture_stencil8 DONE (freedreno, i965/hsw+, nv50, softpipe, swr, virgl, v3d, panfrost)
Dave Airlief9e773b2020-07-20 13:45:09 +1000211 GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, softpipe, swr, virgl, zink, panfrost)
Chris Forbes5a7bdd42013-07-23 09:17:47 +1200212
Dave Airlief9e773b2020-07-20 13:45:09 +1000213GL 4.5, GLSL 4.50 -- all DONE: nvc0, r600, radeonsi, llvmpipe
Ilia Mirkin82903ac2014-08-11 15:07:09 -0400214
Uros Bizjakfc7649c2019-05-07 06:21:14 +1000215 GL_ARB_ES3_1_compatibility DONE (i965/hsw+, softpipe, virgl)
Dave Airlief9e773b2020-07-20 13:45:09 +1000216 GL_ARB_clip_control DONE (freedreno, i965, nv50, softpipe, swr, virgl)
217 GL_ARB_conditional_render_inverted DONE (freedreno, i965, nv50, softpipe, swr, virgl)
218 GL_ARB_cull_distance DONE (i965, nv50, softpipe, swr, virgl)
219 GL_ARB_derivative_control DONE (i965, nv50, softpipe, virgl)
Romain Failliot3671bb32016-03-15 16:14:09 -0400220 GL_ARB_direct_state_access DONE (all drivers)
221 GL_ARB_get_texture_sub_image DONE (all drivers)
Dave Airlief9e773b2020-07-20 13:45:09 +1000222 GL_ARB_shader_texture_image_samples DONE (i965, nv50, virgl)
223 GL_ARB_texture_barrier DONE (freedreno, i965, nv50, virgl)
Romain Failliot3671bb32016-03-15 16:14:09 -0400224 GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
Elie Tournier84e707e2020-03-12 13:01:22 +0000225 GL_KHR_robustness DONE (freedreno, i965, virgl)
Romain Failliot3671bb32016-03-15 16:14:09 -0400226 GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
Ilia Mirkin82903ac2014-08-11 15:07:09 -0400227
Marek Olšák75ce0782019-10-25 23:32:18 -0400228GL 4.6, GLSL 4.60 -- all DONE: radeonsi
Adam Jacksond4ca66a2017-07-31 12:27:21 -0400229
Alejandro Piñeiro2e8565b2017-12-05 15:29:43 +0100230 GL_ARB_gl_spirv DONE (i965/gen7+)
Dave Airlieee987932019-12-23 15:13:10 +1000231 GL_ARB_indirect_parameters DONE (i965/gen7+, nvc0, llvmpipe, virgl)
Marek Olšák75ce0782019-10-25 23:32:18 -0400232 GL_ARB_pipeline_statistics_query DONE (i965, nvc0, r600, llvmpipe, softpipe, swr)
233 GL_ARB_polygon_offset_clamp DONE (freedreno, i965, nv50, nvc0, r600, llvmpipe, swr, virgl)
Alejandro Piñeiro3503cb42020-02-13 11:46:10 +0100234 GL_ARB_shader_atomic_counter_ops DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, llvmpipe, softpipe, virgl, v3d)
Dave Airlie3cd903a2019-12-11 13:30:35 +1000235 GL_ARB_shader_draw_parameters DONE (i965, llvmpipe, nvc0)
Dave Airlie26c5ae82019-12-13 14:44:59 +1000236 GL_ARB_shader_group_vote DONE (i965, nvc0, llvmpipe)
Alejandro Piñeiro2e8565b2017-12-05 15:29:43 +0100237 GL_ARB_spirv_extensions DONE (i965/gen7+)
Christian Gmeiner4b0a7322020-04-24 09:02:48 +0200238 GL_ARB_texture_filter_anisotropic DONE (etnaviv/HALTI0, freedreno, i965, nv50, nvc0, r600, softpipe (*), llvmpipe (*))
Marek Olšák75ce0782019-10-25 23:32:18 -0400239 GL_ARB_transform_feedback_overflow_query DONE (i965/gen6+, nvc0, llvmpipe, softpipe, virgl)
Kenneth Graunkeb7045382017-10-24 10:34:10 -0700240 GL_KHR_no_error DONE (all drivers)
Adam Jacksond4ca66a2017-07-31 12:27:21 -0400241
Adam Jackson00caf2a2017-08-24 14:40:32 -0400242(*) softpipe and llvmpipe advertise 16x anisotropy but simply ignore the setting
243
Dave Airliec6323342014-08-11 09:04:47 +1000244These are the extensions cherry-picked to make GLES 3.1
Adam Jackson2088f352020-10-22 15:50:50 -0400245GLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, r600, radeonsi, virgl, v3d, softpipe, llvmpipe
Ian Romanick7dc99da2016-05-16 11:26:15 -0700246
Romain Failliot3671bb32016-03-15 16:14:09 -0400247 GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
Adam Jackson2088f352020-10-22 15:50:50 -0400248 GL_ARB_compute_shader DONE (freedreno/a5xx+, i965/gen7+)
249 GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400250 GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
Dave Airliee67da8d2020-07-20 09:22:34 +1000251 GL_ARB_framebuffer_no_attachments DONE (freedreno, i965/gen7+, softpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400252 GL_ARB_program_interface_query DONE (all drivers)
Adam Jackson7ded8462020-10-22 16:16:55 -0400253 GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, i965/gen7+, swr)
254 GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, i965/gen7+, swr)
255 GL_ARB_shader_image_size DONE (freedreno/a5xx+, i965/gen7+, swr)
Adam Jackson2088f352020-10-22 15:50:50 -0400256 GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, i965/gen7+)
Romain Failliot3671bb32016-03-15 16:14:09 -0400257 GL_ARB_shading_language_packing DONE (all drivers)
258 GL_ARB_separate_shader_objects DONE (all drivers)
Adam Jackson2088f352020-10-22 15:50:50 -0400259 GL_ARB_stencil_texturing DONE (freedreno, nv50, swr, panfrost)
Adam Jackson7ded8462020-10-22 16:16:55 -0400260 GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, i965/gen7+, nv50, panfrost, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400261 GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
262 GL_ARB_vertex_attrib_binding DONE (all drivers)
Dave Airlie1fb388c2018-07-31 05:07:23 +1000263 GS5 Enhanced textureGather DONE (freedreno, i965/gen7+)
Rob Clarkcdd90a72019-03-22 16:35:48 -0400264 GS5 Packing/bitfield/conversion functions DONE (freedreno/a5xx+, i965/gen6+)
Romain Failliot3671bb32016-03-15 16:14:09 -0400265 GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
Dave Airliec6323342014-08-11 09:04:47 +1000266
Tapani Pällid1bce522015-09-14 08:50:51 +0300267 Additional functionality not covered above:
Romain Failliot3671bb32016-03-15 16:14:09 -0400268 glMemoryBarrierByRegion DONE
269 glGetTexLevelParameter[fi]v - needs updates DONE
Tapani Pällid1bce522015-09-14 08:50:51 +0300270 glGetBooleani_v - restrict to GLES enums
Ilia Mirkin68d13502016-05-30 15:18:02 -0400271 gl_HelperInvocation support DONE (i965, r600)
Ilia Mirkin82903ac2014-08-11 15:07:09 -0400272
Dave Airliee67da8d2020-07-20 09:22:34 +1000273GLES3.2, GLSL ES 3.2 -- all DONE: i965/gen9+, radeonsi, virgl, llvmpipe
Ian Romanick7dc99da2016-05-16 11:26:15 -0700274
Romain Failliot3671bb32016-03-15 16:14:09 -0400275 GL_EXT_color_buffer_float DONE (all drivers)
Icecream95c4171722020-07-06 12:03:46 +1200276 GL_KHR_blend_equation_advanced DONE (freedreno/a6xx, i965, nvc0, panfrost)
Romain Failliot3671bb32016-03-15 16:14:09 -0400277 GL_KHR_debug DONE (all drivers)
Uros Bizjak37a670d2020-03-01 18:27:13 +0100278 GL_KHR_robustness DONE (freedreno, i965, nvc0, r600)
Adam Jackson7ded8462020-10-22 16:16:55 -0400279 GL_KHR_texture_compression_astc_ldr DONE (freedreno, i965/gen9+, r600, v3d, panfrost, softpipe, swr)
Ilia Mirkind816a512016-07-08 02:44:57 -0400280 GL_OES_copy_image DONE (all drivers)
Ilia Mirkine0e16832016-03-31 00:48:01 -0400281 GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend)
Romain Failliot3671bb32016-03-15 16:14:09 -0400282 GL_OES_draw_elements_base_vertex DONE (all drivers)
Kristian H. Kristensen346bb812020-06-03 12:50:15 -0700283 GL_OES_geometry_shader DONE (freedreno/a6xx, i965/hsw+, nvc0, r600, softpipe, v3d)
Rob Clarkcdd90a72019-03-22 16:35:48 -0400284 GL_OES_gpu_shader5 DONE (freedreno/a6xx, all drivers that support GL_ARB_gpu_shader5)
Alejandro Piñeiro3503cb42020-02-13 11:46:10 +0100285 GL_OES_primitive_bounding_box DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, softpipe, v3d)
Mike Blumenkrantz0c702682020-10-16 12:19:34 -0400286 GL_OES_sample_shading DONE (freedreno/a6xx, i965, nvc0, r600, zink)
Rob Clark7a57cfb2019-04-25 12:28:35 -0700287 GL_OES_sample_variables DONE (freedreno/a6xx, i965, nvc0, r600)
Romain Failliot3671bb32016-03-15 16:14:09 -0400288 GL_OES_shader_image_atomic DONE (all drivers that support GL_ARB_shader_image_load_store)
Ian Romanick1472ff32016-11-08 10:10:35 -0800289 GL_OES_shader_io_blocks DONE (All drivers that support GLES 3.1)
Rob Clark7a57cfb2019-04-25 12:28:35 -0700290 GL_OES_shader_multisample_interpolation DONE (freedreno/a6xx, i965, nvc0, r600)
Kristian H. Kristensen346bb812020-06-03 12:50:15 -0700291 GL_OES_tessellation_shader DONE (freedreno/a6xx, all drivers that support GL_ARB_tessellation_shader)
Romain Failliot3671bb32016-03-15 16:14:09 -0400292 GL_OES_texture_border_clamp DONE (all drivers)
Uros Bizjak37a670d2020-03-01 18:27:13 +0100293 GL_OES_texture_buffer DONE (freedreno, i965, nvc0, r600, softpipe)
Kristian H. Kristensen346bb812020-06-03 12:50:15 -0700294 GL_OES_texture_cube_map_array DONE (freedreno/a4xx+, i965/hsw+, nvc0, r600, softpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400295 GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8)
296 GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample)
Thomas Helland2e7e3fe2015-08-12 15:07:57 +0200297
Ian Romanick6bc54912016-05-31 16:04:00 -0700298Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES version:
299
Ilia Mirkin6f4ac7b2017-06-24 00:51:13 -0400300 GL_ARB_bindless_texture DONE (nvc0, radeonsi)
Ian Romanick6bc54912016-05-31 16:04:00 -0700301 GL_ARB_cl_event not started
Plamena Manolova5664bd62018-11-12 16:29:51 +0200302 GL_ARB_compute_variable_group_size DONE (i965/gen7+, nvc0, radeonsi)
Marek Olšák26d3e2b2018-08-01 11:36:18 -0400303 GL_ARB_ES3_2_compatibility DONE (i965/gen8+, radeonsi, virgl)
Plamena Manolova93931272018-04-27 15:06:56 +0100304 GL_ARB_fragment_shader_interlock DONE (i965)
Ilia Mirkin1e4f5982017-02-05 13:08:07 -0500305 GL_ARB_gpu_shader_int64 DONE (i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe)
Marek Olšákc5c38e82018-08-06 07:05:19 -0400306 GL_ARB_parallel_shader_compile DONE (all drivers)
Dave Airlie3bb3e892020-03-26 13:27:17 +1000307 GL_ARB_post_depth_coverage DONE (i965, nvc0, radeonsi, llvmpipe)
Ian Romanick6bc54912016-05-31 16:04:00 -0700308 GL_ARB_robustness_isolation not started
Rhys Perry30f1ab72018-06-14 19:56:28 -0600309 GL_ARB_sample_locations DONE (nvc0)
Uros Bizjak37a670d2020-03-01 18:27:13 +0100310 GL_ARB_seamless_cubemap_per_texture DONE (etnaviv/SEAMLESS_CUBE_MAP, freedreno, i965, nvc0, r600, radeonsi, softpipe, swr, virgl)
Matt Turner51c16592017-06-22 17:15:28 -0700311 GL_ARB_shader_ballot DONE (i965/gen8+, nvc0, radeonsi)
Dave Airliefe0a3a42018-07-31 08:02:59 +1000312 GL_ARB_shader_clock DONE (i965/gen7+, nv50, nvc0, r600, radeonsi, virgl)
Alyssa Rosenzweig5d1bff22020-07-07 10:56:36 -0400313 GL_ARB_shader_stencil_export DONE (i965/gen9+, r600, radeonsi, softpipe, llvmpipe, swr, virgl, panfrost)
Ilia Mirkinda0a8082017-04-19 18:38:02 -0400314 GL_ARB_shader_viewport_layer_array DONE (i965/gen6+, nvc0, radeonsi)
Timothy Arceriaf432be2019-08-14 10:29:01 +1000315 GL_ARB_shading_language_include DONE
Nicolai Hähnle570e50a2017-02-02 21:11:05 +0100316 GL_ARB_sparse_buffer DONE (radeonsi/CIK+)
Ian Romanick6bc54912016-05-31 16:04:00 -0700317 GL_ARB_sparse_texture not started
318 GL_ARB_sparse_texture2 not started
319 GL_ARB_sparse_texture_clamp not started
320 GL_ARB_texture_filter_minmax not started
Tapani Pälli171e94f2020-09-01 14:21:03 +0300321 GL_EXT_color_buffer_half_float DONE (gallium drivers supporting required formats)
Jakob Bornecrantz67dd52e2017-10-15 17:42:48 +0100322 GL_EXT_memory_object DONE (radeonsi)
323 GL_EXT_memory_object_fd DONE (radeonsi)
324 GL_EXT_memory_object_win32 not started
Alyssa Rosenzweigb75427c2020-07-21 18:54:18 -0400325 GL_EXT_multisampled_render_to_texture DONE (freedreno/a6xx, panfrost)
Adam Jackson2088f352020-10-22 15:50:50 -0400326 GL_EXT_render_snorm DONE (i965, r600, radeonsi, softpipe)
Andres Rodriguez89966102018-01-30 21:42:14 -0500327 GL_EXT_semaphore DONE (radeonsi)
328 GL_EXT_semaphore_fd DONE (radeonsi)
Jakob Bornecrantz67dd52e2017-10-15 17:42:48 +0100329 GL_EXT_semaphore_win32 not started
Dave Airliefce02f42020-06-16 11:02:23 +1000330 GL_EXT_shader_group_vote DONE (all drivers that support ARB_shader_group_vote)
Gert Wollny1c5ff3a2019-04-11 09:18:37 +0200331 GL_EXT_sRGB_write_control DONE (all drivers that support GLES 3.0+)
Adam Jackson2088f352020-10-22 15:50:50 -0400332 GL_EXT_texture_norm16 DONE (freedreno, i965, r600, radeonsi, nvc0i, softpipe)
Romain Failliot7050ecc2019-04-27 17:02:21 -0400333 GL_EXT_texture_sRGB_R8 DONE (all drivers that support GLES 3.0+)
Icecream95c4171722020-07-06 12:03:46 +1200334 GL_KHR_blend_equation_advanced_coherent DONE (i965/gen9+, panfrost)
Alyssa Rosenzweigda23a312020-07-10 17:49:47 -0400335 GL_KHR_texture_compression_astc_hdr DONE (i965/bxt, panfrost)
Adam Jackson7ded8462020-10-22 16:16:55 -0400336 GL_KHR_texture_compression_astc_sliced_3d DONE (i965/gen9+, r600, radeonsi, panfrost, softpipe, swr)
Ian Romanick6bc54912016-05-31 16:04:00 -0700337 GL_OES_depth_texture_cube_map DONE (all drivers that support GLSL 1.30+)
338 GL_OES_EGL_image DONE (all drivers)
Tapani Pälli58ba7ab2018-06-14 14:08:09 +0300339 GL_OES_EGL_image_external DONE (all drivers)
340 GL_OES_EGL_image_external_essl3 DONE (all drivers)
Eric Anholtc16a7442017-05-01 09:28:33 -0700341 GL_OES_required_internalformat DONE (all drivers)
Ian Romanick6bc54912016-05-31 16:04:00 -0700342 GL_OES_surfaceless_context DONE (all drivers)
343 GL_OES_texture_compression_astc DONE (core only)
Adam Jackson7ded8462020-10-22 16:16:55 -0400344 GL_OES_texture_float DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr)
345 GL_OES_texture_float_linear DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr)
346 GL_OES_texture_half_float DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr)
347 GL_OES_texture_half_float_linear DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr)
Dieter Nützel2669dbf2018-12-04 22:20:10 +0100348 GL_OES_texture_view DONE (freedreno, i965/gen8+, r600, radeonsi, nv50, nvc0, softpipe, llvmpipe, swr)
Uros Bizjak37a670d2020-03-01 18:27:13 +0100349 GL_OES_viewport_array DONE (i965, nvc0, r600, radeonsi, softpipe)
Adam Jackson1cbcd702018-01-15 13:47:24 -0500350 GLX_ARB_context_flush_control not started
Ian Romanick6bc54912016-05-31 16:04:00 -0700351 GLX_ARB_robustness_application_isolation not started
352 GLX_ARB_robustness_share_group_isolation not started
353
Marek Olšák945e9cd2018-09-17 23:30:32 -0400354GL_EXT_direct_state_access subfeatures (in the spec order):
Pierre-Eric Pelloux-Prayerdc057f62019-11-06 10:30:13 +0100355 GL 1.1: Client commands DONE
356 GL 1.0-1.3: Matrix and transpose matrix commands DONE
357 GL 1.1-1.2: Texture commands DONE
358 GL 1.2: 3D texture commands DONE
359 GL 1.2.1: Multitexture commands DONE
360 GL 1.2.1-3.0: Indexed texture commands DONE
361 GL 1.2.1-3.0: Indexed generic queries DONE
362 GL 1.2.1: EnableIndexed.. Get*Indexed DONE
363 GL_ARB_vertex_program DONE
364 GL 1.3: Compressed texture and multitexture commands DONE
365 GL 1.5: Buffer commands DONE
366 GL 2.0-2.1: Uniform and uniform matrix commands DONE
367 GL_EXT_texture_buffer_object DONE
368 GL_EXT_texture_integer DONE
369 GL_EXT_gpu_shader4 DONE
370 GL_EXT_gpu_program_parameters DONE
Marek Olšák945e9cd2018-09-17 23:30:32 -0400371 GL_NV_gpu_program4 n/a
372 GL_NV_framebuffer_multisample_coverage n/a
Pierre-Eric Pelloux-Prayerdc057f62019-11-06 10:30:13 +0100373 GL 3.0: Renderbuffer/framebuffer commands, Gen*Mipmap DONE
374 GL 3.0: CopyBuffer command DONE
375 GL_EXT_geometry_shader4 commands (expose in GL 3.2) DONE
Marek Olšák945e9cd2018-09-17 23:30:32 -0400376 GL_NV_explicit_multisample n/a
Pierre-Eric Pelloux-Prayerdc057f62019-11-06 10:30:13 +0100377 GL 3.0: Vertex array/attrib/query/map commands DONE
378 Matrix GL tokens DONE
Marek Olšák945e9cd2018-09-17 23:30:32 -0400379
380GL_EXT_direct_state_access additions from other extensions (complete list):
381 GL_AMD_framebuffer_sample_positions n/a
Pierre-Eric Pelloux-Prayerdc057f62019-11-06 10:30:13 +0100382 GL_AMD_gpu_shader_int64 n/a (not enabled in compat profile)
383 GL_ARB_bindless_texture DONE
384 GL_ARB_buffer_storage DONE
Pierre-Eric Pelloux-Prayere3385eb2019-11-05 15:37:12 +0100385 GL_ARB_clear_buffer_object DONE
Pierre-Eric Pelloux-Prayer8cfb3e42019-11-05 14:47:53 +0100386 GL_ARB_framebuffer_no_attachments DONE
Pierre-Eric Pelloux-Prayera807b8c2019-11-06 10:57:53 +0100387 GL_ARB_gpu_shader_fp64 DONE
Pierre-Eric Pelloux-Prayerb78e2a12019-11-06 12:16:30 +0100388 GL_ARB_instanced_arrays DONE
Pierre-Eric Pelloux-Prayerdc057f62019-11-06 10:30:13 +0100389 GL_ARB_internalformat_query2 DONE
Marek Olšák945e9cd2018-09-17 23:30:32 -0400390 GL_ARB_sparse_texture n/a
Pierre-Eric Pelloux-Prayer1ef29762019-11-07 14:25:19 +0100391 GL_ARB_sparse_buffer DONE
Pierre-Eric Pelloux-Prayera0d66702019-11-06 14:04:55 +0100392 GL_ARB_texture_buffer_range DONE
Pierre-Eric Pelloux-Prayerdc057f62019-11-06 10:30:13 +0100393 GL_ARB_texture_storage DONE
Pierre-Eric Pelloux-Prayerbb2241b2019-11-06 15:42:10 +0100394 GL_ARB_texture_storage_multisample DONE
Pierre-Eric Pelloux-Prayer442fd3d2019-11-05 15:04:52 +0100395 GL_ARB_vertex_attrib_64bit DONE
Pierre-Eric Pelloux-Prayerdc057f62019-11-06 10:30:13 +0100396 GL_ARB_vertex_attrib_binding DONE
397 GL_EXT_buffer_storage DONE
398 GL_EXT_external_buffer n/a
Marek Olšák945e9cd2018-09-17 23:30:32 -0400399 GL_EXT_separate_shader_objects n/a
400 GL_EXT_sparse_texture n/a
401 GL_EXT_texture_storage n/a
Pierre-Eric Pelloux-Prayer442fd3d2019-11-05 15:04:52 +0100402 GL_EXT_vertex_attrib_64bit DONE
Marek Olšák945e9cd2018-09-17 23:30:32 -0400403 GL_EXT_EGL_image_storage n/a
404 GL_NV_bindless_texture n/a
405 GL_NV_gpu_shader5 n/a
406 GL_NV_texture_multisample n/a
407 GL_NV_vertex_buffer_unified_memory n/a
408 GL_NVX_linked_gpu_multicast n/a
409 GLX_NV_copy_buffer n/a
410
Ian Romanick6bc54912016-05-31 16:04:00 -0700411The following extensions are not part of any OpenGL or OpenGL ES version, and
412we DO NOT WANT implementations of these extensions for Mesa.
413
414 GL_ARB_geometry_shader4 Superseded by GL 3.2 geometry shaders
415 GL_ARB_matrix_palette Superseded by GL_ARB_vertex_program
Ian Romanick6bc54912016-05-31 16:04:00 -0700416 GL_ARB_shadow_ambient Superseded by GL_ARB_fragment_program
417 GL_ARB_vertex_blend Superseded by GL_ARB_vertex_program
418
Alejandro Piñeiro11d70e72020-10-14 09:48:44 +0200419Vulkan 1.0 -- all DONE: anv, radv, v3dv
Jordan Justenfe3d2552017-07-31 14:32:04 -0700420
Jason Ekstrand55b68c42018-07-11 16:03:37 -0700421Vulkan 1.1 -- all DONE: anv, radv
422
Andres Gomez53c24cf2019-09-18 15:25:16 +0300423 VK_KHR_16bit_storage DONE (anv/gen8+, radv)
Jason Ekstrand55b68c42018-07-11 16:03:37 -0700424 VK_KHR_bind_memory2 DONE (anv, radv)
Jordan Justenfe3d2552017-07-31 14:32:04 -0700425 VK_KHR_dedicated_allocation DONE (anv, radv)
426 VK_KHR_descriptor_update_template DONE (anv, radv)
Jason Ekstrand55b68c42018-07-11 16:03:37 -0700427 VK_KHR_device_group not started
428 VK_KHR_device_group_creation not started
Jason Ekstrandbc15d742018-07-11 16:03:36 -0700429 VK_KHR_external_fence DONE (anv, radv)
430 VK_KHR_external_fence_capabilities DONE (anv, radv)
Alejandro Piñeiro11d70e72020-10-14 09:48:44 +0200431 VK_KHR_external_memory DONE (anv, radv, v3dv)
432 VK_KHR_external_memory_capabilities DONE (anv, radv, v3dv)
Jason Ekstrandbc15d742018-07-11 16:03:36 -0700433 VK_KHR_external_semaphore DONE (anv, radv)
434 VK_KHR_external_semaphore_capabilities DONE (anv, radv)
Jordan Justenfe3d2552017-07-31 14:32:04 -0700435 VK_KHR_get_memory_requirements2 DONE (anv, radv)
Alejandro Piñeiro11d70e72020-10-14 09:48:44 +0200436 VK_KHR_get_physical_device_properties2 DONE (anv, radv, v3dv)
Jason Ekstrand55b68c42018-07-11 16:03:37 -0700437 VK_KHR_maintenance1 DONE (anv, radv)
438 VK_KHR_maintenance2 DONE (anv, radv)
439 VK_KHR_maintenance3 DONE (anv, radv)
440 VK_KHR_multiview DONE (anv, radv)
441 VK_KHR_relaxed_block_layout DONE (anv, radv)
Andres Gomez53c24cf2019-09-18 15:25:16 +0300442 VK_KHR_sampler_ycbcr_conversion DONE (anv, radv)
Jason Ekstrand55b68c42018-07-11 16:03:37 -0700443 VK_KHR_shader_draw_parameters DONE (anv, radv)
444 VK_KHR_storage_buffer_storage_class DONE (anv, radv)
445 VK_KHR_variable_pointers DONE (anv, radv)
446
Rhys Perryaaa94d92020-08-10 13:31:29 +0100447Vulkan 1.2 -- all DONE: anv
Andres Gomezbcd92242019-09-18 15:34:33 +0300448
Andres Gomez53c24cf2019-09-18 15:25:16 +0300449 VK_KHR_8bit_storage DONE (anv/gen8+, radv)
Rhys Perry8c4d15d2020-08-10 13:20:40 +0100450 VK_KHR_buffer_device_address DONE (anv/gen8+, radv)
Jason Ekstrandc2587ac2018-07-11 16:03:38 -0700451 VK_KHR_create_renderpass2 DONE (anv, radv)
Andres Gomez53c24cf2019-09-18 15:25:16 +0300452 VK_KHR_depth_stencil_resolve DONE (anv, radv)
Andres Gomez53c24cf2019-09-18 15:25:16 +0300453 VK_KHR_draw_indirect_count DONE (anv, radv)
454 VK_KHR_driver_properties DONE (anv, radv)
Rhys Perryaaa94d92020-08-10 13:31:29 +0100455 VK_KHR_image_format_list DONE (anv, radv)
456 VK_KHR_imageless_framebuffer DONE (anv, radv)
457 VK_KHR_sampler_mirror_clamp_to_edge DONE (anv, radv)
458 VK_KHR_separate_depth_stencil_layouts DONE (anv, radv)
Anthoine Bourgeois3d58ab72020-04-29 01:28:02 +0200459 VK_KHR_shader_atomic_int64 DONE (anv/gen9+, radv)
Rhys Perryaaa94d92020-08-10 13:31:29 +0100460 VK_KHR_shader_float16_int8 DONE (anv/gen8+, radv)
461 VK_KHR_shader_float_controls DONE (anv/gen8+, radv)
462 VK_KHR_shader_subgroup_extended_types DONE (anv/gen8+, radv)
463 VK_KHR_spirv_1_4 DONE (anv, radv)
464 VK_KHR_timeline_semaphore DONE (anv, radv)
465 VK_KHR_uniform_buffer_standard_layout DONE (anv, radv)
466 VK_KHR_vulkan_memory_model DONE (anv, radv)
467 VK_EXT_descriptor_indexing DONE (anv/gen9+, radv)
468 VK_EXT_host_query_reset DONE (anv, radv)
469 VK_EXT_sampler_filter_minmax DONE (anv/gen9+, radv)
470 VK_EXT_scalar_block_layout DONE (anv, radv/gfx7+)
Anthoine Bourgeois6a967292020-11-03 18:13:50 +0100471 VK_EXT_separate_stencil_usage DONE (anv)
Rhys Perryaaa94d92020-08-10 13:31:29 +0100472 VK_EXT_shader_viewport_index_layer DONE (anv, radv)
473
474Khronos extensions that are not part of any Vulkan version:
475
476 VK_KHR_android_surface not started
Anthoine Bourgeoisf6e5baf2020-04-29 01:28:24 +0200477 VK_KHR_copy_commands2 DONE (anv, radv)
Rhys Perryaaa94d92020-08-10 13:31:29 +0100478 VK_KHR_display DONE (anv, radv)
479 VK_KHR_display_swapchain not started
Jason Ekstrand55b68c42018-07-11 16:03:37 -0700480 VK_KHR_external_fence_fd DONE (anv, radv)
481 VK_KHR_external_fence_win32 not started
Alejandro Piñeiro11d70e72020-10-14 09:48:44 +0200482 VK_KHR_external_memory_fd DONE (anv, radv, v3dv)
Jason Ekstrand55b68c42018-07-11 16:03:37 -0700483 VK_KHR_external_memory_win32 not started
484 VK_KHR_external_semaphore_fd DONE (anv, radv)
485 VK_KHR_external_semaphore_win32 not started
Anthoine Bourgeoisf6e5baf2020-04-29 01:28:24 +0200486 VK_KHR_fragment_shading_rate not started
Jason Ekstrandc2587ac2018-07-11 16:03:38 -0700487 VK_KHR_get_display_properties2 DONE (anv, radv)
Jason Ekstrandbc15d742018-07-11 16:03:36 -0700488 VK_KHR_get_surface_capabilities2 DONE (anv, radv)
Jordan Justenfe3d2552017-07-31 14:32:04 -0700489 VK_KHR_incremental_present DONE (anv, radv)
Rhys Perry8c4d15d2020-08-10 13:20:40 +0100490 VK_KHR_performance_query DONE (anv/gen8+)
Andres Gomez53c24cf2019-09-18 15:25:16 +0300491 VK_KHR_pipeline_executable_properties DONE (anv, radv)
Jordan Justenfe3d2552017-07-31 14:32:04 -0700492 VK_KHR_push_descriptor DONE (anv, radv)
Rhys Perry8c4d15d2020-08-10 13:20:40 +0100493 VK_KHR_shader_clock DONE (anv, radv)
Rhys Perry8c4d15d2020-08-10 13:20:40 +0100494 VK_KHR_shader_non_semantic_info DONE (anv, radv)
Anthoine Bourgeoisf6e5baf2020-04-29 01:28:24 +0200495 VK_KHR_shader_terminate_invocation DONE (anv, radv)
Jordan Justenfe3d2552017-07-31 14:32:04 -0700496 VK_KHR_shared_presentable_image not started
Jordan Justenfe3d2552017-07-31 14:32:04 -0700497 VK_KHR_surface DONE (anv, radv)
Andres Gomez53c24cf2019-09-18 15:25:16 +0300498 VK_KHR_surface_protected_capabilities DONE (anv, radv)
Jordan Justenfe3d2552017-07-31 14:32:04 -0700499 VK_KHR_swapchain DONE (anv, radv)
Bas Nieuwenhuizen1b447bd2020-01-16 03:07:32 +0100500 VK_KHR_swapchain_mutable_format DONE (anv, radv)
Jordan Justenfe3d2552017-07-31 14:32:04 -0700501 VK_KHR_wayland_surface DONE (anv, radv)
502 VK_KHR_win32_keyed_mutex not started
503 VK_KHR_win32_surface not started
504 VK_KHR_xcb_surface DONE (anv, radv)
505 VK_KHR_xlib_surface DONE (anv, radv)
506
Brian Paul023a9e32017-02-01 14:35:03 -0700507
508A graphical representation of this information can be found at
Eric Engestrom30cf9ff2017-02-09 02:10:17 +0000509https://mesamatrix.net/