
Status of OpenGL 3.x features in Mesa


Note: when an item is marked as "DONE" it means all the core Mesa
infrastructure is complete but it may be the case that few (if any) drivers
implement the features.


Feature                                               Status
----------------------------------------------------- ------------------------

GL 3.0:

GLSL changes (GL_EXT_gpu_shader4, etc)                not started
Conditional rendering (GL_NV_conditional_render)      DONE (swrast & softpipe)
Map buffer subranges (GL_ARB_map_buffer_range)        DONE
Float textures, renderbuffers                         some infrastructure done
 (incl. GL_EXT_packed_float, GL_EXT_shared_exponent)
Framebuffer objects (GL_EXT_framebuffer_object)       DONE
Half-float                                            some infrastructure done
Multisample blit                                      DONE
Non-normalized Integer texture/framebuffer formats    not started
1D/2D Texture arrays                                  core Mesa, swrast done
Packed depth/stencil formats                          DONE
Per-buffer blend and masks (GL_EXT_draw_buffers2)     DONE
GL_EXT_texture_compression_rgtc                       not started
Red and red/green texture formats                     Ian?
Transform feedback (GL_EXT_transform_feedback)        ~50% done
   glBindFragDataLocation, glGetFragDataLocation,
   glBindBufferRange, glBindBufferBase commands
Vertex array objects (GL_APPLE_vertex_array_object)   DONE
sRGB framebuffer format (GL_EXT_framebuffer_sRGB)     not started
glClearBuffer commands                                DONE, except for dispatch
glGetStringi command                                  DONE, except for dispatch
glTexParameterI, glGetTexParameterI commands          DONE, except for dispatch
glVertexAttribI commands                              not started


GL 3.1:

GLSL 1.30 and 1.40                                    not started
Instanced drawing (GL_ARB_draw_instanced)             ~50% done
Buffer copying (GL_ARB_copy_buffer)                   DONE
Primitive restart (GL_NV_primitive_restart)           not started
16 vertex texture image units                         not started
Texture buffer objs (GL_ARB_textur_buffer_object)     not started
Rectangular textures (GL_ARB_texture_rectangle)       DONE
Uniform buffer objs (GL_ARB_uniform_buffer_object)    not started
Signed normalized texture formats                     ~50% done


GL 3.2:

Core/compatibility profiles                           not started
GLSL 1.50                                             not started
Geometry shaders (GL_ARB_geometry_shader4)            partially done (Zack)
BGRA vertex order (GL_ARB_vertex_array_bgra)          DONE
Base vertex offset(GL_ARB_draw_elements_base_vertex)  DONE
Frag shader coord (GL_ARB_fragment_coord_conventions) DONE (swrast, gallium)
Provoking vertex (GL_ARB_provoking_vertex)            DONE
Seamless cubemaps (GL_ARB_seamless_cube_map)          DONE, mostly?
Multisample textures (GL_ARB_texture_multisample)     not started
Frag depth clamp (GL_ARB_depth_clamp)                 DONE
Fence objects (GL_ARB_sync)                           DONE


GL 3.3:

GLSL 3.30                                             not started
GL_ARB_blend_func_extended                            not started
GL_ARB_explicit_attrib_location                       not started
GL_ARB_occlusion_query2                               not started
GL_ARB_sampler_objects                                not started
GL_ARB_texture_rgb10_a2ui                             not started
GL_ARB_texture_swizzle                                DONE (same as EXT version)
GL_ARB_timer_query                                    DONE (only Xlib sw driver)
GL_ARB_instanced_arrays                               not started
GL_ARB_vertex_type_2_10_10_10_rev                     not started


GL 4.0:

GLSL 4.0                                             not started
GL_ARB_texture_query_lod                             not started
GL_ARB_draw_buffers_blend                            not started
GL_ARB_draw_indirect                                 not started
GL_ARB_gpu_shader_fp64                               not started
GL_ARB_sample_shading                                not started
GL_ARB_shader_subroutine                             not started
GL_ARB_tessellation_shader                           not started
GL_ARB_texture_buffer_object_rgb32                   not started
GL_ARB_texture_cube_map_array                        not started
GL_ARB_texture_gather                                not started
GL_ARB_transform_feedback2                           not started




More info about these features and the work involved can be found at
http://dri.freedesktop.org/wiki/MissingFunctionality
