One of the Gallium3D drivers yet not fully supporting the OpenGL 3.0 specification is the LLVMpipe software rasterizer. However, if you're curious of what's left before this CPU-based graphics driver can handle GL3, here's a list.
This past week in the Mesa Git repository, David Airlie updated the LLVM to-do list per this commit
. As far as what Airlie is working on now for the OpenGL 3.0 support in LLVMpipe, he's currently doing the TXQ opcode support and handling for EXT_transform_feedback, clip distance, vertex clipping, and EXT_texture_array. Still open is doing TXF opcode support, integer texture fetch support, integer render-buffer support, and vertex ID support. There's also a patch pending for handling EXT_timer_query.
The goal is to bring the Gallium3D LLVMpipe driver up in OpenGL extension parity to the Softpipe driver, which is similar to LLVMpipe but less complicated as it doesn't involve LLVM, but it's also an order of magnitude slower. Softpipe can effectively handle OpenGL 3.0 with Mesa 8.0.
Hopefully with Mesa 8.1 we'll be able to see GL3 out of LLVMpipe, especially as this Gallium3D driver is replacing the classic Mesa software rasterizer on more systems and is beginning to be used for handling composited desktops
. In terms of the driver's usefulness, with Mesa 8.0 it's fine for the desktop but slow for gaming
with all but the very latest and greatest CPUs