Some two years ago there was a branch of Mesa created by Zack Rusin named "Clover" with intentions of providing OpenCL over Mesa. While it looked hopeful at first, this code to support OpenCL over Mesa was never finished and after a while it didn't receive any further work. It's been months since there's been much activity in this area of GPGPU support for Mesa/Gallium3D, but recently Zack has renewed his interest in getting Mesa Clover working.
A month ago there was the surprising work done by Christian König to bring XvMC and VDPAU support to the open-source ATI Radeon "R600g" Gallium3D driver for the Radeon HD 2000/3000/4000/5000 series graphics cards. The XvMC state tracker with Gallium3D began working shortly thereafter for accelerating XvMC using shaders with this ATI Gallium3D driver, however, iDCT support was not implemented. Christian though has now added support for inverse discrete cosine transforms to this X-Video Motion Compensation code for Gallium3D.
While the Mesa software stack has made some steps towards supporting OpenGL 3.x, this free software library used by open-source graphics drivers is still a ways from supporting this industry graphics API thats years old and has already been surpassed by OpenGL 4.x. There hasn't been too much major progress lately on GL3 support, but some think it could be achieved next year. When there is OpenGL 3.0 support in Mesa, it will be released as Mesa 8.0. Regardless, the OpenGL 3 status document for Mesa has been updated.
Lately there's been a lot of talk about Gallium3D's IR known as TGSI, or Tokenized Gallium Shader Instructions, and attempts by some to replace this intermediate representation. Efforts toward improving TGSI are not particularly new, but it's been going on for a while and then just earlier this month a new shader and compiler stack was proposed by LunarG. As part of the LunarGLASS proposal, the LLVM IR would be used as a replacement to TGSI.
LunarG, the consulting company providing professional services for Mesa / Gallium3D that's led by Jens Owens, the founder of Tungsten Graphics, is beginning to commence work on a new project: LunarGLASS. Last year, LunarG wanted to provided better Linux graphics documentation, but this new LunarGLASS initiative is much more ambitious and it's about providing a complete shader and kernel compiler stack.
Just as planned, Mesa 7.9 has now been released! This 7.9 release of this open-source graphics library is huge with a plethora of Gallium3D improvements (to the drivers, state trackers, etc), core Mesa improvements (including new OpenGL extensions), a new GLSL compiler, and much more.
Mesa 7.9, one of the biggest updates to this open-source graphics driver stack in quite a while, is almost here. Ian Romanick has made available a release candidate for Mesa 7.9 and is saying the final release will be here one week from now (4 October) barring any major issues cropping up.
There still is great interest and discussion among many users interested in Direct3D 10 and 11 being natively implemented on Linux using a new state tracker that was published this week for the Gallium3D driver architecture. It seems some Wine developers are still in opposition to this effort even though their Direct3D 10 implementation within Wine is still very limited in terms of translating the calls to OpenGL and their Direct3D 11 support really hasn't taken off.
While Mesa 7.9 is just around the corner with a great number of new features and other improvements to this open-source graphics stack used by Linux and other operating systems, those being bound to releases that are proven stable will still be leaving with Mesa 7.8 until Mesa 7.9.1 or 7.9.2 is released later in the year. But for those stable users, there's also Mesa 7.8.3 that will soon be released.
Mesa 7.9 has shaped up to be one hell of a release with many new features and improvements throughout this open-source graphics software stack. For those that have been waiting for this to be officially released, there's good news and that is Mesa 7.9 should be released by the end of September.
LLVMpipe is an especially interesting Gallium3D driver since it allows accelerating the state trackers atop any modern CPU, but for any close to decent level of performance when using OpenGL you need a hefty multi-core CPU (here's some LLVMpipe benchmarks just from last week) that supports the latest SSE4 instructions as well. While some OpenGL games will run with LLVMpipe and the performance of this driver that leverages the Low-Level Virtual Machine is much faster and better than Mesa's old software rasterizer or the Gallium3D Softpipe driver, Compiz nor the GNOME Shell (and most other compositing window managers) yet work with this driver.
As we reported last month, Intel's Open-Source Technology Center developers responsible for working on their open-source Linux graphics stack has been wanting to merge their GLSL2 shader compiler into the mainline Mesa code-base by the end of August so that it can be released as part of Mesa 7.9 by the end of this quarter. Over the night this milestone was hit and the GLSL2 compiler is now in Mesa master and has replaced the antiquated GL Shading Language compiler long used by Mesa.
There's good news for those interested in the open-source Gallium3D driver for the ATI R600/R700 (Radeon HD 2000/3000/4000 series) graphics cards: the R600g driver is beginning to work. While there's been the classic Mesa R600/R700 driver for months now that is working fine for most users, once finished the Gallium3D version should offer better performance, better OpenGL support (OpenGL 2.1 support off the bat, but that's still a ways behind OpenGL 4.1), and many other possibilities via Gallium3D's different state trackers.
If you read the previous R600g news post from less than an hour ago this should come as no surprise, but: the ATI R600g Gallium3D driver has finally reached the milestone of being able to properly run glxgears. This GLX demo is simple and useless as a benchmark, but is an important development milestone and as talked about in that previous news piece, Jerome hopes to tackle texture support within a few days so then we will see more interesting OpenGL capabilities and we are potentially just days away from being able to run Quake with R600g and a modern ATI graphics processor (you can already do so with an open-source driver stack using the classic Mesa R600/700 driver).
Yesterday we reported on Intel preparing to push its new GLSL compiler into Mesa by the end of next month so that it can be released with Mesa 7.9 by the end of this quarter. While Intel has developed this new compiler for the OpenGL Shading Language for their own needs and hardware, other Mesa drivers -- including those for Gallium3D -- will be using it once merged. After any initial bugs are addressed in the other drivers from this new GLSL compiler banging them in different ways, what good will this new shader compiler be for the end-user?
Originally set as a goal for the summer of 2009, it was not until late August of last year that the OpenCL state tracker for Mesa's Gallium3D driver architecture was finally published. However, the code was incomplete and a very early work-in-progress. Nearly a year later, this "Clover" branch of Mesa that contains the OpenCL over Mesa support is still largely incomplete and useless to end-users. Fortunately, however, a new developer has stepped up to the plate and is in the process of submitting patches.
Mesa 7.9 is shaping up to be one hell of a release. Mesa 7.9 is already set to carry many ATI Gallium3D driver improvements along with enhancements to the LLVMpipe driver that uses the CPU for rendering, the early R600g driver, various Gallium3D architectural and state tracker improvements (MSAA, Stream Out, etc), more OpenGL 3.x functionality, and tons of other changes. But there's still more coming! Intel's Ian Romanick has announced on the Mesa development list that they would like to merge their new GLSL compiler into Mesa in August.
If the impressive rate of Gallium3D improvements was not enough, there's more good news for those of you running ATI Radeon R300-R500 graphics cards (up through the Radeon X1000 series) with the open-source Gallium3D driver: the Wine graphics support just got a tiny bit better. Committed to the Mesa repository this afternoon is support for the GL_ARB_depth_clamp OpenGL extension within the Mesa state tracker and as of right now it's hooked-up for use by the R300g driver.
The OpenGL 3.0 specification was announced in August of 2007 and has already been succeeded by OpenGL 3.1, OpenGL 3.2, and then earlier this year came OpenGL 3.3 and OpenGL 4.0. While the 3.0 revision to this industry standard graphics API has been around for nearly three years, it's still not fully supported by the open-source Mesa graphics stack. Progress though is being made.
Besides a VDPAU state tracker for Gallium3D having emerged in the past couple of days, a new Gallium3D driver called "Galahad" has been committed to the Mesa mainline repository and has been worked on over the past week.
Committed to a branch of the Mesa repository over the weekend is an initial Gallium3D state tracker for providing VDPAU support. Yes, VDPAU as in NVIDIA's Video Decode and Presentation API for Unix that has become quite popular with Linux users and is supported by many media applications.
The very latest work going on within Mesa's core, the DRI drivers, and the Gallium3D stack for the past several months are what will eventually form Mesa 7.9 once released in the coming months. However, for those living atop Mesa's stable code-base and not this experimental code, the second point release of Mesa 7.8 has arrived.
Intel's Eric Anholt has been working on writing a GLSL2 compiler for their open-source Mesa graphics stack. Mesa's GL Shading Language compiler has been limited to version 1.4 support, but that is changing. In response to the recent ATI R300 GLSL discussion, Eric has provided an update on the Intel efforts.
As we talked about back in April, there are five summer X/Mesa projects as part of Google's Summer of Code. One of these projects is to improve the GLSL (GL Shading Language) compiler for the ATI R300 class graphics processors and while the summer has just begun, there is already some work emerging.
On the same-day as publishing new Gallium3D benchmarks of the ATI R300g driver, we have more Gallium3D news to share. Zack Rusin has just announced a new Gallium3D branch that provides support for "Stream Out" with this advanced graphics driver architecture.
A $600 bounty came around a while back within the AROS (AROS Research Operating System) community to port Gallium3D and the Nouveau driver to this operating system that is a free software implementation of the AmigaOS 3.1 APIs. This bounty was successful in getting an OpenGL subsystem running on this free AmigaOS alternative via Mesa and Gallium3D and now a 2D architecture is also being implemented atop Gallium3D -- it sounds familiar to how the X.Org developers are implementing the Xorg state tracker to accelerate EXA and X-Video.
VMware's Roland Scheidegger has announced he soon will be merging gallium-msaa to Mesa master soon, which will put this branch into the mainline Mesa code-base in time for the Mesa 7.9 release in the coming months.
Last week we published our first benchmarks of LLVMpipe, which is a new driver for Gallium3D that's to serve as a software rasterizer on the CPU. LLVMpipe is ideal for cases where a GPU is not available or supported and it leverages LLVM (the Low-Level Virtual Machine) for optimization and providing much better software acceleration than Mesa's traditional software rasterizer or Gallium3D's previous Softpipe driver. LLVMpipe really likes modern, fast processors with SSE3/SSE4 support especially for best performance, but will work with nearly any 64-bit Intel/AMD processor. Unfortunately, LLVMpipe doesn't yet play well with GNOME Shell.
Red Hat's David Airlie has started a new mailing list discussion that's surrounding the "stupid development model" of Mesa. Their accepted policy of developing in stable branches and then pulling the code into the master code-base periodically (rather than just working directly on master) is causing many frustrations for Dave in being able to back-port fixes to existing stable branches of Mesa.
A month ago we talked about Gallium3D's LLVMpipe performing well and providing a much better software rasterizer than what is available with classic Mesa. Using LLVMpipe and a modest CPU for acceleration, the OpenArena was just about playable without any GPU assistance. Now a month later LLVMpipe is becoming a even more serious performer. LLVMpipe now is able to tap into the new geometry processing pipeline and it's causing some major performance gains.
835 Mesa news articles published on Phoronix.