The Gallium3D LLVMpipe driver has gone from supporting GLSL 1.20 to now handling not only GLSL 1.30 but also GLSL 1.40. Version 1.40 of the GL Shading Language is needed for OpenGL 3.1 compliance.
It was just a few days ago that I was talking about LLVMpipe supporting new OpenGL extensions
, but that overall it was still living in an OpenGL 2.1 world. While OpenGL 3.0+ support isn't yet there, the GLSL support is now up to what's needed by GLSL 1.40.
Roland Scheidegger ended off his work week on Friday by advertising LLVMpipe GLSL 1.40 support. By getting texel offsets working for Gallium3D LLVM, 1.40 compliance is now reached with all other features mandated by GLSL 1.30 (the shading language version of OpenGL 3.0) and GLSL 1.40 (the SL version of OpenGL 3.1).
The texel offset work for Gallivm was merged on Friday with this commit
, among several other related commits. Bumping the GLSL version to 1.40 for LLVMpipe happened with this follow-on commit
In terms of LLVMpipe actually supporting OpenGL 3.0, sadly the software-based driver isn't there yet. Missing features from this LLVM-based software driver for OpenGL 3.0 compliance is MSAA and implementing the multi-sample anti-aliasing support will be difficult. Also missing is support for EXT_packed_float, ARB_depth_buffer_float, and EXT_framebuffer_sRGB extensions.
If you missed it from Thursday, there are new Gallium3D LLVMpipe OpenGL performance benchmarks on an AMD FX-8350 Eight-Core CPU within Gallium3D LLVMpipe Driver Shows Progress