VMware hosted a Gallium3D workshop today at its headquarters in California (and via teleconference too) where the former Tungsten Graphics developers talked about all that they have been working on with Gallium3D, the current state of this graphics driver architecture, and what's to come. The biggest news coming out of this workshop is word that a virtual Gallium3D driver is coming
, which will allow Gallium3D to run within a virtualized environment. It's looking like there will be this Gallium3D driver that can run within a VMware guest virtual machine and then take advantage of the state trackers on the host machine whether it be providing hardware-acceleration for OpenGL, OpenGL ES, OpenVG, OpenCL, etc. We're also thinking now that it's even more likely a Direct3D 9/10 state tracker will be made available too.
Among other topics, Brian Paul was talking to how he wants support for OpenGL 3.x within Mesa, but the support will likely be just atop Gallium3D and that the VMware developers will not be worrying about proper OpenGL 3.x support for Mesa's legacy drivers. Though on the other side of the table, Intel developers have been wanting to push OpenGL 3.0 support into Mesa for their current driver and they have been pushing some bits
Brian also stated that he would like to preserve old support for old OpenGL extensions that have now been deprecated in OpenGL 3.2. Following NVIDIA's lead where they announced they would maintain support in their drivers for extensions now removed from the latest OpenGL specifications in order to maintain compatibility with older OpenGL games/applications, Mesa will likely do the same, but if need be the code can be easily dropped in the future. Speaking of old code, Brian has expressed interest in dropping old hardware drivers from Mesa (such as the Matrox and 3DFX drivers) as it would allow some legacy code from Mesa's core to be removed.
What will likely come before the OpenGL 3.x support in Gallium3D arrives is polishing the code for this driver interface and then getting the internal to support the latest hardware changes over the past year or two. Some of this work includes shader improvements, predicate rendering, and other changes that will lead to substantial revisions to the Gallium3D driver interface. The GLSL compiler also needs to be improved too. The VMware developers though have no immediate time-frame for when they will begin seriously tackling the OpenGL 3.x support.
Zack Rusin was at VMware's workshop today and one of the topics he talked about was his OpenCL state tracker
. Like we said recently in the state of the state trackers
, work on the Open Computing Language support is basically stalled for the time being. What's needed before work can continue is support for translating LLVM to TGSI and then integer and double support is still a ways out for OpenCL atop Gallium3D. Before Zack or any VMware developers continue work on this portion, it was shared that "there are a few more things in the pipeline first."
Brian Paul shared today as well that the OpenGL ES 1.0/1.1/2.0 state tracker should be merged to Mesa's master code-base in January. What will be pushed forward in Gallium3D is not the original OpenGL ES state tracker
, but rather the incarnation of it that Chia-I Wu has been hacking on lately. Chia-I has improved this state tracker a fair amount in his efforts to bring Mesa/Gallium3D to Android netbooks
. With Mesa 7.7 coming by Christmas
, this state tracker will likely end up in Mesa 7.8.