Marek Olšák has made another exciting commit to the Mesa mainline Git repository this weekend... What he's accomplished now is making it possible to successfully advertise OpenGL 3.0 / GLSL 1.30 support within the R600 Gallium3D driver for the Radeon HD 2000 series and later.
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.