features.txt revision 01e04c3f
101e04c3fSmrg# Status of OpenGL extensions in Mesa 201e04c3fSmrg 301e04c3fSmrgHere's how to read this file: 401e04c3fSmrg 501e04c3fSmrgall DONE: <driver>, ... 601e04c3fSmrg All the extensions are done for the given list of drivers. 701e04c3fSmrg 801e04c3fSmrgDONE 901e04c3fSmrg The extension is done for Mesa and no implementation is necessary on the 1001e04c3fSmrg driver-side. 1101e04c3fSmrg 1201e04c3fSmrgDONE () 1301e04c3fSmrg The extension is done for Mesa and all the drivers in the "all DONE" list. 1401e04c3fSmrg 1501e04c3fSmrgDONE (<driver>, ...) 1601e04c3fSmrg The extension is done for Mesa, all the drivers in the "all DONE" list, and 1701e04c3fSmrg all the drivers in the brackets. 1801e04c3fSmrg 1901e04c3fSmrgin progress 2001e04c3fSmrg The extension is started but not finished yet. 2101e04c3fSmrg 2201e04c3fSmrgnot started 2301e04c3fSmrg The extension isn't started yet. 2401e04c3fSmrg 2501e04c3fSmrg# OpenGL Core and Compatibility context support 2601e04c3fSmrg 2701e04c3fSmrgSome drivers do not support the Compatibility profile or the 2801e04c3fSmrgARB_compatibility extensions. If an application does not request a 2901e04c3fSmrgspecific version without the forward-compatiblity flag, such drivers 3001e04c3fSmrgwill be limited to OpenGL 3.0. If an application requests OpenGL 3.1, 3101e04c3fSmrgit will get a context that may or may not have the ARB_compatibility 3201e04c3fSmrgextension enabled. Some of the later GL features are exposed in the 3.0 3301e04c3fSmrgcontext as extensions. 3401e04c3fSmrg 3501e04c3fSmrg 3601e04c3fSmrgFeature Status 3701e04c3fSmrg------------------------------------------------------- ------------------------ 3801e04c3fSmrg 3901e04c3fSmrgGL 3.0, GLSL 1.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl 4001e04c3fSmrg 4101e04c3fSmrg glBindFragDataLocation, glGetFragDataLocation DONE 4201e04c3fSmrg GL_NV_conditional_render (Conditional rendering) DONE () 4301e04c3fSmrg GL_ARB_map_buffer_range (Map buffer subranges) DONE () 4401e04c3fSmrg GL_ARB_color_buffer_float (Clamping controls) DONE () 4501e04c3fSmrg GL_ARB_texture_float (Float textures, renderbuffers) DONE () 4601e04c3fSmrg GL_EXT_packed_float DONE () 4701e04c3fSmrg GL_EXT_texture_shared_exponent DONE () 4801e04c3fSmrg GL_ARB_depth_buffer_float (Float depth buffers) DONE () 4901e04c3fSmrg GL_ARB_framebuffer_object (Framebuffer objects) DONE () 5001e04c3fSmrg GL_ARB_half_float_pixel DONE (all drivers) 5101e04c3fSmrg GL_ARB_half_float_vertex DONE () 5201e04c3fSmrg GL_EXT_texture_integer DONE () 5301e04c3fSmrg GL_EXT_texture_array DONE () 5401e04c3fSmrg GL_EXT_draw_buffers2 (Per-buffer blend and masks) DONE () 5501e04c3fSmrg GL_EXT_texture_compression_rgtc DONE () 5601e04c3fSmrg GL_ARB_texture_rg DONE () 5701e04c3fSmrg GL_EXT_transform_feedback (Transform feedback) DONE () 5801e04c3fSmrg GL_ARB_vertex_array_object (Vertex array objects) DONE () 5901e04c3fSmrg GL_EXT_framebuffer_sRGB (sRGB framebuffer format) DONE () 6001e04c3fSmrg glClearBuffer commands DONE 6101e04c3fSmrg glGetStringi command DONE 6201e04c3fSmrg glTexParameterI, glGetTexParameterI commands DONE 6301e04c3fSmrg glVertexAttribI commands DONE 6401e04c3fSmrg Depth format cube textures DONE () 6501e04c3fSmrg GLX_ARB_create_context (GLX 1.4 is required) DONE 6601e04c3fSmrg Multisample anti-aliasing DONE (freedreno/a5xx, freedreno (*), llvmpipe (*), softpipe (*), swr (*)) 6701e04c3fSmrg 6801e04c3fSmrg(*) freedreno (a2xx-a4xx), llvmpipe, softpipe, and swr have fake Multisample anti-aliasing support 6901e04c3fSmrg 7001e04c3fSmrg 7101e04c3fSmrgGL 3.1, GLSL 1.40 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl 7201e04c3fSmrg 7301e04c3fSmrg Forward compatible context support/deprecations DONE () 7401e04c3fSmrg GL_ARB_draw_instanced (Instanced drawing) DONE () 7501e04c3fSmrg GL_ARB_copy_buffer (Buffer copying) DONE () 7601e04c3fSmrg GL_NV_primitive_restart (Primitive restart) DONE () 7701e04c3fSmrg 16 vertex texture image units DONE () 7801e04c3fSmrg GL_ARB_texture_buffer_object (Texture buffer objs) DONE (for OpenGL 3.1 contexts) 7901e04c3fSmrg GL_ARB_texture_rectangle (Rectangular textures) DONE () 8001e04c3fSmrg GL_ARB_uniform_buffer_object (Uniform buffer objs) DONE () 8101e04c3fSmrg GL_EXT_texture_snorm (Signed normalized textures) DONE () 8201e04c3fSmrg 8301e04c3fSmrg 8401e04c3fSmrgGL 3.2, GLSL 1.50 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl 8501e04c3fSmrg 8601e04c3fSmrg Core/compatibility profiles DONE 8701e04c3fSmrg Geometry shaders DONE () 8801e04c3fSmrg GL_ARB_vertex_array_bgra (BGRA vertex order) DONE (freedreno) 8901e04c3fSmrg GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (freedreno) 9001e04c3fSmrg GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (freedreno) 9101e04c3fSmrg GL_ARB_provoking_vertex (Provoking vertex) DONE (freedreno) 9201e04c3fSmrg GL_ARB_seamless_cube_map (Seamless cubemaps) DONE (freedreno) 9301e04c3fSmrg GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx) 9401e04c3fSmrg GL_ARB_depth_clamp (Frag depth clamp) DONE (freedreno) 9501e04c3fSmrg GL_ARB_sync (Fence objects) DONE (freedreno) 9601e04c3fSmrg GLX_ARB_create_context_profile DONE 9701e04c3fSmrg 9801e04c3fSmrg 9901e04c3fSmrgGL 3.3, GLSL 3.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl 10001e04c3fSmrg 10101e04c3fSmrg GL_ARB_blend_func_extended DONE (freedreno/a3xx, swr) 10201e04c3fSmrg GL_ARB_explicit_attrib_location DONE (all drivers that support GLSL) 10301e04c3fSmrg GL_ARB_occlusion_query2 DONE (freedreno, swr) 10401e04c3fSmrg GL_ARB_sampler_objects DONE (all drivers) 10501e04c3fSmrg GL_ARB_shader_bit_encoding DONE (freedreno, swr) 10601e04c3fSmrg GL_ARB_texture_rgb10_a2ui DONE (freedreno, swr) 10701e04c3fSmrg GL_ARB_texture_swizzle DONE (freedreno, swr) 10801e04c3fSmrg GL_ARB_timer_query DONE (freedreno, swr) 10901e04c3fSmrg GL_ARB_instanced_arrays DONE (freedreno, swr) 11001e04c3fSmrg GL_ARB_vertex_type_2_10_10_10_rev DONE (freedreno, swr) 11101e04c3fSmrg 11201e04c3fSmrg 11301e04c3fSmrgGL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl 11401e04c3fSmrg 11501e04c3fSmrg GL_ARB_draw_buffers_blend DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr) 11601e04c3fSmrg GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, llvmpipe, softpipe, swr) 11701e04c3fSmrg GL_ARB_gpu_shader5 DONE (i965/gen7+) 11801e04c3fSmrg - 'precise' qualifier DONE 11901e04c3fSmrg - Dynamically uniform sampler array indices DONE (softpipe) 12001e04c3fSmrg - Dynamically uniform UBO array indices DONE (freedreno) 12101e04c3fSmrg - Implicit signed -> unsigned conversions DONE 12201e04c3fSmrg - Fused multiply-add DONE () 12301e04c3fSmrg - Packing/bitfield/conversion functions DONE (freedreno, softpipe) 12401e04c3fSmrg - Enhanced textureGather DONE (freedreno, softpipe) 12501e04c3fSmrg - Geometry shader instancing DONE (llvmpipe, softpipe) 12601e04c3fSmrg - Geometry shader multiple streams DONE () 12701e04c3fSmrg - Enhanced per-sample shading DONE () 12801e04c3fSmrg - Interpolation functions DONE () 12901e04c3fSmrg - New overload resolution rules DONE 13001e04c3fSmrg GL_ARB_gpu_shader_fp64 DONE (i965/gen7+, llvmpipe, softpipe) 13101e04c3fSmrg GL_ARB_sample_shading DONE (i965/gen6+, nv50) 13201e04c3fSmrg GL_ARB_shader_subroutine DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr) 13301e04c3fSmrg GL_ARB_tessellation_shader DONE (i965/gen7+) 13401e04c3fSmrg GL_ARB_texture_buffer_object_rgb32 DONE (freedreno, i965/gen6+, llvmpipe, softpipe, swr) 13501e04c3fSmrg GL_ARB_texture_cube_map_array DONE (i965/gen6+, nv50, llvmpipe, softpipe) 13601e04c3fSmrg GL_ARB_texture_gather DONE (freedreno, i965/gen6+, nv50, llvmpipe, softpipe, swr) 13701e04c3fSmrg GL_ARB_texture_query_lod DONE (freedreno, i965, nv50, llvmpipe, softpipe) 13801e04c3fSmrg GL_ARB_transform_feedback2 DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr) 13901e04c3fSmrg GL_ARB_transform_feedback3 DONE (i965/gen7+, llvmpipe, softpipe, swr) 14001e04c3fSmrg 14101e04c3fSmrg 14201e04c3fSmrgGL 4.1, GLSL 4.10 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl 14301e04c3fSmrg 14401e04c3fSmrg GL_ARB_ES2_compatibility DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) 14501e04c3fSmrg GL_ARB_get_program_binary DONE (0 or 1 binary formats) 14601e04c3fSmrg GL_ARB_separate_shader_objects DONE (all drivers) 14701e04c3fSmrg GL_ARB_shader_precision DONE (i965/gen7+, all drivers that support GLSL 4.10) 14801e04c3fSmrg GL_ARB_vertex_attrib_64bit DONE (i965/gen7+, llvmpipe, softpipe) 14901e04c3fSmrg GL_ARB_viewport_array DONE (i965, nv50, llvmpipe, softpipe) 15001e04c3fSmrg 15101e04c3fSmrg 15201e04c3fSmrgGL 4.2, GLSL 4.20 -- all DONE: i965/gen7+, nvc0, r600, radeonsi, virgl 15301e04c3fSmrg 15401e04c3fSmrg GL_ARB_texture_compression_bptc DONE (freedreno, i965) 15501e04c3fSmrg GL_ARB_compressed_texture_pixel_storage DONE (all drivers) 15601e04c3fSmrg GL_ARB_shader_atomic_counters DONE (freedreno/a5xx, i965, softpipe) 15701e04c3fSmrg GL_ARB_texture_storage DONE (all drivers) 15801e04c3fSmrg GL_ARB_transform_feedback_instanced DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) 15901e04c3fSmrg GL_ARB_base_instance DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) 16001e04c3fSmrg GL_ARB_shader_image_load_store DONE (freedreno/a5xx, i965, softpipe) 16101e04c3fSmrg GL_ARB_conservative_depth DONE (all drivers that support GLSL 1.30) 16201e04c3fSmrg GL_ARB_shading_language_420pack DONE (all drivers that support GLSL 1.30) 16301e04c3fSmrg GL_ARB_shading_language_packing DONE (all drivers) 16401e04c3fSmrg GL_ARB_internalformat_query DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) 16501e04c3fSmrg GL_ARB_map_buffer_alignment DONE (all drivers) 16601e04c3fSmrg 16701e04c3fSmrg 16801e04c3fSmrgGL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, virgl 16901e04c3fSmrg 17001e04c3fSmrg GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30) 17101e04c3fSmrg GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30) 17201e04c3fSmrg GL_ARB_clear_buffer_object DONE (all drivers) 17301e04c3fSmrg GL_ARB_compute_shader DONE (freedreno/a5xx, i965, softpipe) 17401e04c3fSmrg GL_ARB_copy_image DONE (i965, nv50, softpipe, llvmpipe) 17501e04c3fSmrg GL_KHR_debug DONE (all drivers) 17601e04c3fSmrg GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL) 17701e04c3fSmrg GL_ARB_fragment_layer_viewport DONE (i965, nv50, llvmpipe, softpipe) 17801e04c3fSmrg GL_ARB_framebuffer_no_attachments DONE (freedreno, i965, softpipe) 17901e04c3fSmrg GL_ARB_internalformat_query2 DONE (all drivers) 18001e04c3fSmrg GL_ARB_invalidate_subdata DONE (all drivers) 18101e04c3fSmrg GL_ARB_multi_draw_indirect DONE (freedreno, i965, llvmpipe, softpipe, swr) 18201e04c3fSmrg GL_ARB_program_interface_query DONE (all drivers) 18301e04c3fSmrg GL_ARB_robust_buffer_access_behavior DONE (i965) 18401e04c3fSmrg GL_ARB_shader_image_size DONE (freedreno/a5xx, i965, softpipe) 18501e04c3fSmrg GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx, i965, softpipe) 18601e04c3fSmrg GL_ARB_stencil_texturing DONE (freedreno, i965/hsw+, nv50, llvmpipe, softpipe, swr) 18701e04c3fSmrg GL_ARB_texture_buffer_range DONE (freedreno, nv50, i965, llvmpipe) 18801e04c3fSmrg GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30) 18901e04c3fSmrg GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample) 19001e04c3fSmrg GL_ARB_texture_view DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) 19101e04c3fSmrg GL_ARB_vertex_attrib_binding DONE (all drivers) 19201e04c3fSmrg 19301e04c3fSmrg 19401e04c3fSmrgGL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi 19501e04c3fSmrg 19601e04c3fSmrg GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers) 19701e04c3fSmrg GL_ARB_buffer_storage DONE (freedreno, i965, nv50, llvmpipe, swr) 19801e04c3fSmrg GL_ARB_clear_texture DONE (i965, nv50, llvmpipe, softpipe, swr) 19901e04c3fSmrg GL_ARB_enhanced_layouts DONE (i965, nv50, llvmpipe, softpipe, virgl) 20001e04c3fSmrg - compile-time constant expressions DONE 20101e04c3fSmrg - explicit byte offsets for blocks DONE 20201e04c3fSmrg - forced alignment within blocks DONE 20301e04c3fSmrg - specified vec4-slot component numbers DONE 20401e04c3fSmrg - specified transform/feedback layout DONE 20501e04c3fSmrg - input/output block locations DONE 20601e04c3fSmrg GL_ARB_multi_bind DONE (all drivers) 20701e04c3fSmrg GL_ARB_query_buffer_object DONE (i965/hsw+) 20801e04c3fSmrg GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, llvmpipe, softpipe, swr, virgl) 20901e04c3fSmrg GL_ARB_texture_stencil8 DONE (freedreno, i965/hsw+, nv50, llvmpipe, softpipe, swr, virgl) 21001e04c3fSmrg GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, llvmpipe, softpipe, swr, virgl) 21101e04c3fSmrg 21201e04c3fSmrgGL 4.5, GLSL 4.50 -- all DONE: nvc0, radeonsi 21301e04c3fSmrg 21401e04c3fSmrg GL_ARB_ES3_1_compatibility DONE (i965/hsw+, r600, virgl) 21501e04c3fSmrg GL_ARB_clip_control DONE (freedreno, i965, nv50, r600, llvmpipe, softpipe, swr) 21601e04c3fSmrg GL_ARB_conditional_render_inverted DONE (freedreno, i965, nv50, r600, llvmpipe, softpipe, swr, virgl) 21701e04c3fSmrg GL_ARB_cull_distance DONE (i965, nv50, r600, llvmpipe, softpipe, swr, virgl) 21801e04c3fSmrg GL_ARB_derivative_control DONE (i965, nv50, r600, virgl) 21901e04c3fSmrg GL_ARB_direct_state_access DONE (all drivers) 22001e04c3fSmrg GL_ARB_get_texture_sub_image DONE (all drivers) 22101e04c3fSmrg GL_ARB_shader_texture_image_samples DONE (i965, nv50, r600, virgl) 22201e04c3fSmrg GL_ARB_texture_barrier DONE (freedreno, i965, nv50, r600, virgl) 22301e04c3fSmrg GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful) 22401e04c3fSmrg GL_KHR_robustness DONE (i965) 22501e04c3fSmrg GL_EXT_shader_integer_mix DONE (all drivers that support GLSL) 22601e04c3fSmrg 22701e04c3fSmrgGL 4.6, GLSL 4.60 22801e04c3fSmrg 22901e04c3fSmrg GL_ARB_gl_spirv in progress (Nicolai Hähnle, Ian Romanick) 23001e04c3fSmrg GL_ARB_indirect_parameters DONE (i965/gen7+, nvc0, radeonsi) 23101e04c3fSmrg GL_ARB_pipeline_statistics_query DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe, swr) 23201e04c3fSmrg GL_ARB_polygon_offset_clamp DONE (freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, swr, virgl) 23301e04c3fSmrg GL_ARB_shader_atomic_counter_ops DONE (freedreno/a5xx, i965/gen7+, nvc0, r600, radeonsi, softpipe, virgl) 23401e04c3fSmrg GL_ARB_shader_draw_parameters DONE (i965, nvc0, radeonsi) 23501e04c3fSmrg GL_ARB_shader_group_vote DONE (i965, nvc0, radeonsi) 23601e04c3fSmrg GL_ARB_spirv_extensions in progress (Nicolai Hähnle, Ian Romanick) 23701e04c3fSmrg GL_ARB_texture_filter_anisotropic DONE (freedreno, i965, nv50, nvc0, r600, radeonsi, softpipe (*), llvmpipe (*)) 23801e04c3fSmrg GL_ARB_transform_feedback_overflow_query DONE (i965/gen6+, nvc0, radeonsi, llvmpipe, softpipe, virgl) 23901e04c3fSmrg GL_KHR_no_error DONE (all drivers) 24001e04c3fSmrg 24101e04c3fSmrg(*) softpipe and llvmpipe advertise 16x anisotropy but simply ignore the setting 24201e04c3fSmrg 24301e04c3fSmrgThese are the extensions cherry-picked to make GLES 3.1 24401e04c3fSmrgGLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, r600, radeonsi, virgl 24501e04c3fSmrg 24601e04c3fSmrg GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30) 24701e04c3fSmrg GL_ARB_compute_shader DONE (freedreno/a5xx, i965/gen7+, softpipe) 24801e04c3fSmrg GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, llvmpipe, softpipe, swr) 24901e04c3fSmrg GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL) 25001e04c3fSmrg GL_ARB_framebuffer_no_attachments DONE (freedreno, i965/gen7+, softpipe) 25101e04c3fSmrg GL_ARB_program_interface_query DONE (all drivers) 25201e04c3fSmrg GL_ARB_shader_atomic_counters DONE (freedreno/a5xx, i965/gen7+, softpipe) 25301e04c3fSmrg GL_ARB_shader_image_load_store DONE (freedreno/a5xx, i965/gen7+, softpipe) 25401e04c3fSmrg GL_ARB_shader_image_size DONE (freedreno/a5xx, i965/gen7+, softpipe) 25501e04c3fSmrg GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx, i965/gen7+, softpipe) 25601e04c3fSmrg GL_ARB_shading_language_packing DONE (all drivers) 25701e04c3fSmrg GL_ARB_separate_shader_objects DONE (all drivers) 25801e04c3fSmrg GL_ARB_stencil_texturing DONE (freedreno, nv50, llvmpipe, softpipe, swr) 25901e04c3fSmrg GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx, i965/gen7+, nv50, llvmpipe, softpipe) 26001e04c3fSmrg GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample) 26101e04c3fSmrg GL_ARB_vertex_attrib_binding DONE (all drivers) 26201e04c3fSmrg GS5 Enhanced textureGather DONE (freedreno, i965/gen7+) 26301e04c3fSmrg GS5 Packing/bitfield/conversion functions DONE (freedreno/a5xx, i965/gen6+) 26401e04c3fSmrg GL_EXT_shader_integer_mix DONE (all drivers that support GLSL) 26501e04c3fSmrg 26601e04c3fSmrg Additional functionality not covered above: 26701e04c3fSmrg glMemoryBarrierByRegion DONE 26801e04c3fSmrg glGetTexLevelParameter[fi]v - needs updates DONE 26901e04c3fSmrg glGetBooleani_v - restrict to GLES enums 27001e04c3fSmrg gl_HelperInvocation support DONE (i965, r600) 27101e04c3fSmrg 27201e04c3fSmrgGLES3.2, GLSL ES 3.2 -- all DONE: i965/gen9+, radeonsi, virgl 27301e04c3fSmrg 27401e04c3fSmrg GL_EXT_color_buffer_float DONE (all drivers) 27501e04c3fSmrg GL_KHR_blend_equation_advanced DONE (i965, nvc0) 27601e04c3fSmrg GL_KHR_debug DONE (all drivers) 27701e04c3fSmrg GL_KHR_robustness DONE (i965, nvc0) 27801e04c3fSmrg GL_KHR_texture_compression_astc_ldr DONE (freedreno, i965/gen9+) 27901e04c3fSmrg GL_OES_copy_image DONE (all drivers) 28001e04c3fSmrg GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend) 28101e04c3fSmrg GL_OES_draw_elements_base_vertex DONE (all drivers) 28201e04c3fSmrg GL_OES_geometry_shader DONE (i965/hsw+, nvc0) 28301e04c3fSmrg GL_OES_gpu_shader5 DONE (all drivers that support GL_ARB_gpu_shader5) 28401e04c3fSmrg GL_OES_primitive_bounding_box DONE (i965/gen7+, nvc0) 28501e04c3fSmrg GL_OES_sample_shading DONE (i965, nvc0, r600) 28601e04c3fSmrg GL_OES_sample_variables DONE (i965, nvc0, r600) 28701e04c3fSmrg GL_OES_shader_image_atomic DONE (all drivers that support GL_ARB_shader_image_load_store) 28801e04c3fSmrg GL_OES_shader_io_blocks DONE (All drivers that support GLES 3.1) 28901e04c3fSmrg GL_OES_shader_multisample_interpolation DONE (i965, nvc0, r600) 29001e04c3fSmrg GL_OES_tessellation_shader DONE (all drivers that support GL_ARB_tessellation_shader) 29101e04c3fSmrg GL_OES_texture_border_clamp DONE (all drivers) 29201e04c3fSmrg GL_OES_texture_buffer DONE (freedreno, i965, nvc0) 29301e04c3fSmrg GL_OES_texture_cube_map_array DONE (i965/hsw+, nvc0) 29401e04c3fSmrg GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8) 29501e04c3fSmrg GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample) 29601e04c3fSmrg 29701e04c3fSmrgKhronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES version: 29801e04c3fSmrg 29901e04c3fSmrg GL_ARB_bindless_texture DONE (nvc0, radeonsi) 30001e04c3fSmrg GL_ARB_cl_event not started 30101e04c3fSmrg GL_ARB_compute_variable_group_size DONE (nvc0, radeonsi) 30201e04c3fSmrg GL_ARB_ES3_2_compatibility DONE (i965/gen8+, radeonsi, virgl) 30301e04c3fSmrg GL_ARB_fragment_shader_interlock DONE (i965) 30401e04c3fSmrg GL_ARB_gpu_shader_int64 DONE (i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe) 30501e04c3fSmrg GL_ARB_parallel_shader_compile not started, but Chia-I Wu did some related work in 2014 30601e04c3fSmrg GL_ARB_post_depth_coverage DONE (i965, nvc0) 30701e04c3fSmrg GL_ARB_robustness_isolation not started 30801e04c3fSmrg GL_ARB_sample_locations DONE (nvc0) 30901e04c3fSmrg GL_ARB_seamless_cubemap_per_texture DONE (freedreno, i965, nvc0, radeonsi, r600, softpipe, swr, virgl) 31001e04c3fSmrg GL_ARB_shader_ballot DONE (i965/gen8+, nvc0, radeonsi) 31101e04c3fSmrg GL_ARB_shader_clock DONE (i965/gen7+, nv50, nvc0, r600, radeonsi, virgl) 31201e04c3fSmrg GL_ARB_shader_stencil_export DONE (i965/gen9+, r600, radeonsi, softpipe, llvmpipe, swr, virgl) 31301e04c3fSmrg GL_ARB_shader_viewport_layer_array DONE (i965/gen6+, nvc0, radeonsi) 31401e04c3fSmrg GL_ARB_sparse_buffer DONE (radeonsi/CIK+) 31501e04c3fSmrg GL_ARB_sparse_texture not started 31601e04c3fSmrg GL_ARB_sparse_texture2 not started 31701e04c3fSmrg GL_ARB_sparse_texture_clamp not started 31801e04c3fSmrg GL_ARB_texture_filter_minmax not started 31901e04c3fSmrg GL_EXT_memory_object DONE (radeonsi) 32001e04c3fSmrg GL_EXT_memory_object_fd DONE (radeonsi) 32101e04c3fSmrg GL_EXT_memory_object_win32 not started 32201e04c3fSmrg GL_EXT_render_snorm DONE (i965) 32301e04c3fSmrg GL_EXT_semaphore DONE (radeonsi) 32401e04c3fSmrg GL_EXT_semaphore_fd DONE (radeonsi) 32501e04c3fSmrg GL_EXT_semaphore_win32 not started 32601e04c3fSmrg GL_EXT_texture_norm16 DONE (i965, r600, radeonsi, nvc0) 32701e04c3fSmrg GL_KHR_blend_equation_advanced_coherent DONE (i965/gen9+) 32801e04c3fSmrg GL_KHR_texture_compression_astc_hdr DONE (i965/bxt) 32901e04c3fSmrg GL_KHR_texture_compression_astc_sliced_3d DONE (i965/gen9+, radeonsi) 33001e04c3fSmrg GL_OES_depth_texture_cube_map DONE (all drivers that support GLSL 1.30+) 33101e04c3fSmrg GL_OES_EGL_image DONE (all drivers) 33201e04c3fSmrg GL_OES_EGL_image_external DONE (all drivers) 33301e04c3fSmrg GL_OES_EGL_image_external_essl3 DONE (all drivers) 33401e04c3fSmrg GL_OES_required_internalformat DONE (all drivers) 33501e04c3fSmrg GL_OES_surfaceless_context DONE (all drivers) 33601e04c3fSmrg GL_OES_texture_compression_astc DONE (core only) 33701e04c3fSmrg GL_OES_texture_float DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe) 33801e04c3fSmrg GL_OES_texture_float_linear DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe) 33901e04c3fSmrg GL_OES_texture_half_float DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe) 34001e04c3fSmrg GL_OES_texture_half_float_linear DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe) 34101e04c3fSmrg GL_OES_texture_view DONE (i965/gen8+) 34201e04c3fSmrg GL_OES_viewport_array DONE (i965, nvc0, radeonsi) 34301e04c3fSmrg GLX_ARB_context_flush_control not started 34401e04c3fSmrg GLX_ARB_robustness_application_isolation not started 34501e04c3fSmrg GLX_ARB_robustness_share_group_isolation not started 34601e04c3fSmrg 34701e04c3fSmrgGL_EXT_direct_state_access subfeatures (in the spec order): 34801e04c3fSmrg GL 1.1: Client commands not started 34901e04c3fSmrg GL 1.0-1.3: Matrix and transpose matrix commands not started 35001e04c3fSmrg GL 1.1-1.2: Texture commands not started 35101e04c3fSmrg GL 1.2: 3D texture commands not started 35201e04c3fSmrg GL 1.2.1: Multitexture commands not started 35301e04c3fSmrg GL 1.2.1-3.0: Indexed texture commands not started 35401e04c3fSmrg GL 1.2.1-3.0: Indexed generic queries not started 35501e04c3fSmrg GL 1.2.1: EnableIndexed.. Get*Indexed not started 35601e04c3fSmrg GL_ARB_vertex_program not started 35701e04c3fSmrg GL 1.3: Compressed texture and multitexture commands not started 35801e04c3fSmrg GL 1.5: Buffer commands not started 35901e04c3fSmrg GL 2.0-2.1: Uniform and uniform matrix commands not started 36001e04c3fSmrg GL_EXT_texture_buffer_object not started 36101e04c3fSmrg GL_EXT_texture_integer not started 36201e04c3fSmrg GL_EXT_gpu_shader4 not started 36301e04c3fSmrg GL_EXT_gpu_program_parameters not started 36401e04c3fSmrg GL_NV_gpu_program4 n/a 36501e04c3fSmrg GL_NV_framebuffer_multisample_coverage n/a 36601e04c3fSmrg GL 3.0: Renderbuffer/framebuffer commands, Gen*Mipmap not started 36701e04c3fSmrg GL 3.0: CopyBuffer command not started 36801e04c3fSmrg GL_EXT_geometry_shader4 commands (expose in GL 3.2) not started 36901e04c3fSmrg GL_NV_explicit_multisample n/a 37001e04c3fSmrg GL 3.0: Vertex array/attrib/query/map commands not started 37101e04c3fSmrg Matrix GL tokens not started 37201e04c3fSmrg 37301e04c3fSmrgGL_EXT_direct_state_access additions from other extensions (complete list): 37401e04c3fSmrg GL_AMD_framebuffer_sample_positions n/a 37501e04c3fSmrg GL_AMD_gpu_shader_int64 not started 37601e04c3fSmrg GL_ARB_bindless_texture not started 37701e04c3fSmrg GL_ARB_buffer_storage not started 37801e04c3fSmrg GL_ARB_clear_buffer_object not started 37901e04c3fSmrg GL_ARB_framebuffer_no_attachments not started 38001e04c3fSmrg GL_ARB_gpu_shader_fp64 not started 38101e04c3fSmrg GL_ARB_instanced_arrays not started 38201e04c3fSmrg GL_ARB_internalformat_query2 not started 38301e04c3fSmrg GL_ARB_sparse_texture n/a 38401e04c3fSmrg GL_ARB_sparse_buffer not started 38501e04c3fSmrg GL_ARB_texture_buffer_range not started 38601e04c3fSmrg GL_ARB_texture_storage not started 38701e04c3fSmrg GL_ARB_texture_storage_multisample not started 38801e04c3fSmrg GL_ARB_vertex_attrib_64bit not started 38901e04c3fSmrg GL_ARB_vertex_attrib_binding not started 39001e04c3fSmrg GL_EXT_buffer_storage not started 39101e04c3fSmrg GL_EXT_external_buffer not started 39201e04c3fSmrg GL_EXT_separate_shader_objects n/a 39301e04c3fSmrg GL_EXT_sparse_texture n/a 39401e04c3fSmrg GL_EXT_texture_storage n/a 39501e04c3fSmrg GL_EXT_vertex_attrib_64bit not started 39601e04c3fSmrg GL_EXT_EGL_image_storage n/a 39701e04c3fSmrg GL_NV_bindless_texture n/a 39801e04c3fSmrg GL_NV_gpu_shader5 n/a 39901e04c3fSmrg GL_NV_texture_multisample n/a 40001e04c3fSmrg GL_NV_vertex_buffer_unified_memory n/a 40101e04c3fSmrg GL_NVX_linked_gpu_multicast n/a 40201e04c3fSmrg GLX_NV_copy_buffer n/a 40301e04c3fSmrg 40401e04c3fSmrgThe following extensions are not part of any OpenGL or OpenGL ES version, and 40501e04c3fSmrgwe DO NOT WANT implementations of these extensions for Mesa. 40601e04c3fSmrg 40701e04c3fSmrg GL_ARB_geometry_shader4 Superseded by GL 3.2 geometry shaders 40801e04c3fSmrg GL_ARB_matrix_palette Superseded by GL_ARB_vertex_program 40901e04c3fSmrg GL_ARB_shading_language_include Not interesting 41001e04c3fSmrg GL_ARB_shadow_ambient Superseded by GL_ARB_fragment_program 41101e04c3fSmrg GL_ARB_vertex_blend Superseded by GL_ARB_vertex_program 41201e04c3fSmrg 41301e04c3fSmrgVulkan 1.0 -- all DONE: anv, radv 41401e04c3fSmrg 41501e04c3fSmrgVulkan 1.1 -- all DONE: anv, radv 41601e04c3fSmrg 41701e04c3fSmrg VK_KHR_16bit_storage in progress (Alejandro) 41801e04c3fSmrg VK_KHR_bind_memory2 DONE (anv, radv) 41901e04c3fSmrg VK_KHR_dedicated_allocation DONE (anv, radv) 42001e04c3fSmrg VK_KHR_descriptor_update_template DONE (anv, radv) 42101e04c3fSmrg VK_KHR_device_group not started 42201e04c3fSmrg VK_KHR_device_group_creation not started 42301e04c3fSmrg VK_KHR_external_fence DONE (anv, radv) 42401e04c3fSmrg VK_KHR_external_fence_capabilities DONE (anv, radv) 42501e04c3fSmrg VK_KHR_external_memory DONE (anv, radv) 42601e04c3fSmrg VK_KHR_external_memory_capabilities DONE (anv, radv) 42701e04c3fSmrg VK_KHR_external_semaphore DONE (anv, radv) 42801e04c3fSmrg VK_KHR_external_semaphore_capabilities DONE (anv, radv) 42901e04c3fSmrg VK_KHR_get_memory_requirements2 DONE (anv, radv) 43001e04c3fSmrg VK_KHR_get_physical_device_properties2 DONE (anv, radv) 43101e04c3fSmrg VK_KHR_maintenance1 DONE (anv, radv) 43201e04c3fSmrg VK_KHR_maintenance2 DONE (anv, radv) 43301e04c3fSmrg VK_KHR_maintenance3 DONE (anv, radv) 43401e04c3fSmrg VK_KHR_multiview DONE (anv, radv) 43501e04c3fSmrg VK_KHR_relaxed_block_layout DONE (anv, radv) 43601e04c3fSmrg VK_KHR_sampler_ycbcr_conversion DONE (anv) 43701e04c3fSmrg VK_KHR_shader_draw_parameters DONE (anv, radv) 43801e04c3fSmrg VK_KHR_storage_buffer_storage_class DONE (anv, radv) 43901e04c3fSmrg VK_KHR_variable_pointers DONE (anv, radv) 44001e04c3fSmrg 44101e04c3fSmrgKhronos extensions that are not part of any Vulkan version: 44201e04c3fSmrg VK_KHR_8bit_storage DONE (anv) 44301e04c3fSmrg VK_KHR_android_surface not started 44401e04c3fSmrg VK_KHR_create_renderpass2 DONE (anv, radv) 44501e04c3fSmrg VK_KHR_display DONE (anv, radv) 44601e04c3fSmrg VK_KHR_display_swapchain DONE (anv, radv) 44701e04c3fSmrg VK_KHR_draw_indirect_count DONE (radv) 44801e04c3fSmrg VK_KHR_external_fence_fd DONE (anv, radv) 44901e04c3fSmrg VK_KHR_external_fence_win32 not started 45001e04c3fSmrg VK_KHR_external_memory_fd DONE (anv, radv) 45101e04c3fSmrg VK_KHR_external_memory_win32 not started 45201e04c3fSmrg VK_KHR_external_semaphore_fd DONE (anv, radv) 45301e04c3fSmrg VK_KHR_external_semaphore_win32 not started 45401e04c3fSmrg VK_KHR_get_display_properties2 DONE (anv, radv) 45501e04c3fSmrg VK_KHR_get_surface_capabilities2 DONE (anv, radv) 45601e04c3fSmrg VK_KHR_image_format_list DONE (anv, radv) 45701e04c3fSmrg VK_KHR_incremental_present DONE (anv, radv) 45801e04c3fSmrg VK_KHR_mir_surface not started 45901e04c3fSmrg VK_KHR_push_descriptor DONE (anv, radv) 46001e04c3fSmrg VK_KHR_sampler_mirror_clamp_to_edge DONE (anv, radv) 46101e04c3fSmrg VK_KHR_shared_presentable_image not started 46201e04c3fSmrg VK_KHR_surface DONE (anv, radv) 46301e04c3fSmrg VK_KHR_swapchain DONE (anv, radv) 46401e04c3fSmrg VK_KHR_wayland_surface DONE (anv, radv) 46501e04c3fSmrg VK_KHR_win32_keyed_mutex not started 46601e04c3fSmrg VK_KHR_win32_surface not started 46701e04c3fSmrg VK_KHR_xcb_surface DONE (anv, radv) 46801e04c3fSmrg VK_KHR_xlib_surface DONE (anv, radv) 46901e04c3fSmrg 47001e04c3fSmrg 47101e04c3fSmrgA graphical representation of this information can be found at 47201e04c3fSmrghttps://mesamatrix.net/ 473