Feature Status
------------------------------------------------------- ------------------------
-GL 3.0, GLSL 1.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl
+GL 3.0, GLSL 1.30 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl, zink
glBindFragDataLocation, glGetFragDataLocation DONE
- GL_NV_conditional_render (Conditional rendering) DONE (zink)
- GL_ARB_map_buffer_range (Map buffer subranges) DONE (v3d, zink)
- GL_ARB_color_buffer_float (Clamping controls) DONE (v3d, zink)
- GL_ARB_texture_float (Float textures, renderbuffers) DONE (v3d, zink)
- GL_EXT_packed_float DONE (v3d, zink)
- GL_EXT_texture_shared_exponent DONE (v3d, zink)
- GL_ARB_depth_buffer_float (Float depth buffers) DONE (v3d, zink)
- GL_ARB_framebuffer_object (Framebuffer objects) DONE (v3d, zink)
+ GL_NV_conditional_render (Conditional rendering) DONE ()
+ GL_ARB_map_buffer_range (Map buffer subranges) DONE (v3d)
+ GL_ARB_color_buffer_float (Clamping controls) DONE (v3d)
+ GL_ARB_texture_float (Float textures, renderbuffers) DONE (v3d)
+ GL_EXT_packed_float DONE (v3d)
+ GL_EXT_texture_shared_exponent DONE (v3d)
+ GL_ARB_depth_buffer_float (Float depth buffers) DONE (v3d)
+ GL_ARB_framebuffer_object (Framebuffer objects) DONE (v3d)
GL_ARB_half_float_pixel DONE (all drivers)
- GL_ARB_half_float_vertex DONE (v3d, zink)
- GL_EXT_texture_integer DONE (v3d, zink)
- GL_EXT_texture_array DONE (v3d, zink)
- GL_EXT_draw_buffers2 (Per-buffer blend and masks) DONE (v3d, zink)
- GL_EXT_texture_compression_rgtc DONE (zink)
- GL_ARB_texture_rg DONE (v3d, zink)
+ GL_ARB_half_float_vertex DONE (v3d)
+ GL_EXT_texture_integer DONE (v3d)
+ GL_EXT_texture_array DONE (v3d)
+ GL_EXT_draw_buffers2 (Per-buffer blend and masks) DONE (v3d)
+ GL_EXT_texture_compression_rgtc DONE ()
+ GL_ARB_texture_rg DONE (v3d)
GL_EXT_transform_feedback (Transform feedback) DONE (v3d)
- GL_ARB_vertex_array_object (Vertex array objects) DONE (v3d, zink)
- GL_EXT_framebuffer_sRGB (sRGB framebuffer format) DONE (v3d, zink)
+ GL_ARB_vertex_array_object (Vertex array objects) DONE (v3d)
+ GL_EXT_framebuffer_sRGB (sRGB framebuffer format) DONE (v3d)
glClearBuffer commands DONE
glGetStringi command DONE
glTexParameterI, glGetTexParameterI commands DONE
glVertexAttribI commands DONE
Depth format cube textures DONE ()
- GLX_ARB_create_context (GLX 1.4 is required) DONE (v3d, zink)
- Multisample anti-aliasing DONE (freedreno/a5xx+, freedreno (*), llvmpipe (*), softpipe (*), swr (*), zink)
- 8 draw buffers DONE (zink)
+ GLX_ARB_create_context (GLX 1.4 is required) DONE (v3d)
+ Multisample anti-aliasing DONE (freedreno/a5xx+, freedreno (*), llvmpipe (*), softpipe (*), swr (*))
+ 8 draw buffers DONE ()
(*) freedreno (a2xx-a4xx), llvmpipe, softpipe, and swr have fake Multisample anti-aliasing support
GL 3.1, GLSL 1.40 --- all DONE: freedreno, i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe, swr, virgl
- Forward compatible context support/deprecations DONE ()
+ Forward compatible context support/deprecations DONE
GL_ARB_draw_instanced (Instanced drawing) DONE (v3d, zink)
GL_ARB_copy_buffer (Buffer copying) DONE (v3d, zink)
- GL_NV_primitive_restart (Primitive restart) DONE (v3d)
+ GL_NV_primitive_restart (Primitive restart) DONE ()
16 vertex texture image units DONE (zink)
- GL_ARB_texture_buffer_object (Texture buffer objs) DONE (for OpenGL 3.1 contexts)
+ GL_ARB_texture_buffer_object (Texture buffer objs) DONE (zink)
GL_ARB_texture_rectangle (Rectangular textures) DONE (v3d, zink)
GL_ARB_uniform_buffer_object (Uniform buffer objs) DONE (v3d)
GL_EXT_texture_snorm (Signed normalized textures) DONE (v3d, zink)
GL_ARB_fragment_coord_conventions (Frag shader coord) DONE (freedreno, v3d)
GL_ARB_provoking_vertex (Provoking vertex) DONE (freedreno, v3d)
GL_ARB_seamless_cube_map (Seamless cubemaps) DONE (freedreno, zink)
- GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, v3d)
+ GL_ARB_texture_multisample (Multisample textures) DONE (freedreno/a5xx+, v3d, zink)
GL_ARB_depth_clamp (Frag depth clamp) DONE (freedreno)
GL_ARB_sync (Fence objects) DONE (freedreno, v3d, zink)
GLX_ARB_create_context_profile DONE
GL_OES_copy_image DONE (all drivers)
GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend)
GL_OES_draw_elements_base_vertex DONE (all drivers)
- GL_OES_geometry_shader DONE (i965/hsw+, nvc0, r600, softpipe, v3d)
+ GL_OES_geometry_shader DONE (freedreno/a6xx, i965/hsw+, nvc0, r600, softpipe, v3d)
GL_OES_gpu_shader5 DONE (freedreno/a6xx, all drivers that support GL_ARB_gpu_shader5)
GL_OES_primitive_bounding_box DONE (freedreno/a5xx+, i965/gen7+, nvc0, r600, softpipe, v3d)
GL_OES_sample_shading DONE (freedreno/a6xx, i965, nvc0, r600)
GL_OES_shader_image_atomic DONE (all drivers that support GL_ARB_shader_image_load_store)
GL_OES_shader_io_blocks DONE (All drivers that support GLES 3.1)
GL_OES_shader_multisample_interpolation DONE (freedreno/a6xx, i965, nvc0, r600)
- GL_OES_tessellation_shader DONE (all drivers that support GL_ARB_tessellation_shader)
+ GL_OES_tessellation_shader DONE (freedreno/a6xx, all drivers that support GL_ARB_tessellation_shader)
GL_OES_texture_border_clamp DONE (all drivers)
GL_OES_texture_buffer DONE (freedreno, i965, nvc0, r600, softpipe)
- GL_OES_texture_cube_map_array DONE (i965/hsw+, nvc0, r600, softpipe)
+ GL_OES_texture_cube_map_array DONE (freedreno/a4xx+, i965/hsw+, nvc0, r600, softpipe)
GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8)
GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample)
GL_EXT_semaphore DONE (radeonsi)
GL_EXT_semaphore_fd DONE (radeonsi)
GL_EXT_semaphore_win32 not started
+ GL_EXT_shader_group_vote DONE (all drivers that support ARB_shader_group_vote)
GL_EXT_sRGB_write_control DONE (all drivers that support GLES 3.0+)
GL_EXT_texture_norm16 DONE (freedreno, i965, r600, radeonsi, nvc0)
GL_EXT_texture_sRGB_R8 DONE (all drivers that support GLES 3.0+)