
Mesa has been slowly picking up OpenGL 3.x support for a number of months now, with Intel in particular being interested in the OpenGL 3.x support for classic Mesa rather than Gallium3D at this time. Anyhow, when it comes to OpenGL 3.0 support for Mesa core, the key items still to be tackled include the GL Shading Language (GLSL) changes, conditional rendering, transform feedback, and sRGB framebuffer format. There are also some items like float textures that have work underway but not completed. When it comes to what's completed for OpenGL 3.0 there is frame-buffer objects, multi-sample blit, packed depth/stencil formats, per-buffer blend and masks, vertex array objects, and glClearBuffer / glGetStringi.
For OpenGL 3.1 the only features working in Mesa core are buffer copying and rectangular textures. Other OpenGL 3.1 features like instanced drawing, GLSL 1.40, primitive restart, and uniform buffer objects still need to be tackled.
The current latest and greatest OpenGL spec from the Khronos Group is OpenGL 3.2 (though it should be outdone by OpenGL 3.3 in 2010). With regards to OpenGL 3.2 support the GL_ARB_vertex_array_bgra, GL_ARB_draw_elements_base_vertex, GL_ARB_provoking_vertex, GL_ARB_seamless_cube_map, GL_ARB_depth_clamp, and GL_ARB_sync extensions are implemented in the core of this free software OpenGL implementation. Still to be worked on here is GLSL 1.50 support (though that's no surprise considering GLSL 1.30/1.40 support is still missing), compatibility profiles, geometry shaders, fragment shader coordinate conventions, and multi-sample textures.
The current OpenGL 3.x status page can be found in this Git text file. Sadly, OpenGL 3.3 should be out (and then OpenGL 3.4) before all of the OpenGL 3.x functionality finds its way into core Mesa and then the hardware drivers.
15 Comments