blob: 6513c693fa073bfa3045fcc96a93cfe06eb5fffa [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
27OpenGL 3.1 and later versions are only supported with the Core profile.
28There are no plans to support GL_ARB_compatibility. The last supported OpenGL
29version with all deprecated features is 3.0. Some of the later GL features
30are exposed in the 3.0 context as extensions.
31
32
Romain Failliot3671bb32016-03-15 16:14:09 -040033Feature Status
34------------------------------------------------------- ------------------------
Brian Paul9b0bbe12009-12-30 10:39:20 -070035
Romain Failliot8d8ed432017-01-03 10:41:22 -050036GL 3.0, GLSL 1.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr
Brian Paul9b0bbe12009-12-30 10:39:20 -070037
Joerg Mayerf9868922013-11-16 22:13:03 +000038 glBindFragDataLocation, glGetFragDataLocation DONE
Romain Failliot15172412016-03-15 16:14:11 -040039 GL_NV_conditional_render (Conditional rendering) DONE ()
40 GL_ARB_map_buffer_range (Map buffer subranges) DONE ()
41 GL_ARB_color_buffer_float (Clamping controls) DONE ()
42 GL_ARB_texture_float (Float textures, renderbuffers) DONE ()
Joerg Mayerf9868922013-11-16 22:13:03 +000043 GL_EXT_packed_float DONE ()
Marek Olšák4e46af02015-03-16 23:19:17 +010044 GL_EXT_texture_shared_exponent DONE ()
Romain Failliot15172412016-03-15 16:14:11 -040045 GL_ARB_depth_buffer_float (Float depth buffers) DONE ()
46 GL_ARB_framebuffer_object (Framebuffer objects) DONE ()
Ian Romanick1edca152014-01-13 15:23:48 -080047 GL_ARB_half_float_pixel DONE (all drivers)
Marek Olšák4e46af02015-03-16 23:19:17 +010048 GL_ARB_half_float_vertex DONE ()
Marek Olšák0ad57be2013-12-04 00:25:55 +010049 GL_EXT_texture_integer DONE ()
50 GL_EXT_texture_array DONE ()
Romain Failliot15172412016-03-15 16:14:11 -040051 GL_EXT_draw_buffers2 (Per-buffer blend and masks) DONE ()
Marek Olšák4e46af02015-03-16 23:19:17 +010052 GL_EXT_texture_compression_rgtc DONE ()
53 GL_ARB_texture_rg DONE ()
Romain Failliot15172412016-03-15 16:14:11 -040054 GL_EXT_transform_feedback (Transform feedback) DONE ()
55 GL_ARB_vertex_array_object (Vertex array objects) DONE ()
56 GL_EXT_framebuffer_sRGB (sRGB framebuffer format) DONE ()
Joerg Mayerf9868922013-11-16 22:13:03 +000057 glClearBuffer commands DONE
58 glGetStringi command DONE
59 glTexParameterI, glGetTexParameterI commands DONE
60 glVertexAttribI commands DONE
61 Depth format cube textures DONE ()
62 GLX_ARB_create_context (GLX 1.4 is required) DONE
Romain Failliot8d8ed432017-01-03 10:41:22 -050063 Multisample anti-aliasing DONE (freedreno (*), llvmpipe (*), softpipe (*), swr (*))
Brian Paul9b0bbe12009-12-30 10:39:20 -070064
Romain Failliot8d8ed432017-01-03 10:41:22 -050065(*) freedreno, llvmpipe, softpipe, and swr have fake Multisample anti-aliasing support
Brian Paul9b0bbe12009-12-30 10:39:20 -070066
Roland Scheidegger17eabfe2014-08-25 18:21:53 +020067
Romain Failliot8d8ed432017-01-03 10:41:22 -050068GL 3.1, GLSL 1.40 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr
Brian Paul9b0bbe12009-12-30 10:39:20 -070069
Joerg Mayerf9868922013-11-16 22:13:03 +000070 Forward compatible context support/deprecations DONE ()
Romain Failliot15172412016-03-15 16:14:11 -040071 GL_ARB_draw_instanced (Instanced drawing) DONE ()
72 GL_ARB_copy_buffer (Buffer copying) DONE ()
73 GL_NV_primitive_restart (Primitive restart) DONE ()
Joerg Mayerf9868922013-11-16 22:13:03 +000074 16 vertex texture image units DONE ()
Romain Failliot15172412016-03-15 16:14:11 -040075 GL_ARB_texture_buffer_object (Texture buffer objs) DONE (for OpenGL 3.1 contexts)
76 GL_ARB_texture_rectangle (Rectangular textures) DONE ()
77 GL_ARB_uniform_buffer_object (Uniform buffer objs) DONE ()
78 GL_EXT_texture_snorm (Signed normalized textures) DONE ()
Brian Paul9b0bbe12009-12-30 10:39:20 -070079
80
Tim Rowleybb8a4242017-03-02 16:45:53 -060081GL 3.2, GLSL 1.50 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr
Brian Paul9b0bbe12009-12-30 10:39:20 -070082
Joerg Mayerf9868922013-11-16 22:13:03 +000083 Core/compatibility profiles DONE
Joerg Mayerf9868922013-11-16 22:13:03 +000084 Geometry shaders DONE ()
Tim Rowleybb8a4242017-03-02 16:45:53 -060085 GL_ARB_vertex_array_bgra (BGRA vertex order) DONE (freedreno)
86 GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (freedreno)
87 GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (freedreno)
88 GL_ARB_provoking_vertex (Provoking vertex) DONE (freedreno)
89 GL_ARB_seamless_cube_map (Seamless cubemaps) DONE (freedreno)
90 GL_ARB_texture_multisample (Multisample textures) DONE ()
91 GL_ARB_depth_clamp (Frag depth clamp) DONE (freedreno)
92 GL_ARB_sync (Fence objects) DONE (freedreno)
Joerg Mayerf9868922013-11-16 22:13:03 +000093 GLX_ARB_create_context_profile DONE
Brian Paul9b0bbe12009-12-30 10:39:20 -070094
95
Roland Scheidegger17eabfe2014-08-25 18:21:53 +020096GL 3.3, GLSL 3.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe
Brian Pauld35c2ca2010-05-11 21:03:53 -060097
Romain Failliot8d8ed432017-01-03 10:41:22 -050098 GL_ARB_blend_func_extended DONE (freedreno/a3xx, swr)
Ian Romanickbc0ed682014-01-13 14:48:16 -080099 GL_ARB_explicit_attrib_location DONE (all drivers that support GLSL)
Romain Failliot8d8ed432017-01-03 10:41:22 -0500100 GL_ARB_occlusion_query2 DONE (freedreno, swr)
Ian Romanickbc0ed682014-01-13 14:48:16 -0800101 GL_ARB_sampler_objects DONE (all drivers)
Romain Failliot8d8ed432017-01-03 10:41:22 -0500102 GL_ARB_shader_bit_encoding DONE (freedreno, swr)
103 GL_ARB_texture_rgb10_a2ui DONE (freedreno, swr)
104 GL_ARB_texture_swizzle DONE (freedreno, swr)
Tim Rowley78572c92016-05-16 11:02:27 -0500105 GL_ARB_timer_query DONE (swr)
Romain Failliot8d8ed432017-01-03 10:41:22 -0500106 GL_ARB_instanced_arrays DONE (freedreno, swr)
107 GL_ARB_vertex_type_2_10_10_10_rev DONE (freedreno, swr)
Brian Pauld35c2ca2010-05-11 21:03:53 -0600108
109
Iago Toral Quiroga8dc92a52017-01-05 09:20:48 +0100110GL 4.0, GLSL 4.00 --- all DONE: i965/hsw+, nvc0, r600, radeonsi
Brian Pauld35c2ca2010-05-11 21:03:53 -0600111
Romain Failliot8d8ed432017-01-03 10:41:22 -0500112 GL_ARB_draw_buffers_blend DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr)
Ian Romanickd1fbd4c2016-05-16 11:30:19 -0700113 GL_ARB_draw_indirect DONE (i965/gen7+, llvmpipe, softpipe, swr)
114 GL_ARB_gpu_shader5 DONE (i965/gen7+)
Romain Failliot3671bb32016-03-15 16:14:09 -0400115 - 'precise' qualifier DONE
116 - Dynamically uniform sampler array indices DONE (softpipe)
117 - Dynamically uniform UBO array indices DONE ()
118 - Implicit signed -> unsigned conversions DONE
119 - Fused multiply-add DONE ()
120 - Packing/bitfield/conversion functions DONE (softpipe)
121 - Enhanced textureGather DONE (softpipe)
122 - Geometry shader instancing DONE (llvmpipe, softpipe)
123 - Geometry shader multiple streams DONE ()
124 - Enhanced per-sample shading DONE ()
125 - Interpolation functions DONE ()
126 - New overload resolution rules DONE
Iago Toral Quiroga8dc92a52017-01-05 09:20:48 +0100127 GL_ARB_gpu_shader_fp64 DONE (i965/hsw+, llvmpipe, softpipe)
Ian Romanickd1fbd4c2016-05-16 11:30:19 -0700128 GL_ARB_sample_shading DONE (i965/gen6+, nv50)
129 GL_ARB_shader_subroutine DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr)
130 GL_ARB_tessellation_shader DONE (i965/gen7+)
Kenneth Graunke44ef2ce2016-07-22 09:56:53 -0700131 GL_ARB_texture_buffer_object_rgb32 DONE (i965/gen6+, llvmpipe, softpipe, swr)
Ian Romanickd1fbd4c2016-05-16 11:30:19 -0700132 GL_ARB_texture_cube_map_array DONE (i965/gen6+, nv50, llvmpipe, softpipe)
133 GL_ARB_texture_gather DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400134 GL_ARB_texture_query_lod DONE (i965, nv50, softpipe)
Kenneth Graunkeed6b47f2017-02-17 10:18:35 -0800135 GL_ARB_transform_feedback2 DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr)
Ilia Mirkin3fdeb7c2016-10-14 00:03:12 -0400136 GL_ARB_transform_feedback3 DONE (i965/gen7+, llvmpipe, softpipe, swr)
Marek Olšák2892c8b2010-11-21 22:54:33 +0100137
138
Juan A. Suarez Romero75968a62016-10-11 15:05:36 +0000139GL 4.1, GLSL 4.10 --- all DONE: i965/hsw+, nvc0, r600, radeonsi
Marek Olšák2892c8b2010-11-21 22:54:33 +0100140
Tim Rowley78572c92016-05-16 11:02:27 -0500141 GL_ARB_ES2_compatibility DONE (i965, nv50, llvmpipe, softpipe, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400142 GL_ARB_get_program_binary DONE (0 binary formats)
143 GL_ARB_separate_shader_objects DONE (all drivers)
Samuel Iglesias Gonsálvez77077982016-10-17 13:59:18 +0200144 GL_ARB_shader_precision DONE (i965/hsw+, all drivers that support GLSL 4.10)
Alejandro Piñeiro485955b2016-07-07 11:49:33 +0200145 GL_ARB_vertex_attrib_64bit DONE (i965/hsw+, llvmpipe, softpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400146 GL_ARB_viewport_array DONE (i965, nv50, llvmpipe, softpipe)
Brian Pauld35c2ca2010-05-11 21:03:53 -0600147
148
Juan A. Suarez Romero75968a62016-10-11 15:05:36 +0000149GL 4.2, GLSL 4.20 -- all DONE: i965/hsw+, nvc0, radeonsi
Marek Olšák768589e2012-07-05 20:27:28 +0200150
Ilia Mirkin68d13502016-05-30 15:18:02 -0400151 GL_ARB_texture_compression_bptc DONE (i965, r600)
Romain Failliot3671bb32016-03-15 16:14:09 -0400152 GL_ARB_compressed_texture_pixel_storage DONE (all drivers)
Ilia Mirkin68d13502016-05-30 15:18:02 -0400153 GL_ARB_shader_atomic_counters DONE (i965, softpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400154 GL_ARB_texture_storage DONE (all drivers)
Ilia Mirkin68d13502016-05-30 15:18:02 -0400155 GL_ARB_transform_feedback_instanced DONE (i965, nv50, r600, llvmpipe, softpipe, swr)
156 GL_ARB_base_instance DONE (i965, nv50, r600, llvmpipe, softpipe, swr)
157 GL_ARB_shader_image_load_store DONE (i965, softpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400158 GL_ARB_conservative_depth DONE (all drivers that support GLSL 1.30)
159 GL_ARB_shading_language_420pack DONE (all drivers that support GLSL 1.30)
160 GL_ARB_shading_language_packing DONE (all drivers)
Ilia Mirkin68d13502016-05-30 15:18:02 -0400161 GL_ARB_internalformat_query DONE (i965, nv50, r600, llvmpipe, softpipe, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400162 GL_ARB_map_buffer_alignment DONE (all drivers)
Brian Pauld35c2ca2010-05-11 21:03:53 -0600163
Brian Paul90894362010-01-05 16:03:11 -0700164
Ian Romanick8cd5c3c2016-05-16 11:30:19 -0700165GL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, radeonsi
Jason Wood56c1f552012-08-06 13:47:27 -0600166
Romain Failliot3671bb32016-03-15 16:14:09 -0400167 GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
168 GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30)
169 GL_ARB_clear_buffer_object DONE (all drivers)
Ilia Mirkin68d13502016-05-30 15:18:02 -0400170 GL_ARB_compute_shader DONE (i965, softpipe)
Brian Paul5cfc9162016-06-10 15:50:51 -0600171 GL_ARB_copy_image DONE (i965, nv50, r600, softpipe, llvmpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400172 GL_KHR_debug DONE (all drivers)
173 GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
Lars Hamre198074a2016-07-19 01:20:27 +0200174 GL_ARB_fragment_layer_viewport DONE (i965, nv50, r600, llvmpipe, softpipe)
Ilia Mirkin68d13502016-05-30 15:18:02 -0400175 GL_ARB_framebuffer_no_attachments DONE (i965, r600, softpipe)
Dave Airlieee7c8b92016-03-04 12:33:46 +1000176 GL_ARB_internalformat_query2 DONE (all drivers)
Romain Failliot3671bb32016-03-15 16:14:09 -0400177 GL_ARB_invalidate_subdata DONE (all drivers)
Ilia Mirkin68d13502016-05-30 15:18:02 -0400178 GL_ARB_multi_draw_indirect DONE (i965, r600, llvmpipe, softpipe, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400179 GL_ARB_program_interface_query DONE (all drivers)
Ilia Mirkin68d13502016-05-30 15:18:02 -0400180 GL_ARB_robust_buffer_access_behavior DONE (i965)
181 GL_ARB_shader_image_size DONE (i965, softpipe)
182 GL_ARB_shader_storage_buffer_object DONE (i965, softpipe)
Jordan Justen79702382016-08-18 15:05:13 -0700183 GL_ARB_stencil_texturing DONE (i965/hsw+, nv50, r600, llvmpipe, softpipe, swr)
Ilia Mirkin68d13502016-05-30 15:18:02 -0400184 GL_ARB_texture_buffer_range DONE (nv50, i965, r600, llvmpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400185 GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30)
186 GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
Ilia Mirkin68d13502016-05-30 15:18:02 -0400187 GL_ARB_texture_view DONE (i965, nv50, r600, llvmpipe, softpipe, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400188 GL_ARB_vertex_attrib_binding DONE (all drivers)
Jason Wood56c1f552012-08-06 13:47:27 -0600189
190
Ilia Mirkin5f885222016-10-13 21:42:54 -0400191GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, radeonsi
Chris Forbes5a7bdd42013-07-23 09:17:47 +1200192
Romain Failliot3671bb32016-03-15 16:14:09 -0400193 GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
Gregory Hainautb3605012017-02-24 21:45:12 +0100194 GL_ARB_buffer_storage DONE (i965, nv50, r600, llvmpipe, swr)
Bruce Cherniak74aa6fd2017-02-25 21:17:07 -0600195 GL_ARB_clear_texture DONE (i965, nv50, r600, llvmpipe, softpipe, swr)
Ilia Mirkin5f885222016-10-13 21:42:54 -0400196 GL_ARB_enhanced_layouts DONE (i965, nv50, llvmpipe, softpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400197 - compile-time constant expressions DONE
198 - explicit byte offsets for blocks DONE
199 - forced alignment within blocks DONE
Ilia Mirkin5f885222016-10-13 21:42:54 -0400200 - specified vec4-slot component numbers DONE (i965, nv50, llvmpipe, softpipe)
Timothy Arcerib2739582016-03-10 16:41:03 +1100201 - specified transform/feedback layout DONE
Romain Failliot3671bb32016-03-15 16:14:09 -0400202 - input/output block locations DONE
203 GL_ARB_multi_bind DONE (all drivers)
Ilia Mirkin5f885222016-10-13 21:42:54 -0400204 GL_ARB_query_buffer_object DONE (i965/hsw+)
205 GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, r600, llvmpipe, softpipe, swr)
206 GL_ARB_texture_stencil8 DONE (i965/hsw+, nv50, r600, llvmpipe, softpipe, swr)
207 GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, r600, llvmpipe, softpipe, swr)
Chris Forbes5a7bdd42013-07-23 09:17:47 +1200208
Edward O'Callaghan1c05f922016-10-14 15:30:50 +1100209GL 4.5, GLSL 4.50 -- all DONE: nvc0, radeonsi
Ilia Mirkin82903ac2014-08-11 15:07:09 -0400210
Edward O'Callaghan1c05f922016-10-14 15:30:50 +1100211 GL_ARB_ES3_1_compatibility DONE (i965/hsw+)
212 GL_ARB_clip_control DONE (i965, nv50, r600, llvmpipe, softpipe, swr)
213 GL_ARB_conditional_render_inverted DONE (i965, nv50, r600, llvmpipe, softpipe, swr)
214 GL_ARB_cull_distance DONE (i965, nv50, llvmpipe, softpipe, swr)
215 GL_ARB_derivative_control DONE (i965, nv50, r600)
Romain Failliot3671bb32016-03-15 16:14:09 -0400216 GL_ARB_direct_state_access DONE (all drivers)
217 GL_ARB_get_texture_sub_image DONE (all drivers)
Edward O'Callaghan1c05f922016-10-14 15:30:50 +1100218 GL_ARB_shader_texture_image_samples DONE (i965, nv50, r600)
219 GL_ARB_texture_barrier DONE (i965, nv50, r600)
Romain Failliot3671bb32016-03-15 16:14:09 -0400220 GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
Edward O'Callaghan1c05f922016-10-14 15:30:50 +1100221 GL_KHR_robustness DONE (i965)
Romain Failliot3671bb32016-03-15 16:14:09 -0400222 GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
Ilia Mirkin82903ac2014-08-11 15:07:09 -0400223
Dave Airliec6323342014-08-11 09:04:47 +1000224These are the extensions cherry-picked to make GLES 3.1
Jordan Justen79702382016-08-18 15:05:13 -0700225GLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, radeonsi
Ian Romanick7dc99da2016-05-16 11:26:15 -0700226
Romain Failliot3671bb32016-03-15 16:14:09 -0400227 GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
Ian Romanick7dc99da2016-05-16 11:26:15 -0700228 GL_ARB_compute_shader DONE (i965/gen7+, softpipe)
229 GL_ARB_draw_indirect DONE (i965/gen7+, r600, llvmpipe, softpipe, swr)
Romain Failliot3671bb32016-03-15 16:14:09 -0400230 GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
Ian Romanick7dc99da2016-05-16 11:26:15 -0700231 GL_ARB_framebuffer_no_attachments DONE (i965/gen7+, r600, softpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400232 GL_ARB_program_interface_query DONE (all drivers)
Ian Romanick7dc99da2016-05-16 11:26:15 -0700233 GL_ARB_shader_atomic_counters DONE (i965/gen7+, softpipe)
234 GL_ARB_shader_image_load_store DONE (i965/gen7+, softpipe)
235 GL_ARB_shader_image_size DONE (i965/gen7+, softpipe)
236 GL_ARB_shader_storage_buffer_object DONE (i965/gen7+, softpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400237 GL_ARB_shading_language_packing DONE (all drivers)
238 GL_ARB_separate_shader_objects DONE (all drivers)
Ian Romanick7dc99da2016-05-16 11:26:15 -0700239 GL_ARB_stencil_texturing DONE (nv50, r600, llvmpipe, softpipe, swr)
240 GL_ARB_texture_multisample (Multisample textures) DONE (i965/gen7+, nv50, r600, llvmpipe, softpipe)
Romain Failliot3671bb32016-03-15 16:14:09 -0400241 GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
242 GL_ARB_vertex_attrib_binding DONE (all drivers)
Ian Romanick7dc99da2016-05-16 11:26:15 -0700243 GS5 Enhanced textureGather DONE (i965/gen7+, r600)
244 GS5 Packing/bitfield/conversion functions DONE (i965/gen6+, r600)
Romain Failliot3671bb32016-03-15 16:14:09 -0400245 GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
Dave Airliec6323342014-08-11 09:04:47 +1000246
Tapani Pällid1bce522015-09-14 08:50:51 +0300247 Additional functionality not covered above:
Romain Failliot3671bb32016-03-15 16:14:09 -0400248 glMemoryBarrierByRegion DONE
249 glGetTexLevelParameter[fi]v - needs updates DONE
Tapani Pällid1bce522015-09-14 08:50:51 +0300250 glGetBooleani_v - restrict to GLES enums
Ilia Mirkin68d13502016-05-30 15:18:02 -0400251 gl_HelperInvocation support DONE (i965, r600)
Ilia Mirkin82903ac2014-08-11 15:07:09 -0400252
Kenneth Graunke6c648cd2016-09-21 11:51:43 -0700253GLES3.2, GLSL ES 3.2 -- all DONE: i965/gen9+
Ian Romanick7dc99da2016-05-16 11:26:15 -0700254
Romain Failliot3671bb32016-03-15 16:14:09 -0400255 GL_EXT_color_buffer_float DONE (all drivers)
Ilia Mirkin5ba380c2017-01-02 00:48:51 -0500256 GL_KHR_blend_equation_advanced DONE (i965, nvc0)
Romain Failliot3671bb32016-03-15 16:14:09 -0400257 GL_KHR_debug DONE (all drivers)
Edward O'Callaghan185be152016-10-07 23:21:32 +1100258 GL_KHR_robustness DONE (i965, nvc0, radeonsi)
Romain Failliot3671bb32016-03-15 16:14:09 -0400259 GL_KHR_texture_compression_astc_ldr DONE (i965/gen9+)
Ilia Mirkind816a512016-07-08 02:44:57 -0400260 GL_OES_copy_image DONE (all drivers)
Ilia Mirkine0e16832016-03-31 00:48:01 -0400261 GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend)
Romain Failliot3671bb32016-03-15 16:14:09 -0400262 GL_OES_draw_elements_base_vertex DONE (all drivers)
Ian Romanick1472ff32016-11-08 10:10:35 -0800263 GL_OES_geometry_shader DONE (i965/hsw+, nvc0, radeonsi)
Romain Failliot3671bb32016-03-15 16:14:09 -0400264 GL_OES_gpu_shader5 DONE (all drivers that support GL_ARB_gpu_shader5)
Ilia Mirkina0b12602016-08-28 16:03:21 -0400265 GL_OES_primitive_bounding_box DONE (i965/gen7+, nvc0, radeonsi)
Kenneth Graunke9a1936d2016-04-03 23:03:34 -0700266 GL_OES_sample_shading DONE (i965, nvc0, r600, radeonsi)
267 GL_OES_sample_variables DONE (i965, nvc0, r600, radeonsi)
Romain Failliot3671bb32016-03-15 16:14:09 -0400268 GL_OES_shader_image_atomic DONE (all drivers that support GL_ARB_shader_image_load_store)
Ian Romanick1472ff32016-11-08 10:10:35 -0800269 GL_OES_shader_io_blocks DONE (All drivers that support GLES 3.1)
Kenneth Graunke9a1936d2016-04-03 23:03:34 -0700270 GL_OES_shader_multisample_interpolation DONE (i965, nvc0, r600, radeonsi)
Kenneth Graunke049cee22016-09-12 17:23:10 -0700271 GL_OES_tessellation_shader DONE (all drivers that support GL_ARB_tessellation_shader)
Romain Failliot3671bb32016-03-15 16:14:09 -0400272 GL_OES_texture_border_clamp DONE (all drivers)
Ilia Mirkinccd58012016-05-23 23:04:06 -0400273 GL_OES_texture_buffer DONE (i965, nvc0, radeonsi)
Ian Romanick1472ff32016-11-08 10:10:35 -0800274 GL_OES_texture_cube_map_array DONE (i965/hsw+, nvc0, radeonsi)
Romain Failliot3671bb32016-03-15 16:14:09 -0400275 GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8)
276 GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample)
Thomas Helland2e7e3fe2015-08-12 15:07:57 +0200277
Ian Romanick6bc54912016-05-31 16:04:00 -0700278Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES version:
279
280 GL_ARB_bindless_texture started (airlied)
281 GL_ARB_cl_event not started
Nicolai Hähnle77c81162016-09-09 10:08:11 +0200282 GL_ARB_compute_variable_group_size DONE (nvc0, radeonsi)
Ilia Mirkin9fec15a2016-08-28 19:55:05 -0400283 GL_ARB_ES3_2_compatibility DONE (i965/gen8+)
Ian Romanick6bc54912016-05-31 16:04:00 -0700284 GL_ARB_fragment_shader_interlock not started
Ilia Mirkinf65187b2016-09-16 12:03:31 -0400285 GL_ARB_gl_spirv not started
Ilia Mirkin1e4f5982017-02-05 13:08:07 -0500286 GL_ARB_gpu_shader_int64 DONE (i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe)
Nicolai Hähnlee4cb3af2016-07-28 17:01:54 +0100287 GL_ARB_indirect_parameters DONE (nvc0, radeonsi)
Ian Romanick6bc54912016-05-31 16:04:00 -0700288 GL_ARB_parallel_shader_compile not started, but Chia-I Wu did some related work in 2014
289 GL_ARB_pipeline_statistics_query DONE (i965, nvc0, radeonsi, softpipe, swr)
Plamena Manolova0ff74a82016-12-06 21:37:01 +0200290 GL_ARB_post_depth_coverage DONE (i965)
Ian Romanick6bc54912016-05-31 16:04:00 -0700291 GL_ARB_robustness_isolation not started
292 GL_ARB_sample_locations not started
293 GL_ARB_seamless_cubemap_per_texture DONE (i965, nvc0, radeonsi, r600, softpipe, swr)
Matt Turnera45cd812017-03-08 13:57:20 -0800294 GL_ARB_shader_atomic_counter_ops DONE (i965/gen7+, nvc0, radeonsi, softpipe)
Ian Romanick6bc54912016-05-31 16:04:00 -0700295 GL_ARB_shader_ballot not started
Nicolai Hähnlecd3f3862017-03-30 08:55:22 +0200296 GL_ARB_shader_clock DONE (i965/gen7+, radeonsi)
Nicolai Hähnlee4cb3af2016-07-28 17:01:54 +0100297 GL_ARB_shader_draw_parameters DONE (i965, nvc0, radeonsi)
Nicolai Hähnle02112c32017-03-29 20:29:37 +0200298 GL_ARB_shader_group_vote DONE (nvc0, radeonsi)
Ian Romanick6bc54912016-05-31 16:04:00 -0700299 GL_ARB_shader_stencil_export DONE (i965/gen9+, radeonsi, softpipe, llvmpipe, swr)
Dylan Bakerd4bf9ba2016-09-19 15:36:09 -0700300 GL_ARB_shader_viewport_layer_array DONE (i965/gen6+)
Nicolai Hähnle570e50a2017-02-02 21:11:05 +0100301 GL_ARB_sparse_buffer DONE (radeonsi/CIK+)
Ian Romanick6bc54912016-05-31 16:04:00 -0700302 GL_ARB_sparse_texture not started
303 GL_ARB_sparse_texture2 not started
304 GL_ARB_sparse_texture_clamp not started
305 GL_ARB_texture_filter_minmax not started
Rafael Antognollid71e1f32017-01-20 09:53:27 -0800306 GL_ARB_transform_feedback_overflow_query DONE (i965/gen6+)
Ian Romanick8cd5c3c2016-05-16 11:30:19 -0700307 GL_KHR_blend_equation_advanced_coherent DONE (i965/gen9+)
Ian Romanick6bc54912016-05-31 16:04:00 -0700308 GL_KHR_no_error not started
309 GL_KHR_texture_compression_astc_hdr DONE (core only)
310 GL_KHR_texture_compression_astc_sliced_3d not started
311 GL_OES_depth_texture_cube_map DONE (all drivers that support GLSL 1.30+)
312 GL_OES_EGL_image DONE (all drivers)
313 GL_OES_EGL_image_external_essl3 not started
314 GL_OES_required_internalformat not started - GLES2 extension based on OpenGL ES 3.0 feature
315 GL_OES_surfaceless_context DONE (all drivers)
316 GL_OES_texture_compression_astc DONE (core only)
317 GL_OES_texture_float DONE (i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe)
318 GL_OES_texture_float_linear DONE (i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe)
319 GL_OES_texture_half_float DONE (i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe)
320 GL_OES_texture_half_float_linear DONE (i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe)
321 GL_OES_texture_view not started - based on GL_ARB_texture_view
Anuj Phogatf8f6f602016-10-05 12:18:55 -0700322 GL_OES_viewport_array DONE (i965, nvc0, radeonsi)
Ian Romanick6bc54912016-05-31 16:04:00 -0700323 GLX_ARB_context_flush_control not started
324 GLX_ARB_robustness_application_isolation not started
325 GLX_ARB_robustness_share_group_isolation not started
326
327The following extensions are not part of any OpenGL or OpenGL ES version, and
328we DO NOT WANT implementations of these extensions for Mesa.
329
330 GL_ARB_geometry_shader4 Superseded by GL 3.2 geometry shaders
331 GL_ARB_matrix_palette Superseded by GL_ARB_vertex_program
332 GL_ARB_shading_language_include Not interesting
333 GL_ARB_shadow_ambient Superseded by GL_ARB_fragment_program
334 GL_ARB_vertex_blend Superseded by GL_ARB_vertex_program
335
Brian Paul023a9e32017-02-01 14:35:03 -0700336
337A graphical representation of this information can be found at
Eric Engestrom30cf9ff2017-02-09 02:10:17 +0000338https://mesamatrix.net/