While work on OpenGL 3.x support in Mesa has been very slow, many have been looking forward to the day when Gallium3D hardware drivers provide fast acceleration and a OpenGL 3 state tracker to provide this support to all Gallium3D users. Intel though has also been wanting to bring some OpenGL 3 support to the classic Mesa stack. However, at XDC2009, Intel's Ian Romanick has expressed some issues with patents that could inhibit the support.
Just as planned, Mesa 7.6.0 has been released and Mesa 7.5.2 has also been released as a bug-fix in the 7.5 series. The mailing list announcements for Mesa 7.5.2 and 7.6.0 can be read here and here, respectively.
At the beginning of this month we shared news about X-Video and EXA coming to Gallium3D through a new X.Org State Tracker being written by Zack Rusin. While Gallium3D was designed for providing 3D acceleration of sorts (OpenGL, OpenVG, OpenGL ES, etc), with the latest graphics processors using the 3D engine for even providing 2D EXA acceleration, Zack spanned this support to include EXA and then X-Video. Just a few days ago the real X-Video work began in this state tracker. Now though, the support to bring XvMC to the Gallium3D has moved to this X.Org state tracker too.
Earlier this month we shared that X-Video and EXA support were coming to Gallium3D in the form of a state tracker to accelerate these X.Org APIs across any Gallium3D driver. At the time of that earlier article, the EXA 2D support was being partially implemented but the X-Video support was still left to be accomplished. Well, as of this afternoon, Zack Rusin has started pushing out code to the X.Org state tracker in Mesa that is adding the X-Video support.
Intel's Ian Romanick has publicly outlined his plans to have the release of Mesa 7.6 next week. A release on Monday is being planned, which would be timed with the start of the X Developers' Conference taking place in Portland and would also get this updated Linux graphics stack out the door for those distribution vendors wanting to ship a released version of this code in their new distributions.
Keith Whitwell has gone ahead today and merged the softpipe-opt branch of Mesa into the master Mesa branch, which will eventually work its way into Mesa 7.7. The softpipe-opt branch brings performance optimizations to the "softpipe" driver of Gallium3D. The softpipe driver is a pure software implementation of Gallium3D for use in testing and for where a hardware driver has not implemented full support. With the merging of this optimized driver, the performance should be comparable to that of the Mesa Software Rasterizer with the traditional OpenGL stack.
Zack Rusin has been working on a lot of Linux graphics code lately from an OpenCL state tracker to other Gallium3D state trackers like X-Video / EXA. On top of this, he has just formally announced his work on bringing Geometry Shaders to Mesa.
Mesa 7.6 was branched last week, which is the version of Mesa that brings an Assembly shader rewrite, Radeon driver VBO/OQ support, Gallium3D networking support, new state trackers for Gallium3D (such as OpenGL ES and OpenVG), along with many bug fixes and other features.
Gallium3D, the graphics driver architecture created by Tungsten Graphics designed to overhaul graphics drivers on Linux and other operating systems, has caused quite a stir lately. Gallium3D this year alone has picked up support for features like OpenGL ES, OpenCL, network debugging support, and many other prominent changes, albeit the GPU hardware drivers are still lacking. Anyhow, a developer for the HaikuOS (the project designed to resurrect the BeOS operating system), has submitted a patch that adds Haiku support to Gallium3D.
As a follow up to the Mesa 7.5 release that occurred back in mid-July, Brian Paul has now announced the release of Mesa 7.5.1. This point release brings a number of bug fixes and minor improvements, while a plethora of new work over the past few months has been going into what shall become Mesa 7.6.
The Gallium3D driver infrastructure has been about writing a graphics processor driver that is more manageable and efficient by allowing state trackers (that provide features like OpenGL ES and OpenVG support) to be run on any driver that implements this unified API, complete with hardware acceleration. As implied by its name, Gallium3D was started with 3D graphics in mind, but this infrastructure is also working out for non-3D-specific state trackers, like supporting OpenCL. Now though, Gallium3D is picking up support for 2D acceleration (using the EXA API) and for X-Video support.
Intel's Ian Romanick has announced on the Mesa3D development list that he has made available an arb_sync branch of Mesa. As implied by its name, this branch implements support for the GL_ARB_sync extension, which just officially debuted with OpenGL 3.2. Initially this GL_ARB_sync support in Mesa is just implemented within the software rasterizer, but it's expected within days that it will receive hardware-accelerated support within Intel's Mesa3D driver. The GL_ARB_sync extension brings the concept of "sync objects", which is described at length within its specification.
OpenCL is present in NVIDIA's Linux driver as well as the just-released Mac OS X 10.6, but there is support for the Open Computing Language coming forward in the open-source world through the Gallium3D driver infrastructure.
Intel's Ian Romanick began last year working on a new GLSL compiler for Mesa, but those plans were abandoned due to a lack of time and the overwhelming challenge. Instead, Ian began focusing on optimizing the IR (Intermediate Representation) used by Mesa in its OpenGL support and then generating the final machine code.
There are quite a number of changes in store for Mesa 7.6, such as new state trackers for Gallium3D, other Gallium3D-specific improvements, optimized IR, and many changes to the different Mesa 3D drivers. Adding to that list, the open-source ATI R300+ driver has just picked up support for Vertex Buffer Objects and Occlusion Queries.
With the official documentation for the Gallium3D driver architecture being a bit dated, Corbin Simpson (a student X.Org developer that has largely been working on the Gallium3D driver for ATI R300 class hardware) set out to improve the situation. On the X.Org Wiki is now a Gallium3D status page that shows the current status of Gallium3D state trackers and pipes. There is also a feature matrix showing the current status for most of the available hardware drivers.
Just about three weeks ago the AMD developers working on the open-source ATI drivers had reached the milestone in their open-source 3D support for the R600/700 GPUs of having glxgears running on these two latest generations of ATI graphics processors. glxgears running itself isn't much, but it's an important step. Last night, AMD's Alex Deucher is now reporting a new milestone and one that is certainly interesting for a large number of users, that is Compiz is running!
Beyond the news of a new Radeon shader compiler for Mesa and Gallium3D, there is some other Mesa news this morning too, which is both good and bad. Intel's Ian Romanick has announced on his blog that his new GLSL (GL Shading Language) compiler for Mesa was doomed for failure and as a result it's pretty much off of the table right now. Rather than continuing in this path, he has come up with a new plan for optimizing the open-source support.
While Gallium3D is gaining a lot of momentum and has picked up a number of new state trackers (OpenVG, OpenGL ES, and OpenCL and OpenGL 3.1 is coming soon) and features (i.e. network debugging support) in recent months, there is still a lot of work left before this architecture will enter the limelight. Gallium3D can be found in Mesa 7.5 but it's not ready for end-users since the hardware drivers are still lacking. It's not an easy, straight port of the existing Mesa "classic" drivers over to bringing them into a Gallium3D driver.
After being in development for a number of months and being challenged by a few delays, Mesa 7.5 was officially released last night. What's most significant about this milestone is that it's the first release to include the Gallium3D architecture. The Gallium3D drivers are still incomplete and there are many state trackers to be added, but this code for the next-generation Linux graphics card drivers is now living in mainline Mesa.
Kristian Høgsberg, the Red Hat developer largely responsible for DRI2 and various other X.Org innovations, had started the Wayland display server project last year to leverage new technologies like kernel mode-setting and the Graphics Execution Manager. While there is not much to report on with Wayland since our last update, one of the components used by Wayland is Eagle, another Kristian Høgsberg project.
The release of Mesa 7.5.0, which is the first version of this open-source 3D stack to include support for Gallium3D, is running a bit behind schedule. Fortunately, however, Brian Paul has pushed out what is the fourth (and final) release candidate for the 7.5 series. There isn't anything too exciting in this release compared to Mesa 7.5 RC3 that arrived earlier this month, but just more fixes.
Last month we were excited over the release of a OpenVG state tracker and OpenGL ES 1.1/2.0 state trackers for Gallium3D along with confirmation that OpenCL and OpenGL 3.1 state trackers are under development. Neither of these new state trackers have yet to arrive, but just committed to the Mesa repository is a new Gallium3D driver. However, before leaping for joy, this is not a new hardware GPU driver for a NVIDIA or ATI/AMD graphics card, but is rather just being referred to as the "identity" driver.
While Mesa 7.5 will be out very soon and there are already features in the pipe for Mesa 7.6 (like the OpenVG and OpenGL ES state trackers for Gallium3D), a final point release in the Mesa 7.4 series is now out in the wild.
It has been several months coming, but the "radeon-rewrite" driver has been merged into the mainline Mesa code-base in the past hour. Red Hat's David Airlie had been working on the Radeon driver rewrite (a March '09 update) that adds buffer manager to all of the ATI Mesa 3D drivers (going back to the R100/200 series) along with working on support for DRI2 and OpenGL FBOs (Frame Buffer Objects) and other fundamental enhancements. In general the code is also now much cleaner and there are also some other improvements too thanks to patches from other interested developers.
Mesa 7.5 with its Gallium3D love is nearing. In time for some weekend testing, Brian Paul has announced the release of Mesa 7.5 Release Candidate 3. This third test release brings more build and bug fixes with more than 50 commits since Mesa 7.5 RC2 a month ago. In this new release there are fixes throughout the Mesa code-base, but not really any prominent changes. In fact, the Mesa 7.5 RC3 release announcement is just two lines long.
The folks at Tungsten Graphics, which are owned by VMware, have been busy with new software releases so far this summer. Mesa 7.5 is coming along well and the Gallium3D driver architecture is now merged into the Mesa mainline code-base for release with Mesa 7.6. When it comes to Gallium3D an OpenVG state tracker has been released along with two OpenGL ES state trackers to accelerate the OpenGL ES 1.1 and 2.0 APIs. There are also OpenCL and OpenGL 3.1 state trackers under development.
Yesterday afternoon there were two new Gallium3D state trackers released by VMware / Tungsten Graphics for OpenGL ES 1.1 and ES 2.0 support. With these new state trackers there is now OpenGL ES 1.1/2.0 acceleration for any graphics hardware that has a Gallium3D driver. The OpenGL ES state trackers came just weeks after the release of an OpenVG state tracker.
Just minutes after announcing Mesa 7.5 Release Candidate 2, Brian Paul has announced that he is in the process of pushing out Gallium3D state trackers for OpenGL ES 1.1 and OpenGL ES 2.0. These two new state trackers for this forthcoming Linux graphics architecture are coming just two weeks after an OpenVG state tracker was released for accelerating this other Khronos API.
The second release candidate for the forthcoming release of Mesa 7.5 is now available. The first release candidate arrived merely a week ago, but RC2 brings a couple more fixes to the table. There is an ATI R300 series fix, a few fixes for the Intel 3D driver, and Mesa has a fix for a texture memory leak.
879 Mesa news articles published on Phoronix.