R600 Gallium3D Can Now Do OpenGL 3.0, GLSL 1.30

Committed last night to the Mesa mainline Git repository was "st/mesa: add PIPE_CAP_GLSL_FEATURE_LEVEL, cleanup st_extensions.c." It just adds a capability bit for advertising the supported GL Shading Language level. It doesn't seem too exciting at first glance, but then when looking at the commit message, it becomes a bit more exciting, as some Phoronix readers have already discovered.
Marek's commit message mentions that if the R600_GLSL130 environment variable is set, GL Shading Language 1.30 support is now enabled. Additionally, if the R600_STREAMOUT environment variable is set too, full OpenGL 3.0 support is exposed to the R600g driver. This is the open-source Gallium3D driver that supports from the Radeon HD 2000 series through the Radeon HD 6900 series (the Radeon HD 7000 series is coming to a new driver).
The R600g driver now joins Intel Sandy Bridge, Gallium3D Softpipe, and Nouveau NVC0-Fermi as being the open-source Mesa / Gallium3D drivers that are currently capable of doing OpenGL 3.0 / GLSL 1.30. Of course, the next step will be to actually have this R600g GL3 support fully exposed by default and not hidden behind some environment variables. There's also the NV50-class Nouveau GL3 support still missing. A commit this morning makes Nouveau take advantage of PIPE_CAP_GLSL_FEATURE_LEVEL, but it doesn't change the feature level for any of the supported hardware generations.
This commit by Marek has landed in the Mesa Git master repository and not into the 8.0 branch at this point (with not being labelled it's a candidate for the upcoming release in February), which would make it a feature a Mesa 8.1 in about six months time. Hopefully by then they will also manage to boost the OpenGL performance in order to make the OpenGL 3.x support a bit more useful.
40 Comments