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 397ec681f3SmrgGL 3.0, GLSL 1.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl, zink, d3d12, panfrost 4001e04c3fSmrg 4101e04c3fSmrg glBindFragDataLocation, glGetFragDataLocation DONE 4201e04c3fSmrg GL_NV_conditional_render (Conditional rendering) DONE () 437ec681f3Smrg GL_ARB_map_buffer_range (Map buffer subranges) DONE (v3d, vc4, lima) 447ec681f3Smrg GL_ARB_color_buffer_float (Clamping controls) DONE (v3d, lima) 457ec681f3Smrg GL_ARB_texture_float (Float textures, renderbuffers) DONE (v3d) 467ec681f3Smrg GL_EXT_packed_float DONE (v3d) 477ec681f3Smrg GL_EXT_texture_shared_exponent DONE (v3d) 487ec681f3Smrg GL_ARB_depth_buffer_float (Float depth buffers) DONE (v3d) 497ec681f3Smrg GL_ARB_framebuffer_object (Framebuffer objects) DONE (v3d, vc4) 5001e04c3fSmrg GL_ARB_half_float_pixel DONE (all drivers) 517ec681f3Smrg GL_ARB_half_float_vertex DONE (v3d, vc4, lima) 527ec681f3Smrg GL_EXT_texture_integer DONE (v3d) 537ec681f3Smrg GL_EXT_texture_array DONE (v3d) 547ec681f3Smrg GL_EXT_draw_buffers2 (Per-buffer blend and masks) DONE (v3d) 5501e04c3fSmrg GL_EXT_texture_compression_rgtc DONE () 567ec681f3Smrg GL_ARB_texture_rg DONE (v3d, lima) 577ec681f3Smrg GL_EXT_transform_feedback (Transform feedback) DONE (v3d) 587ec681f3Smrg GL_ARB_vertex_array_object (Vertex array objects) DONE (v3d, vc4, lima) 597ec681f3Smrg GL_EXT_framebuffer_sRGB (sRGB framebuffer format) DONE (v3d, vc4, lima) 6001e04c3fSmrg glClearBuffer commands DONE 6101e04c3fSmrg glGetStringi command DONE 6201e04c3fSmrg glTexParameterI, glGetTexParameterI commands DONE 6301e04c3fSmrg glVertexAttribI commands DONE 6401e04c3fSmrg Depth format cube textures DONE () 657ec681f3Smrg GLX_ARB_create_context (GLX 1.4 is required) DONE (v3d, vc4) 6653c12917Smaya Multisample anti-aliasing DONE (freedreno/a5xx+, freedreno (*), llvmpipe (*), softpipe (*), swr (*)) 677ec681f3Smrg 8 draw buffers DONE (panfrost/t760+) 6801e04c3fSmrg 6901e04c3fSmrg(*) freedreno (a2xx-a4xx), llvmpipe, softpipe, and swr have fake Multisample anti-aliasing support 7001e04c3fSmrg 7101e04c3fSmrg 727ec681f3SmrgGL 3.1, GLSL 1.40 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl, zink, d3d12, panfrost 7301e04c3fSmrg 747ec681f3Smrg Forward compatible context support/deprecations DONE 757ec681f3Smrg GL_ARB_draw_instanced (Instanced drawing) DONE (v3d) 767ec681f3Smrg GL_ARB_copy_buffer (Buffer copying) DONE (v3d, vc4, lima) 777ec681f3Smrg GL_NV_primitive_restart (Primitive restart) DONE (v3d) 7801e04c3fSmrg 16 vertex texture image units DONE () 797ec681f3Smrg GL_ARB_texture_buffer_object (Texture buffer objs) DONE () 807ec681f3Smrg GL_ARB_texture_rectangle (Rectangular textures) DONE (v3d, vc4, lima) 817ec681f3Smrg GL_ARB_uniform_buffer_object (Uniform buffer objs) DONE (v3d) 827ec681f3Smrg GL_EXT_texture_snorm (Signed normalized textures) DONE (v3d) 8301e04c3fSmrg 8401e04c3fSmrg 857ec681f3SmrgGL 3.2, GLSL 1.50 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl, zink, d3d12 8601e04c3fSmrg 8701e04c3fSmrg Core/compatibility profiles DONE 887ec681f3Smrg Geometry shaders DONE (freedreno/a6xx) 897ec681f3Smrg GL_ARB_vertex_array_bgra (BGRA vertex order) DONE (v3d, panfrost) 907ec681f3Smrg GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (v3d, panfrost, lima) 917ec681f3Smrg GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (v3d, vc4, panfrost, lima) 927ec681f3Smrg GL_ARB_provoking_vertex (Provoking vertex) DONE (v3d, vc4, panfrost, lima) 937ec681f3Smrg GL_ARB_seamless_cube_map (Seamless cubemaps) DONE (panfrost) 947ec681f3Smrg GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, v3d, vc4, panfrost) 957ec681f3Smrg GL_ARB_depth_clamp (Frag depth clamp) DONE (panfrost) 967ec681f3Smrg GL_ARB_sync (Fence objects) DONE (v3d, vc4, panfrost, lima) 9701e04c3fSmrg GLX_ARB_create_context_profile DONE 9801e04c3fSmrg 9901e04c3fSmrg 1007ec681f3SmrgGL 3.3, GLSL 3.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, virgl, zink, d3d12 10101e04c3fSmrg 1027ec681f3Smrg GL_ARB_blend_func_extended DONE (freedreno/a3xx, freedreno/a6xx, swr, panfrost) 10301e04c3fSmrg GL_ARB_explicit_attrib_location DONE (all drivers that support GLSL) 1047ec681f3Smrg GL_ARB_occlusion_query2 DONE (swr, v3d, vc4, panfrost, lima) 10501e04c3fSmrg GL_ARB_sampler_objects DONE (all drivers) 1067ec681f3Smrg GL_ARB_shader_bit_encoding DONE (swr, v3d, panfrost) 1077ec681f3Smrg GL_ARB_texture_rgb10_a2ui DONE (swr, panfrost) 1087ec681f3Smrg GL_ARB_texture_swizzle DONE (swr, v3d, vc4, panfrost, lima) 1097ec681f3Smrg GL_ARB_timer_query DONE (swr) 1107ec681f3Smrg GL_ARB_instanced_arrays DONE (swr, v3d, panfrost) 1117ec681f3Smrg GL_ARB_vertex_type_2_10_10_10_rev DONE (swr, v3d, panfrost) 11201e04c3fSmrg 11301e04c3fSmrg 1147ec681f3SmrgGL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virgl, zink 11501e04c3fSmrg 1167ec681f3Smrg GL_ARB_draw_buffers_blend DONE (freedreno, i965/gen6+, nv50, softpipe, swr, panfrost, d3d12) 1177ec681f3Smrg GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, softpipe, swr, v3d) 11801e04c3fSmrg GL_ARB_gpu_shader5 DONE (i965/gen7+) 11953c12917Smaya - 'precise' qualifier DONE (softpipe) 12001e04c3fSmrg - Dynamically uniform sampler array indices DONE (softpipe) 12153c12917Smaya - Dynamically uniform UBO array indices DONE (freedreno, softpipe) 1227ec681f3Smrg - Implicit signed -> unsigned conversions DONE (softpipe, swr) 1237ec681f3Smrg - Fused multiply-add DONE (softpipe, swr) 1247ec681f3Smrg - Packing/bitfield/conversion functions DONE (freedreno, softpipe, swr, panfrost) 1257ec681f3Smrg - Enhanced textureGather DONE (freedreno, softpipe, swr, panfrost) 1267ec681f3Smrg - Geometry shader instancing DONE (softpipe, swr) 1277ec681f3Smrg - Geometry shader multiple streams DONE (softpipe, swr) 12801e04c3fSmrg - Enhanced per-sample shading DONE () 12953c12917Smaya - Interpolation functions DONE (softpipe) 13053c12917Smaya - New overload resolution rules DONE (softpipe) 1317ec681f3Smrg GL_ARB_gpu_shader_fp64 DONE (i965/gen7+, softpipe, swr) 1327ec681f3Smrg GL_ARB_sample_shading DONE (freedreno/a6xx, i965/gen6+, nv50, panfrost) 1337ec681f3Smrg GL_ARB_shader_subroutine DONE (freedreno, i965/gen6+, nv50, softpipe, swr, d3d12) 1347ec681f3Smrg GL_ARB_tessellation_shader DONE (freedreno/a6xx, i965/gen7+, swr) 1357ec681f3Smrg GL_ARB_texture_buffer_object_rgb32 DONE (freedreno, i965/gen6+, softpipe, swr, d3d12, panfrost) 1367ec681f3Smrg GL_ARB_texture_cube_map_array DONE (freedreno/a4xx+, i965/gen6+, nv50, softpipe, swr) 1377ec681f3Smrg GL_ARB_texture_gather DONE (freedreno, i965/gen6+, nv50, softpipe, swr, v3d, panfrost) 1387ec681f3Smrg GL_ARB_texture_query_lod DONE (freedreno, i965, nv50, softpipe, swr, v3d, panfrost, d3d12) 1397ec681f3Smrg GL_ARB_transform_feedback2 DONE (freedreno/a3xx+, i965/gen6+, nv50, softpipe, swr, v3d, panfrost) 1407ec681f3Smrg GL_ARB_transform_feedback3 DONE (freedreno/a3xx+, i965/gen7+, softpipe, swr) 1417ec681f3Smrg 1427ec681f3Smrg 1437ec681f3SmrgGL 4.1, GLSL 4.10 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virgl, zink 1447ec681f3Smrg 1457ec681f3Smrg GL_ARB_ES2_compatibility DONE (freedreno, i965, nv50, softpipe, swr, v3d, vc4, panfrost, d3d12, lima) 1467ec681f3Smrg GL_ARB_get_program_binary DONE (freedreno, 0 or 1 binary formats) 14701e04c3fSmrg GL_ARB_separate_shader_objects DONE (all drivers) 14801e04c3fSmrg GL_ARB_shader_precision DONE (i965/gen7+, all drivers that support GLSL 4.10) 1497ec681f3Smrg GL_ARB_vertex_attrib_64bit DONE (i965/gen7+, softpipe, swr) 1507ec681f3Smrg GL_ARB_viewport_array DONE (i965, nv50, softpipe, swr) 15101e04c3fSmrg 15201e04c3fSmrg 1537ec681f3SmrgGL 4.2, GLSL 4.20 -- all DONE: i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virgl, zink 15401e04c3fSmrg 1557ec681f3Smrg GL_ARB_texture_compression_bptc DONE (freedreno, i965, softpipe, swr, panfrost/if SoC supports) 15601e04c3fSmrg GL_ARB_compressed_texture_pixel_storage DONE (all drivers) 1577ec681f3Smrg GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost) 15801e04c3fSmrg GL_ARB_texture_storage DONE (all drivers) 1597ec681f3Smrg GL_ARB_transform_feedback_instanced DONE (freedreno, i965, nv50, softpipe, swr, v3d) 1607ec681f3Smrg GL_ARB_base_instance DONE (freedreno, i965, nv50, softpipe, swr, v3d) 1617ec681f3Smrg GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost) 16201e04c3fSmrg GL_ARB_conservative_depth DONE (all drivers that support GLSL 1.30) 16301e04c3fSmrg GL_ARB_shading_language_420pack DONE (all drivers that support GLSL 1.30) 16401e04c3fSmrg GL_ARB_shading_language_packing DONE (all drivers) 1657ec681f3Smrg GL_ARB_internalformat_query DONE (freedreno, i965, nv50, softpipe, swr, v3d, vc4, panfrost, d3d12, lima) 16601e04c3fSmrg GL_ARB_map_buffer_alignment DONE (all drivers) 16701e04c3fSmrg 16801e04c3fSmrg 1697ec681f3SmrgGL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe, virgl, zink 17001e04c3fSmrg 17101e04c3fSmrg GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30) 17201e04c3fSmrg GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30) 17301e04c3fSmrg GL_ARB_clear_buffer_object DONE (all drivers) 1747ec681f3Smrg GL_ARB_compute_shader DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost) 1757ec681f3Smrg GL_ARB_copy_image DONE (i965, nv50, softpipe, swr) 17601e04c3fSmrg GL_KHR_debug DONE (all drivers) 17701e04c3fSmrg GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL) 1787ec681f3Smrg GL_ARB_fragment_layer_viewport DONE (i965, nv50, softpipe, swr) 1797ec681f3Smrg GL_ARB_framebuffer_no_attachments DONE (freedreno, i965, softpipe, v3d) 18001e04c3fSmrg GL_ARB_internalformat_query2 DONE (all drivers) 18101e04c3fSmrg GL_ARB_invalidate_subdata DONE (all drivers) 1827ec681f3Smrg GL_ARB_multi_draw_indirect DONE (freedreno, i965, softpipe, swr, v3d) 18301e04c3fSmrg GL_ARB_program_interface_query DONE (all drivers) 1847ec681f3Smrg GL_ARB_robust_buffer_access_behavior DONE (freedreno, i965) 1857ec681f3Smrg GL_ARB_shader_image_size DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost) 1867ec681f3Smrg GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, i965, softpipe, v3d, panfrost) 1877ec681f3Smrg GL_ARB_stencil_texturing DONE (freedreno, i965/hsw+, nv50, softpipe, swr, v3d, panfrost, d3d12) 1887ec681f3Smrg GL_ARB_texture_buffer_range DONE (freedreno, nv50, i965, softpipe, swr, d3d12) 18901e04c3fSmrg GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30) 19001e04c3fSmrg GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample) 1917ec681f3Smrg GL_ARB_texture_view DONE (freedreno, i965, nv50, softpipe, swr) 19201e04c3fSmrg GL_ARB_vertex_attrib_binding DONE (all drivers) 19301e04c3fSmrg 19401e04c3fSmrg 1957ec681f3SmrgGL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe, zink 19601e04c3fSmrg 19701e04c3fSmrg GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers) 1987ec681f3Smrg GL_ARB_buffer_storage DONE (freedreno, i965, nv50, swr, v3d, vc4) 1997ec681f3Smrg GL_ARB_clear_texture DONE (i965, nv50, softpipe, swr, virgl) 2007ec681f3Smrg GL_ARB_enhanced_layouts DONE (i965, nv50, softpipe, virgl) 20101e04c3fSmrg - compile-time constant expressions DONE 20201e04c3fSmrg - explicit byte offsets for blocks DONE 20301e04c3fSmrg - forced alignment within blocks DONE 20401e04c3fSmrg - specified vec4-slot component numbers DONE 20501e04c3fSmrg - specified transform/feedback layout DONE 20601e04c3fSmrg - input/output block locations DONE 20701e04c3fSmrg GL_ARB_multi_bind DONE (all drivers) 20853c12917Smaya GL_ARB_query_buffer_object DONE (i965/hsw+, virgl) 2097ec681f3Smrg GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, softpipe, swr, virgl, v3d, panfrost) 2107ec681f3Smrg GL_ARB_texture_stencil8 DONE (freedreno, i965/hsw+, nv50, softpipe, swr, virgl, v3d, panfrost, d3d12) 2117ec681f3Smrg GL_ARB_vertex_type_10f_11f_11f_rev DONE (freedreno, i965, nv50, softpipe, swr, virgl, panfrost, d3d12) 21201e04c3fSmrg 2137ec681f3SmrgGL 4.5, GLSL 4.50 -- all DONE: nvc0, r600, radeonsi, llvmpipe, zink 21401e04c3fSmrg 2157ec681f3Smrg GL_ARB_ES3_1_compatibility DONE (i965/hsw+, softpipe, virgl) 2167ec681f3Smrg GL_ARB_clip_control DONE (freedreno, i965, nv50, softpipe, swr, virgl, lima) 2177ec681f3Smrg GL_ARB_conditional_render_inverted DONE (freedreno, i965, nv50, softpipe, swr, virgl, panfrost) 2187ec681f3Smrg GL_ARB_cull_distance DONE (freedreno/a6xx, i965, nv50, softpipe, swr, virgl) 2197ec681f3Smrg GL_ARB_derivative_control DONE (i965, nv50, softpipe, virgl) 22001e04c3fSmrg GL_ARB_direct_state_access DONE (all drivers) 22101e04c3fSmrg GL_ARB_get_texture_sub_image DONE (all drivers) 2227ec681f3Smrg GL_ARB_shader_texture_image_samples DONE (i965, nv50, virgl) 2237ec681f3Smrg GL_ARB_texture_barrier DONE (freedreno, i965, nv50, virgl) 22401e04c3fSmrg GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful) 2257ec681f3Smrg GL_KHR_robustness DONE (freedreno, i965, virgl) 22601e04c3fSmrg GL_EXT_shader_integer_mix DONE (all drivers that support GLSL) 22701e04c3fSmrg 2287ec681f3SmrgGL 4.6, GLSL 4.60 -- all DONE: radeonsi, zink 2297ec681f3Smrg 2307ec681f3Smrg GL_ARB_gl_spirv DONE (i965/gen7+, llvmpipe) 2317ec681f3Smrg GL_ARB_indirect_parameters DONE (i965/gen7+, nvc0, llvmpipe, virgl) 2327ec681f3Smrg GL_ARB_pipeline_statistics_query DONE (i965, nvc0, r600, llvmpipe, softpipe, swr) 2337ec681f3Smrg GL_ARB_polygon_offset_clamp DONE (freedreno, i965, nv50, nvc0, r600, llvmpipe, swr, virgl) 2347ec681f3Smrg GL_ARB_shader_atomic_counter_ops DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, llvmpipe, softpipe, virgl, v3d) 2357ec681f3Smrg GL_ARB_shader_draw_parameters DONE (i965, llvmpipe, nvc0) 2367ec681f3Smrg GL_ARB_shader_group_vote DONE (i965, nvc0, llvmpipe) 2377ec681f3Smrg GL_ARB_spirv_extensions DONE (i965/gen7+, llvmpipe) 2387ec681f3Smrg GL_ARB_texture_filter_anisotropic DONE (etnaviv/HALTI0, freedreno, i965, nv50, nvc0, r600, softpipe, llvmpipe, d3d12, virgl) 2397ec681f3Smrg GL_ARB_transform_feedback_overflow_query DONE (i965/gen6+, nvc0, llvmpipe, softpipe, virgl) 24001e04c3fSmrg GL_KHR_no_error DONE (all drivers) 24101e04c3fSmrg 24201e04c3fSmrgThese are the extensions cherry-picked to make GLES 3.1 2437ec681f3SmrgGLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, r600, radeonsi, virgl, v3d, softpipe, llvmpipe, zink, panfrost 24401e04c3fSmrg 24501e04c3fSmrg GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30) 2467ec681f3Smrg GL_ARB_compute_shader DONE (freedreno/a5xx+, i965/gen7+) 2477ec681f3Smrg GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, swr) 24801e04c3fSmrg GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL) 24901e04c3fSmrg GL_ARB_framebuffer_no_attachments DONE (freedreno, i965/gen7+, softpipe) 25001e04c3fSmrg GL_ARB_program_interface_query DONE (all drivers) 2517ec681f3Smrg GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, i965/gen7+, swr) 2527ec681f3Smrg GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, i965/gen7+, swr) 2537ec681f3Smrg GL_ARB_shader_image_size DONE (freedreno/a5xx+, i965/gen7+, swr) 2547ec681f3Smrg GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, i965/gen7+) 25501e04c3fSmrg GL_ARB_shading_language_packing DONE (all drivers) 25601e04c3fSmrg GL_ARB_separate_shader_objects DONE (all drivers) 2577ec681f3Smrg GL_ARB_stencil_texturing DONE (freedreno, nv50, swr) 2587ec681f3Smrg GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, i965/gen7+, nv50, swr) 25901e04c3fSmrg GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample) 26001e04c3fSmrg GL_ARB_vertex_attrib_binding DONE (all drivers) 26101e04c3fSmrg GS5 Enhanced textureGather DONE (freedreno, i965/gen7+) 26253c12917Smaya GS5 Packing/bitfield/conversion functions DONE (freedreno/a5xx+, i965/gen6+) 26301e04c3fSmrg GL_EXT_shader_integer_mix DONE (all drivers that support GLSL) 26401e04c3fSmrg 26501e04c3fSmrg Additional functionality not covered above: 26601e04c3fSmrg glMemoryBarrierByRegion DONE 26701e04c3fSmrg glGetTexLevelParameter[fi]v - needs updates DONE 26801e04c3fSmrg glGetBooleani_v - restrict to GLES enums 2697ec681f3Smrg gl_HelperInvocation support DONE (i965, r600, panfrost) 27001e04c3fSmrg 2717ec681f3SmrgGLES3.2, GLSL ES 3.2 -- all DONE: i965/gen9+, radeonsi, virgl, llvmpipe, zink 27201e04c3fSmrg 27301e04c3fSmrg GL_EXT_color_buffer_float DONE (all drivers) 2747ec681f3Smrg GL_KHR_blend_equation_advanced DONE (freedreno/a6xx, i965, nvc0, panfrost) 27501e04c3fSmrg GL_KHR_debug DONE (all drivers) 2767ec681f3Smrg GL_KHR_robustness DONE (freedreno, i965, nvc0, r600) 2777ec681f3Smrg GL_KHR_texture_compression_astc_ldr DONE (freedreno, i965/gen9+, r600, v3d, vc4, panfrost, softpipe, swr, lima) 27801e04c3fSmrg GL_OES_copy_image DONE (all drivers) 27901e04c3fSmrg GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend) 28001e04c3fSmrg GL_OES_draw_elements_base_vertex DONE (all drivers) 2817ec681f3Smrg GL_OES_geometry_shader DONE (freedreno/a6xx, i965/hsw+, nvc0, r600, softpipe, v3d) 28253c12917Smaya GL_OES_gpu_shader5 DONE (freedreno/a6xx, all drivers that support GL_ARB_gpu_shader5) 2837ec681f3Smrg GL_OES_primitive_bounding_box DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, softpipe, v3d) 2847ec681f3Smrg GL_OES_sample_shading DONE (freedreno/a6xx, i965, nvc0, r600, panfrost) 2857ec681f3Smrg GL_OES_sample_variables DONE (freedreno/a6xx, i965, nvc0, r600, panfrost/bifrost) 28601e04c3fSmrg GL_OES_shader_image_atomic DONE (all drivers that support GL_ARB_shader_image_load_store) 28701e04c3fSmrg GL_OES_shader_io_blocks DONE (All drivers that support GLES 3.1) 28853c12917Smaya GL_OES_shader_multisample_interpolation DONE (freedreno/a6xx, i965, nvc0, r600) 2897ec681f3Smrg GL_OES_tessellation_shader DONE (freedreno/a6xx, all drivers that support GL_ARB_tessellation_shader) 29001e04c3fSmrg GL_OES_texture_border_clamp DONE (all drivers) 2917ec681f3Smrg GL_OES_texture_buffer DONE (freedreno, i965, nvc0, r600, softpipe, panfrost) 2927ec681f3Smrg GL_OES_texture_cube_map_array DONE (freedreno/a4xx+, i965/hsw+, nvc0, r600, softpipe) 29301e04c3fSmrg GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8) 29401e04c3fSmrg GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample) 29501e04c3fSmrg 29601e04c3fSmrgKhronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES version: 29701e04c3fSmrg 2987ec681f3Smrg GL_ARB_bindless_texture DONE (nvc0, radeonsi, zink) 29901e04c3fSmrg GL_ARB_cl_event not started 3007ec681f3Smrg GL_ARB_compute_variable_group_size DONE (i965/gen7+, nvc0, radeonsi, zink) 3017ec681f3Smrg GL_ARB_ES3_2_compatibility DONE (i965/gen8+, radeonsi, virgl, zink) 3027ec681f3Smrg GL_ARB_fragment_shader_interlock DONE (i965, zink) 3037ec681f3Smrg GL_ARB_gpu_shader_int64 DONE (i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe, zink) 3047ec681f3Smrg GL_ARB_parallel_shader_compile DONE (freedreno, iris, radeonsi) 3057ec681f3Smrg GL_ARB_post_depth_coverage DONE (i965, nvc0, radeonsi, llvmpipe, zink) 30601e04c3fSmrg GL_ARB_robustness_isolation not started 3077ec681f3Smrg GL_ARB_sample_locations DONE (nvc0, zink) 3087ec681f3Smrg GL_ARB_seamless_cubemap_per_texture DONE (etnaviv/SEAMLESS_CUBE_MAP, freedreno, i965, nvc0, r600, radeonsi, softpipe, swr, virgl) 3097ec681f3Smrg GL_ARB_shader_ballot DONE (i965/gen8+, nvc0, radeonsi, zink) 3107ec681f3Smrg GL_ARB_shader_clock DONE (i965/gen7+, nv50, nvc0, r600, radeonsi, virgl, zink) 3117ec681f3Smrg GL_ARB_shader_stencil_export DONE (i965/gen9+, r600, radeonsi, softpipe, llvmpipe, swr, virgl, panfrost, zink) 3127ec681f3Smrg GL_ARB_shader_viewport_layer_array DONE (i965/gen6+, nvc0, radeonsi, zink) 3137ec681f3Smrg GL_ARB_shading_language_include DONE 3147ec681f3Smrg GL_ARB_sparse_buffer DONE (radeonsi/CIK+, zink) 31501e04c3fSmrg GL_ARB_sparse_texture not started 31601e04c3fSmrg GL_ARB_sparse_texture2 not started 31701e04c3fSmrg GL_ARB_sparse_texture_clamp not started 3187ec681f3Smrg GL_ARB_texture_filter_minmax DONE (nvc0/gm200+, zink) 3197ec681f3Smrg GL_EXT_color_buffer_half_float DONE (freedreno, i965, iris, llvmpipe, nv50, nvc0, radeonsi, zink) 3207ec681f3Smrg GL_EXT_depth_bounds_test DONE (i965/gen12+, nv50, nvc0, radeonsi, softpipe, swr, zink) 3217ec681f3Smrg GL_EXT_memory_object DONE (radeonsi, i965/gen7+, llvmpipe) 3227ec681f3Smrg GL_EXT_memory_object_fd DONE (radeonsi, i965/gen7+, llvmpipe) 32301e04c3fSmrg GL_EXT_memory_object_win32 not started 3247ec681f3Smrg GL_EXT_multisampled_render_to_texture DONE (freedreno/a6xx, panfrost, zink) 3257ec681f3Smrg GL_EXT_render_snorm DONE (i965, r600, radeonsi, softpipe, zink) 3267ec681f3Smrg GL_EXT_semaphore DONE (radeonsi, i965/gen7+) 3277ec681f3Smrg GL_EXT_semaphore_fd DONE (radeonsi, i965/gen7+) 32801e04c3fSmrg GL_EXT_semaphore_win32 not started 3297ec681f3Smrg GL_EXT_shader_group_vote DONE (all drivers that support GL_ARB_shader_group_vote) 33053c12917Smaya GL_EXT_sRGB_write_control DONE (all drivers that support GLES 3.0+) 3317ec681f3Smrg GL_EXT_texture_norm16 DONE (freedreno, i965, r600, radeonsi, nvc0i, softpipe, zink) 33253c12917Smaya GL_EXT_texture_sRGB_R8 DONE (all drivers that support GLES 3.0+) 3337ec681f3Smrg GL_KHR_blend_equation_advanced_coherent DONE (i965/gen9+, panfrost) 3347ec681f3Smrg GL_KHR_texture_compression_astc_hdr DONE (i965/bxt, panfrost) 3357ec681f3Smrg GL_KHR_texture_compression_astc_sliced_3d DONE (i965/gen9+, r600, radeonsi, panfrost, softpipe, swr, zink, lima) 33601e04c3fSmrg GL_OES_depth_texture_cube_map DONE (all drivers that support GLSL 1.30+) 33701e04c3fSmrg GL_OES_EGL_image DONE (all drivers) 33801e04c3fSmrg GL_OES_EGL_image_external DONE (all drivers) 33901e04c3fSmrg GL_OES_EGL_image_external_essl3 DONE (all drivers) 34001e04c3fSmrg GL_OES_required_internalformat DONE (all drivers) 34101e04c3fSmrg GL_OES_surfaceless_context DONE (all drivers) 34201e04c3fSmrg GL_OES_texture_compression_astc DONE (core only) 3437ec681f3Smrg GL_OES_texture_float DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr, zink) 3447ec681f3Smrg GL_OES_texture_float_linear DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr, zink) 3457ec681f3Smrg GL_OES_texture_half_float DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr, zink, lima) 3467ec681f3Smrg GL_OES_texture_half_float_linear DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe, panfrost, swr, zink, lima) 3477ec681f3Smrg GL_OES_texture_view DONE (freedreno, i965/gen8+, r600, radeonsi, nv50, nvc0, softpipe, llvmpipe, swr, zink) 3487ec681f3Smrg GL_OES_viewport_array DONE (i965, nvc0, r600, radeonsi, softpipe, zink) 34901e04c3fSmrg GLX_ARB_context_flush_control not started 35001e04c3fSmrg GLX_ARB_robustness_application_isolation not started 35101e04c3fSmrg GLX_ARB_robustness_share_group_isolation not started 35201e04c3fSmrg 35301e04c3fSmrgGL_EXT_direct_state_access subfeatures (in the spec order): 3547ec681f3Smrg GL 1.1: Client commands DONE 3557ec681f3Smrg GL 1.0-1.3: Matrix and transpose matrix commands DONE 3567ec681f3Smrg GL 1.1-1.2: Texture commands DONE 3577ec681f3Smrg GL 1.2: 3D texture commands DONE 3587ec681f3Smrg GL 1.2.1: Multitexture commands DONE 3597ec681f3Smrg GL 1.2.1-3.0: Indexed texture commands DONE 3607ec681f3Smrg GL 1.2.1-3.0: Indexed generic queries DONE 3617ec681f3Smrg GL 1.2.1: EnableIndexed.. Get*Indexed DONE 3627ec681f3Smrg GL_ARB_vertex_program DONE 3637ec681f3Smrg GL 1.3: Compressed texture and multitexture commands DONE 3647ec681f3Smrg GL 1.5: Buffer commands DONE 3657ec681f3Smrg GL 2.0-2.1: Uniform and uniform matrix commands DONE 3667ec681f3Smrg GL_EXT_texture_buffer_object DONE 3677ec681f3Smrg GL_EXT_texture_integer DONE 3687ec681f3Smrg GL_EXT_gpu_shader4 DONE 3697ec681f3Smrg GL_EXT_gpu_program_parameters DONE 37001e04c3fSmrg GL_NV_gpu_program4 n/a 37101e04c3fSmrg GL_NV_framebuffer_multisample_coverage n/a 3727ec681f3Smrg GL 3.0: Renderbuffer/framebuffer commands, Gen*Mipmap DONE 3737ec681f3Smrg GL 3.0: CopyBuffer command DONE 3747ec681f3Smrg GL_EXT_geometry_shader4 commands (expose in GL 3.2) DONE 37501e04c3fSmrg GL_NV_explicit_multisample n/a 3767ec681f3Smrg GL 3.0: Vertex array/attrib/query/map commands DONE 3777ec681f3Smrg Matrix GL tokens DONE 37801e04c3fSmrg 37901e04c3fSmrgGL_EXT_direct_state_access additions from other extensions (complete list): 38001e04c3fSmrg GL_AMD_framebuffer_sample_positions n/a 3817ec681f3Smrg GL_AMD_gpu_shader_int64 n/a (not enabled in compat profile) 3827ec681f3Smrg GL_ARB_bindless_texture DONE 3837ec681f3Smrg GL_ARB_buffer_storage DONE 3847ec681f3Smrg GL_ARB_clear_buffer_object DONE 3857ec681f3Smrg GL_ARB_framebuffer_no_attachments DONE 3867ec681f3Smrg GL_ARB_gpu_shader_fp64 DONE 3877ec681f3Smrg GL_ARB_instanced_arrays DONE 3887ec681f3Smrg GL_ARB_internalformat_query2 DONE 38901e04c3fSmrg GL_ARB_sparse_texture n/a 3907ec681f3Smrg GL_ARB_sparse_buffer DONE 3917ec681f3Smrg GL_ARB_texture_buffer_range DONE 3927ec681f3Smrg GL_ARB_texture_storage DONE 3937ec681f3Smrg GL_ARB_texture_storage_multisample DONE 3947ec681f3Smrg GL_ARB_vertex_attrib_64bit DONE 3957ec681f3Smrg GL_ARB_vertex_attrib_binding DONE 3967ec681f3Smrg GL_EXT_buffer_storage DONE 3977ec681f3Smrg GL_EXT_external_buffer n/a 39801e04c3fSmrg GL_EXT_separate_shader_objects n/a 39901e04c3fSmrg GL_EXT_sparse_texture n/a 40001e04c3fSmrg GL_EXT_texture_storage n/a 4017ec681f3Smrg GL_EXT_vertex_attrib_64bit DONE 40201e04c3fSmrg GL_EXT_EGL_image_storage n/a 40301e04c3fSmrg GL_NV_bindless_texture n/a 40401e04c3fSmrg GL_NV_gpu_shader5 n/a 40501e04c3fSmrg GL_NV_texture_multisample n/a 40601e04c3fSmrg GL_NV_vertex_buffer_unified_memory n/a 40701e04c3fSmrg GL_NVX_linked_gpu_multicast n/a 40801e04c3fSmrg GLX_NV_copy_buffer n/a 40901e04c3fSmrg 41001e04c3fSmrgThe following extensions are not part of any OpenGL or OpenGL ES version, and 41101e04c3fSmrgwe DO NOT WANT implementations of these extensions for Mesa. 41201e04c3fSmrg 41301e04c3fSmrg GL_ARB_geometry_shader4 Superseded by GL 3.2 geometry shaders 41401e04c3fSmrg GL_ARB_matrix_palette Superseded by GL_ARB_vertex_program 41501e04c3fSmrg GL_ARB_shadow_ambient Superseded by GL_ARB_fragment_program 41601e04c3fSmrg GL_ARB_vertex_blend Superseded by GL_ARB_vertex_program 41701e04c3fSmrg 4187ec681f3SmrgVulkan 1.0 -- all DONE: anv, lvp, radv, tu, v3dv, vn 4197ec681f3Smrg 4207ec681f3SmrgVulkan 1.1 -- all DONE: anv, lvp, radv, tu, vn 4217ec681f3Smrg 4227ec681f3Smrg VK_KHR_16bit_storage DONE (anv/gen8+, lvp, radv, tu/a650, vn) 4237ec681f3Smrg VK_KHR_bind_memory2 DONE (anv, lvp, radv, tu, v3dv, vn) 4247ec681f3Smrg VK_KHR_dedicated_allocation DONE (anv, lvp, radv, tu, v3dv, vn) 4257ec681f3Smrg VK_KHR_descriptor_update_template DONE (anv, lvp, radv, tu, v3dv, vn) 4267ec681f3Smrg VK_KHR_device_group DONE (lvp, tu, v3dv, vn) 4277ec681f3Smrg VK_KHR_device_group_creation DONE (lvp, tu, v3dv, vn) 4287ec681f3Smrg VK_KHR_external_fence DONE (anv, lvp, radv, tu, v3dv, vn) 4297ec681f3Smrg VK_KHR_external_fence_capabilities DONE (anv, lvp, radv, tu, v3dv, vn) 4307ec681f3Smrg VK_KHR_external_memory DONE (anv, lvp, radv, tu, v3dv, vn) 4317ec681f3Smrg VK_KHR_external_memory_capabilities DONE (anv, lvp, radv, tu, v3dv, vn) 4327ec681f3Smrg VK_KHR_external_semaphore DONE (anv, lvp, radv, tu, v3dv, vn) 4337ec681f3Smrg VK_KHR_external_semaphore_capabilities DONE (anv, lvp, radv, tu, v3dv, vn) 4347ec681f3Smrg VK_KHR_get_memory_requirements2 DONE (anv, lvp, radv, tu, v3dv, vn) 4357ec681f3Smrg VK_KHR_get_physical_device_properties2 DONE (anv, lvp, radv, tu, v3dv, vn) 4367ec681f3Smrg VK_KHR_maintenance1 DONE (anv, lvp, radv, tu, v3dv, vn) 4377ec681f3Smrg VK_KHR_maintenance2 DONE (anv, lvp, radv, tu, v3dv, vn) 4387ec681f3Smrg VK_KHR_maintenance3 DONE (anv, lvp, radv, tu, v3dv, vn) 4397ec681f3Smrg VK_KHR_multiview DONE (anv, lvp, radv, tu, v3dv, vn) 4407ec681f3Smrg VK_KHR_relaxed_block_layout DONE (anv, lvp, radv, tu, v3dv, vn) 4417ec681f3Smrg VK_KHR_sampler_ycbcr_conversion DONE (anv, radv, tu, vn) 4427ec681f3Smrg VK_KHR_shader_draw_parameters DONE (anv, lvp, radv, tu, vn) 4437ec681f3Smrg VK_KHR_storage_buffer_storage_class DONE (anv, lvp, radv, tu, v3dv, vn) 4447ec681f3Smrg VK_KHR_variable_pointers DONE (anv, lvp, radv, tu, v3dv, vn) 4457ec681f3Smrg 4467ec681f3SmrgVulkan 1.2 -- all DONE: anv, vn 4477ec681f3Smrg 4487ec681f3Smrg VK_KHR_8bit_storage DONE (anv/gen8+, lvp, radv, vn) 4497ec681f3Smrg VK_KHR_buffer_device_address DONE (anv/gen8+, lvp, radv, vn) 4507ec681f3Smrg VK_KHR_create_renderpass2 DONE (anv, lvp, radv, tu, vn) 4517ec681f3Smrg VK_KHR_depth_stencil_resolve DONE (anv, lvp, radv, tu, vn) 4527ec681f3Smrg VK_KHR_draw_indirect_count DONE (anv, lvp, radv, tu, vn) 4537ec681f3Smrg VK_KHR_driver_properties DONE (anv, lvp, radv, vn) 4547ec681f3Smrg VK_KHR_image_format_list DONE (anv, lvp, radv, tu, v3dv, vn) 4557ec681f3Smrg VK_KHR_imageless_framebuffer DONE (anv, lvp, radv, tu, vn) 4567ec681f3Smrg VK_KHR_sampler_mirror_clamp_to_edge DONE (anv, lvp, radv, tu, v3dv, vn) 4577ec681f3Smrg VK_KHR_separate_depth_stencil_layouts DONE (anv, lvp, radv, vn) 4587ec681f3Smrg VK_KHR_shader_atomic_int64 DONE (anv/gen9+, lvp, radv, vn) 4597ec681f3Smrg VK_KHR_shader_float16_int8 DONE (anv/gen8+, lvp, radv, tu, vn) 4607ec681f3Smrg VK_KHR_shader_float_controls DONE (anv/gen8+, lvp, radv, tu, vn) 4617ec681f3Smrg VK_KHR_shader_subgroup_extended_types DONE (anv/gen8+, lvp, radv, tu, vn) 4627ec681f3Smrg VK_KHR_spirv_1_4 DONE (anv, lvp, radv, tu, vn) 4637ec681f3Smrg VK_KHR_timeline_semaphore DONE (anv, lvp, radv, tu, vn) 4647ec681f3Smrg VK_KHR_uniform_buffer_standard_layout DONE (anv, lvp, radv, tu, v3dv, vn) 4657ec681f3Smrg VK_KHR_vulkan_memory_model DONE (anv, radv, tu, vn) 4667ec681f3Smrg VK_EXT_descriptor_indexing DONE (anv/gen9+, radv, tu, vn) 4677ec681f3Smrg VK_EXT_host_query_reset DONE (anv, lvp, radv, tu, vn) 4687ec681f3Smrg VK_EXT_sampler_filter_minmax DONE (anv/gen9+, lvp, radv, tu, vn) 4697ec681f3Smrg VK_EXT_scalar_block_layout DONE (anv, lvp, radv/gfx7+, tu, vn) 4707ec681f3Smrg VK_EXT_separate_stencil_usage DONE (anv, lvp, tu, vn) 4717ec681f3Smrg VK_EXT_shader_viewport_index_layer DONE (anv, lvp, radv, tu, vn) 47201e04c3fSmrg 47301e04c3fSmrgKhronos extensions that are not part of any Vulkan version: 4747ec681f3Smrg 47501e04c3fSmrg VK_KHR_android_surface not started 4767ec681f3Smrg VK_KHR_copy_commands2 DONE (anv, lvp, radv, v3dv) 4777ec681f3Smrg VK_KHR_deferred_host_operations DONE (anv, radv) 4787ec681f3Smrg VK_KHR_display DONE (anv, lvp, radv, tu, v3dv) 4797ec681f3Smrg VK_KHR_display_swapchain not started 4807ec681f3Smrg VK_KHR_external_fence_fd DONE (anv, radv, tu, v3dv, vn) 48101e04c3fSmrg VK_KHR_external_fence_win32 not started 4827ec681f3Smrg VK_KHR_external_memory_fd DONE (anv, lvp, radv, tu, v3dv, vn) 48301e04c3fSmrg VK_KHR_external_memory_win32 not started 4847ec681f3Smrg VK_KHR_external_semaphore_fd DONE (anv, radv, tu, v3dv, vn) 48501e04c3fSmrg VK_KHR_external_semaphore_win32 not started 4867ec681f3Smrg VK_KHR_fragment_shading_rate not started 4877ec681f3Smrg VK_KHR_get_display_properties2 DONE (anv, lvp, radv, tu, v3dv) 4887ec681f3Smrg VK_KHR_get_surface_capabilities2 DONE (anv, lvp, radv, tu, v3dv, vn) 4897ec681f3Smrg VK_KHR_incremental_present DONE (anv, lvp, radv, tu, v3dv, vn) 4907ec681f3Smrg VK_KHR_performance_query DONE (anv/gen8+, tu) 4917ec681f3Smrg VK_KHR_pipeline_executable_properties DONE (anv, radv, tu) 4927ec681f3Smrg VK_KHR_push_descriptor DONE (anv, lvp, radv, tu) 4937ec681f3Smrg VK_KHR_shader_clock DONE (anv, radv) 4947ec681f3Smrg VK_KHR_shader_integer_dot_product DONE (radv) 4957ec681f3Smrg VK_KHR_shader_non_semantic_info DONE (anv, radv) 4967ec681f3Smrg VK_KHR_shader_subgroup_uniform_control_flow DONE (anv, radv) 4977ec681f3Smrg VK_KHR_shader_terminate_invocation DONE (anv, radv, tu) 49801e04c3fSmrg VK_KHR_shared_presentable_image not started 4997ec681f3Smrg VK_KHR_surface DONE (anv, lvp, radv, tu, v3dv, vn) 5007ec681f3Smrg VK_KHR_surface_protected_capabilities DONE (anv, lvp, radv, v3dv, vn) 5017ec681f3Smrg VK_KHR_swapchain DONE (anv, lvp, radv, tu, v3dv, vn) 5027ec681f3Smrg VK_KHR_swapchain_mutable_format DONE (anv, radv, vn) 5037ec681f3Smrg VK_KHR_wayland_surface DONE (anv, lvp, radv, tu, v3dv, vn) 5047ec681f3Smrg VK_KHR_workgroup_memory_explicit_layout DONE (anv, radv) 50501e04c3fSmrg VK_KHR_win32_keyed_mutex not started 5067ec681f3Smrg VK_KHR_win32_surface DONE (lvp) 5077ec681f3Smrg VK_KHR_xcb_surface DONE (anv, lvp, radv, tu, v3dv, vn) 5087ec681f3Smrg VK_KHR_xlib_surface DONE (anv, lvp, radv, tu, v3dv, vn) 5097ec681f3Smrg VK_KHR_zero_initialize_workgroup_memory DONE (anv, radv) 5107ec681f3Smrg VK_EXT_4444_formats DONE (anv, lvp, radv, tu) 5117ec681f3Smrg VK_EXT_calibrated_timestamps DONE (anv, lvp, radv) 5127ec681f3Smrg VK_EXT_color_write_enable DONE (anv, lvp, v3dv) 5137ec681f3Smrg VK_EXT_conditional_rendering DONE (anv, lvp, radv, tu) 5147ec681f3Smrg VK_EXT_conservative_rasterization DONE (anv/gen9+, radv) 5157ec681f3Smrg VK_EXT_custom_border_color DONE (anv, lvp, radv, tu, v3dv) 5167ec681f3Smrg VK_EXT_debug_marker DONE (radv) 5177ec681f3Smrg VK_EXT_depth_clip_enable DONE (anv, lvp, radv, tu) 5187ec681f3Smrg VK_EXT_depth_range_unrestricted DONE (radv) 5197ec681f3Smrg VK_EXT_discard_rectangles DONE (radv) 5207ec681f3Smrg VK_EXT_display_control DONE (anv, radv, tu) 5217ec681f3Smrg VK_EXT_extended_dynamic_state DONE (anv, lvp, radv, tu) 5227ec681f3Smrg VK_EXT_extended_dynamic_state2 DONE (anv, lvp, radv) 5237ec681f3Smrg VK_EXT_external_memory_dma_buf DONE (anv, radv, tu, v3dv, vn) 5247ec681f3Smrg VK_EXT_external_memory_host DONE (anv, lvp, radv) 5257ec681f3Smrg VK_EXT_filter_cubic DONE (tu/a650) 5267ec681f3Smrg VK_EXT_fragment_shader_interlock DONE (anv/gen9+) 5277ec681f3Smrg VK_EXT_global_priority DONE (anv, radv) 5287ec681f3Smrg VK_EXT_image_drm_format_modifier DONE (anv, radv/gfx9+, tu, vn) 5297ec681f3Smrg VK_EXT_image_robustness DONE (anv, radv) 5307ec681f3Smrg VK_EXT_index_type_uint8 DONE (anv, lvp, radv/gfx8+, v3dv, tu) 5317ec681f3Smrg VK_EXT_inline_uniform_block DONE (anv, radv) 5327ec681f3Smrg VK_EXT_line_rasterization DONE (anv, lvp, radv, tu) 5337ec681f3Smrg VK_EXT_memory_budget DONE (anv, radv, tu) 5347ec681f3Smrg VK_EXT_memory_priority DONE (radv) 5357ec681f3Smrg VK_EXT_multi_draw DONE (anv, lvp, radv) 5367ec681f3Smrg VK_EXT_pci_bus_info DONE (anv, radv) 5377ec681f3Smrg VK_EXT_physical_device_drm DONE (anv, radv, v3dv) 5387ec681f3Smrg VK_EXT_pipeline_creation_cache_control DONE (anv, radv, v3dv) 5397ec681f3Smrg VK_EXT_pipeline_creation_feedback DONE (anv, radv, v3dv) 5407ec681f3Smrg VK_EXT_post_depth_coverage DONE (anv/gfx10+, lvp, radv) 5417ec681f3Smrg VK_EXT_private_data DONE (anv, lvp, radv, tu, v3dv) 5427ec681f3Smrg VK_EXT_provoking_vertex DONE (anv, lvp, radv, tu, v3dv) 5437ec681f3Smrg VK_EXT_queue_family_foreign DONE (anv, radv, vn) 5447ec681f3Smrg VK_EXT_robustness2 DONE (anv, radv, tu) 5457ec681f3Smrg VK_EXT_sample_locations DONE (anv, radv/gfx9-, tu/a650) 5467ec681f3Smrg VK_EXT_shader_atomic_float DONE (anv, radv) 5477ec681f3Smrg VK_EXT_shader_atomic_float2 DONE (anv/gen9+, radv) 5487ec681f3Smrg VK_EXT_shader_demote_to_helper_invocation DONE (anv, radv, tu) 5497ec681f3Smrg VK_EXT_shader_image_atomic_int64 DONE (radv) 5507ec681f3Smrg VK_EXT_shader_stencil_export DONE (anv/gen9+, lvp, radv, tu) 5517ec681f3Smrg VK_EXT_shader_subgroup_ballot DONE (anv, radv) 5527ec681f3Smrg VK_EXT_shader_subgroup_vote DONE (anv, radv) 5537ec681f3Smrg VK_EXT_subgroup_size_control DONE (anv, radv) 5547ec681f3Smrg VK_EXT_texel_buffer_alignment DONE (anv, radv) 5557ec681f3Smrg VK_EXT_transform_feedback DONE (anv, lvp, radv, tu, vn) 5567ec681f3Smrg VK_EXT_vertex_attribute_divisor DONE (anv, radv, lvp, tu, v3dv) 5577ec681f3Smrg VK_EXT_vertex_input_dynamic_state DONE (lvp, radv) 5587ec681f3Smrg VK_EXT_ycbcr_image_arrays DONE (anv, radv) 5597ec681f3Smrg VK_ANDROID_external_memory_android_hardware_buffer DONE (anv, radv, vn) 5607ec681f3Smrg VK_ANDROID_native_buffer DONE (anv, radv, vn) 5617ec681f3Smrg VK_GOOGLE_decorate_string DONE (anv, lvp, radv) 5627ec681f3Smrg VK_GOOGLE_hlsl_functionality1 DONE (anv, lvp, radv) 5637ec681f3Smrg VK_GOOGLE_user_type DONE (anv, radv) 5647ec681f3Smrg VK_IMG_filter_cubic DONE (tu/a650) 5657ec681f3Smrg VK_NV_compute_shader_derivatives DONE (anv, radv) 5667ec681f3Smrg VK_EXT_acquire_drm_display DONE (radv, anv) 5677ec681f3Smrg VK_VALVE_mutable_descriptor_type DONE (radv, tu) 5687ec681f3Smrg 5697ec681f3Smrg 5707ec681f3SmrgOpenCL 1.0 -- all DONE: 5717ec681f3Smrg 5727ec681f3Smrg Image support in progress 5737ec681f3Smrg 5747ec681f3Smrg 5757ec681f3SmrgOpenCL 1.1 -- all DONE: 5767ec681f3Smrg 5777ec681f3Smrg Additional queries for clGetDeviceInfo DONE (nvc0, r600, radeonsi) 5787ec681f3Smrg CL_CONTEXT_NUM_DEVICES for clGetContextInfo DONE 5797ec681f3Smrg Optional image formats not started 5807ec681f3Smrg clCreateSubBuffer DONE 5817ec681f3Smrg Read from, write to, copy rectangular regions DONE 5827ec681f3Smrg clSetMemObjectDestructorCallback DONE 5837ec681f3Smrg Control OpenCL C version when building DONE 5847ec681f3Smrg Query for preferred work-group size multiple DONE (nvc0, r600, radeonsi) 5857ec681f3Smrg Support user events DONE 5867ec681f3Smrg clSetEventCallback DONE 5877ec681f3Smrg Minimum requirement changes for clGetDeviceInfo DONE (nvc0, r600, radeonsi) 5887ec681f3Smrg Arg prerequisite change for clEnqueueNDRangeKernel DONE () 5897ec681f3Smrg 3-component vector data types DONE (nvc0, r600, radeonsi) 5907ec681f3Smrg cl_khr_byte_addressable_store DONE (nvc0, r600, radeonsi) 5917ec681f3Smrg cl_khr_global_int32_base_atomics DONE (nvc0, r600, radeonsi) 5927ec681f3Smrg cl_khr_global_int32_extended_atomics DONE (nvc0, r600, radeonsi) 5937ec681f3Smrg cl_khr_local_int32_base_atomics DONE (nvc0, r600, radeonsi) 5947ec681f3Smrg cl_khr_local_int32_extended_atomics DONE (nvc0, r600, radeonsi) 5957ec681f3Smrg 5967ec681f3Smrg 5977ec681f3SmrgOpenCL 1.2 -- all DONE: 5987ec681f3Smrg 5997ec681f3Smrg Custom devices DONE 6007ec681f3Smrg Built-in kernels DONE () 6017ec681f3Smrg Device partitioning DONE () 6027ec681f3Smrg Separate compilation and linking of programs DONE 6037ec681f3Smrg Extend cl_mem_flags DONE 6047ec681f3Smrg clEnqueueFillBuffer, clEnqueueFillImage DONE 6057ec681f3Smrg Add CL_MAP_WRITE_INVALIDATE_REGION to cl_map_flags DONE 6067ec681f3Smrg New image types not started 6077ec681f3Smrg clCreateImage DONE 6087ec681f3Smrg clEnqueueMigrateMemObjects DONE 6097ec681f3Smrg Retrieve kernels information from a program DONE 6107ec681f3Smrg clGetKernelArgInfo DONE 6117ec681f3Smrg clEnqueueMarkerWithWaitList DONE 6127ec681f3Smrg clEnqueueBarrierWithWaitList DONE 6137ec681f3Smrg clUnloadPlatformCompiler DONE 6147ec681f3Smrg cl_khr_fp64 DONE (nvc0, r600, radeonsi) 6157ec681f3Smrg printf DONE (nvc0) 6167ec681f3Smrg CL_KERNEL_ATTRIBUTES for clGetKernelInfo DONE 6177ec681f3Smrg 6187ec681f3Smrg 6197ec681f3SmrgOpenCL 2.0 -- all DONE: 6207ec681f3Smrg 6217ec681f3Smrg Shared virtual memory DONE (nvc0) 6227ec681f3Smrg Device queues not started 6237ec681f3Smrg - cl_khr_create_command_queue not started 6247ec681f3Smrg - Additional queries for clGetDeviceInfo not started 6257ec681f3Smrg Pipes not started 6267ec681f3Smrg Extended 2D images creation not started 6277ec681f3Smrg - cl_khr_image2d_from_buffer not started 6287ec681f3Smrg - cl_khr_depth_images not started 6297ec681f3Smrg - from sRGB images not started 6307ec681f3Smrg clCreateSamplerWithProperties not started 6317ec681f3Smrg cl_khr_3d_image_writes not started 6327ec681f3Smrg 6337ec681f3Smrg 6347ec681f3SmrgOpenCL 2.1 -- all DONE: 6357ec681f3Smrg 6367ec681f3Smrg Sub groups not started 6377ec681f3Smrg - cl_khr_subgroups not started 6387ec681f3Smrg - Additional queries for clGetDeviceInfo not started 6397ec681f3Smrg cl_khr_il_program DONE (nvc0) 6407ec681f3Smrg Device and host timer synchronization not started 6417ec681f3Smrg clEnqueueSVMMigrateMem not started 6427ec681f3Smrg clCloneKernel not started 6437ec681f3Smrg Default device command queue not started 6447ec681f3Smrg 6457ec681f3Smrg 6467ec681f3SmrgOpenCL 2.2 -- all DONE: 6477ec681f3Smrg 6487ec681f3Smrg clSetProgramSpecializationConstant not started 6497ec681f3Smrg clSetProgramReleaseCallback not started 6507ec681f3Smrg Initialization and clean-up kernels not started 6517ec681f3Smrg CL_MAX_SIZE_RESTRICTION_EXCEEDED for clSetKernelArg not started 6527ec681f3Smrg Support SPIR-V 1.1 and 1.2 not started 6537ec681f3Smrg 6547ec681f3Smrg 6557ec681f3SmrgOpenCL 3.0 -- all DONE 6567ec681f3Smrg 6577ec681f3Smrg Optional device capabilities queries in progress 6587ec681f3Smrg cl_khr_extended_versioning DONE 6597ec681f3Smrg clSetContextDestructorCallback DONE 6607ec681f3Smrg clCreateBufferWithProperties DONE 6617ec681f3Smrg clCreateImageWithProperties DONE 6627ec681f3Smrg Query properties arrays in progress 6637ec681f3Smrg Supported OpenCL C versions and features queries DONE 6647ec681f3Smrg CL_COMMAND_SVM_MIGRATE_MEM for clGetEventInfo not started 6657ec681f3Smrg Latest conformance version passed for devices not started 6667ec681f3Smrg 6677ec681f3Smrg 6687ec681f3SmrgKhronos, and EXT extensions that are not part of any OpenCL version: 6697ec681f3Smrg 6707ec681f3Smrg cl_ext_atomic_counters_32 not started 6717ec681f3Smrg cl_ext_atomic_counters_64 not started 6727ec681f3Smrg cl_ext_device_fission not started 6737ec681f3Smrg cl_ext_migrate_memobject not started 6747ec681f3Smrg cl_khr_async_work_group_copy_fence not started 6757ec681f3Smrg cl_khr_d3d10_sharing not started 6767ec681f3Smrg cl_khr_d3d11_sharing not started 6777ec681f3Smrg cl_khr_device_enqueue_local_arg_types not started 6787ec681f3Smrg cl_khr_dx9_media_sharing not started 6797ec681f3Smrg cl_khr_egl_event not started 6807ec681f3Smrg cl_khr_egl_image not started 6817ec681f3Smrg cl_khr_extended_async_copies not started 6827ec681f3Smrg cl_khr_fp16 DONE () 6837ec681f3Smrg cl_khr_gl_depth_images not started 6847ec681f3Smrg cl_khr_gl_event not started 6857ec681f3Smrg cl_khr_gl_msaa_sharing not started 6867ec681f3Smrg cl_khr_gl_sharing not started 6877ec681f3Smrg cl_khr_icd DONE 6887ec681f3Smrg cl_khr_initialize_memory not started 6897ec681f3Smrg cl_khr_int64_base_atomics DONE () 6907ec681f3Smrg cl_khr_int64_extended_atomics DONE () 6917ec681f3Smrg cl_khr_mipmap_image not started 6927ec681f3Smrg cl_khr_mipmap_image_writes not started 6937ec681f3Smrg cl_khr_priority_hints not started 6947ec681f3Smrg cl_khr_select_fprounding_mode not started 6957ec681f3Smrg cl_khr_spir not started 6967ec681f3Smrg cl_khr_srgb_image_writes not started 6977ec681f3Smrg cl_khr_subgroup_named_barrier not started 6987ec681f3Smrg cl_khr_subgroups not started 6997ec681f3Smrg cl_khr_terminate_context not started 7007ec681f3Smrg cl_khr_throttle_hints not started 7017ec681f3Smrg 7027ec681f3Smrg 7037ec681f3SmrgVendor specific extensions that are not part of any OpenCL version: 7047ec681f3Smrg 7057ec681f3Smrg cl_arm_shared_virtual_memory DONE (nvc0) 7067ec681f3Smrg 7077ec681f3Smrg 7087ec681f3SmrgThe following extensions are not part of any OpenCL version, and we DO NOT WANT 7097ec681f3Smrgimplementations of these extensions for Mesa. 7107ec681f3Smrg 7117ec681f3Smrg cl_nv_d3d10_sharing Superseded by cl_khr_d3d10_sharing 7127ec681f3Smrg cl_nv_d3d11_sharing Superseded by cl_khr_d3d10_sharing 71301e04c3fSmrg 71401e04c3fSmrg 71501e04c3fSmrgA graphical representation of this information can be found at 71601e04c3fSmrghttps://mesamatrix.net/ 717