GL_EXT_texture_integer DONE (panfrost, v3d)
GL_EXT_texture_array DONE (panfrost, v3d)
GL_EXT_draw_buffers2 (Per-buffer blend and masks) DONE (panfrost, v3d)
- GL_EXT_texture_compression_rgtc DONE (panfrost/if SoC supports)
+ GL_EXT_texture_compression_rgtc DONE (panfrost)
GL_ARB_texture_rg DONE (panfrost, v3d)
GL_EXT_transform_feedback (Transform feedback) DONE (panfrost, v3d)
GL_ARB_vertex_array_object (Vertex array objects) DONE (panfrost, v3d)
Depth format cube textures DONE (panfrost)
GLX_ARB_create_context (GLX 1.4 is required) DONE (panfrost, v3d)
Multisample anti-aliasing DONE (freedreno/a5xx+, freedreno (*), llvmpipe (*), softpipe (*), swr (*), panfrost)
- 8 draw buffers DONE ()
+ 8 draw buffers DONE (panfrost/t760+)
(*) freedreno (a2xx-a4xx), llvmpipe, softpipe, and swr have fake Multisample anti-aliasing support
GL_ARB_map_buffer_alignment DONE (all drivers)
-GL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, virgl
+GL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe, virgl
GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30)
GL_ARB_clear_buffer_object DONE (all drivers)
- GL_ARB_compute_shader DONE (freedreno/a5xx+, i965, llvmpipe, softpipe, v3d)
- GL_ARB_copy_image DONE (i965, nv50, softpipe, llvmpipe, swr)
+ GL_ARB_compute_shader DONE (freedreno/a5xx+, i965, softpipe, v3d)
+ GL_ARB_copy_image DONE (i965, nv50, softpipe, swr)
GL_KHR_debug DONE (all drivers)
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
- GL_ARB_fragment_layer_viewport DONE (i965, nv50, llvmpipe, softpipe, swr)
- GL_ARB_framebuffer_no_attachments DONE (freedreno, i965, llvmpipe, softpipe, v3d)
+ GL_ARB_fragment_layer_viewport DONE (i965, nv50, softpipe, swr)
+ GL_ARB_framebuffer_no_attachments DONE (freedreno, i965, softpipe, v3d)
GL_ARB_internalformat_query2 DONE (all drivers)
GL_ARB_invalidate_subdata DONE (all drivers)
- GL_ARB_multi_draw_indirect DONE (freedreno, i965, llvmpipe, softpipe, swr, v3d)
+ GL_ARB_multi_draw_indirect DONE (freedreno, i965, softpipe, swr, v3d)
GL_ARB_program_interface_query DONE (all drivers)
GL_ARB_robust_buffer_access_behavior DONE (i965)
- GL_ARB_shader_image_size DONE (freedreno/a5xx+, i965, llvmpipe, softpipe, v3d)
- GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, i965, llvmpipe, softpipe, v3d)
- GL_ARB_stencil_texturing DONE (freedreno, i965/hsw+, nv50, llvmpipe, softpipe, swr, v3d)
- GL_ARB_texture_buffer_range DONE (freedreno, nv50, i965, softpipe, llvmpipe, swr)
+ GL_ARB_shader_image_size DONE (freedreno/a5xx+, i965, softpipe, v3d)
+ GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, i965, softpipe, v3d)
+ GL_ARB_stencil_texturing DONE (freedreno, i965/hsw+, nv50, softpipe, swr, v3d)
+ GL_ARB_texture_buffer_range DONE (freedreno, nv50, i965, softpipe, swr)
GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30)
GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
- GL_ARB_texture_view DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr)
+ GL_ARB_texture_view DONE (freedreno, i965, nv50, softpipe, swr)
GL_ARB_vertex_attrib_binding DONE (all drivers)
-GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi
+GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi, llvmpipe
GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
- GL_ARB_buffer_storage DONE (freedreno, i965, nv50, llvmpipe, swr, v3d)
- GL_ARB_clear_texture DONE (i965, nv50, llvmpipe, softpipe, swr, virgl)
- GL_ARB_enhanced_layouts DONE (i965, nv50, llvmpipe, softpipe, virgl)
+ GL_ARB_buffer_storage DONE (freedreno, i965, nv50, swr, v3d)
+ GL_ARB_clear_texture DONE (i965, nv50, softpipe, swr, virgl)
+ GL_ARB_enhanced_layouts DONE (i965, nv50, softpipe, virgl)
- compile-time constant expressions DONE
- explicit byte offsets for blocks DONE
- forced alignment within blocks DONE
- specified transform/feedback layout DONE
- input/output block locations DONE
GL_ARB_multi_bind DONE (all drivers)
- GL_ARB_query_buffer_object DONE (i965/hsw+, llvmpipe, virgl)
- GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, llvmpipe, softpipe, swr, virgl, panfrost)
- GL_ARB_texture_stencil8 DONE (freedreno, i965/hsw+, nv50, llvmpipe, softpipe, swr, virgl, v3d)
- GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, llvmpipe, softpipe, swr, virgl, zink, panfrost)
+ GL_ARB_query_buffer_object DONE (i965/hsw+, virgl)
+ GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, softpipe, swr, virgl, panfrost)
+ GL_ARB_texture_stencil8 DONE (freedreno, i965/hsw+, nv50, softpipe, swr, virgl, v3d)
+ GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, softpipe, swr, virgl, zink, panfrost)
-GL 4.5, GLSL 4.50 -- all DONE: nvc0, r600, radeonsi
+GL 4.5, GLSL 4.50 -- all DONE: nvc0, r600, radeonsi, llvmpipe
GL_ARB_ES3_1_compatibility DONE (i965/hsw+, softpipe, virgl)
- GL_ARB_clip_control DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr, virgl)
- GL_ARB_conditional_render_inverted DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr, virgl)
- GL_ARB_cull_distance DONE (i965, nv50, llvmpipe, softpipe, swr, virgl)
- GL_ARB_derivative_control DONE (i965, nv50, llvmpipe, softpipe, virgl)
+ GL_ARB_clip_control DONE (freedreno, i965, nv50, softpipe, swr, virgl)
+ GL_ARB_conditional_render_inverted DONE (freedreno, i965, nv50, softpipe, swr, virgl)
+ GL_ARB_cull_distance DONE (i965, nv50, softpipe, swr, virgl)
+ GL_ARB_derivative_control DONE (i965, nv50, softpipe, virgl)
GL_ARB_direct_state_access DONE (all drivers)
GL_ARB_get_texture_sub_image DONE (all drivers)
- GL_ARB_shader_texture_image_samples DONE (i965, nv50, llvmpipe, virgl)
- GL_ARB_texture_barrier DONE (freedreno, i965, nv50, llvmpipe, virgl)
+ GL_ARB_shader_texture_image_samples DONE (i965, nv50, virgl)
+ GL_ARB_texture_barrier DONE (freedreno, i965, nv50, virgl)
GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
GL_KHR_robustness DONE (freedreno, i965, virgl)
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
(*) softpipe and llvmpipe advertise 16x anisotropy but simply ignore the setting
These are the extensions cherry-picked to make GLES 3.1
-GLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, r600, radeonsi, virgl, v3d
+GLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, r600, radeonsi, virgl, v3d, llvmpipe
GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
- GL_ARB_compute_shader DONE (freedreno/a5xx+, i965/gen7+, llvmpipe, softpipe)
- GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, llvmpipe, softpipe, swr)
+ GL_ARB_compute_shader DONE (freedreno/a5xx+, i965/gen7+, softpipe)
+ GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, softpipe, swr)
GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
- GL_ARB_framebuffer_no_attachments DONE (freedreno, i965/gen7+, llvmpipe, softpipe)
+ GL_ARB_framebuffer_no_attachments DONE (freedreno, i965/gen7+, softpipe)
GL_ARB_program_interface_query DONE (all drivers)
- GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, i965/gen7+, llvmpipe, softpipe)
- GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, i965/gen7+, llvmpipe, softpipe)
- GL_ARB_shader_image_size DONE (freedreno/a5xx+, i965/gen7+, llvmpipe, softpipe)
- GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, i965/gen7+, llvmpipe, softpipe)
+ GL_ARB_shader_atomic_counters DONE (freedreno/a5xx+, i965/gen7+, softpipe)
+ GL_ARB_shader_image_load_store DONE (freedreno/a5xx+, i965/gen7+, softpipe)
+ GL_ARB_shader_image_size DONE (freedreno/a5xx+, i965/gen7+, softpipe)
+ GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx+, i965/gen7+, softpipe)
GL_ARB_shading_language_packing DONE (all drivers)
GL_ARB_separate_shader_objects DONE (all drivers)
- GL_ARB_stencil_texturing DONE (freedreno, nv50, llvmpipe, softpipe, swr)
- GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, i965/gen7+, nv50, llvmpipe, softpipe, panfrost)
+ GL_ARB_stencil_texturing DONE (freedreno, nv50, softpipe, swr)
+ GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, i965/gen7+, nv50, softpipe, panfrost)
GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample)
GL_ARB_vertex_attrib_binding DONE (all drivers)
GS5 Enhanced textureGather DONE (freedreno, i965/gen7+)
glGetBooleani_v - restrict to GLES enums
gl_HelperInvocation support DONE (i965, r600)
-GLES3.2, GLSL ES 3.2 -- all DONE: i965/gen9+, radeonsi, virgl
+GLES3.2, GLSL ES 3.2 -- all DONE: i965/gen9+, radeonsi, virgl, llvmpipe
GL_EXT_color_buffer_float DONE (all drivers)
GL_KHR_blend_equation_advanced DONE (freedreno/a6xx, i965, nvc0, panfrost)
GL_EXT_memory_object DONE (radeonsi)
GL_EXT_memory_object_fd DONE (radeonsi)
GL_EXT_memory_object_win32 not started
+ GL_EXT_multisampled_render_to_texture DONE (freedreno/a6xx, panfrost)
GL_EXT_render_snorm DONE (i965, r600, radeonsi)
GL_EXT_semaphore DONE (radeonsi)
GL_EXT_semaphore_fd DONE (radeonsi)