Gallium3D Update, 2D Support Coming?

Written by Michael Larabel in Mesa on 4 September 2008 at 08:51 AM EDT. 13 Comments
MESA
During FOSDEM this year, Keith Whitwell had provided a status update on Gallium3D and where they were at as of February. However, a lot has changed since then. Today at XDS 2008, Keith has provided a new status update of where they are at with this new driver infrastructure. Below are our notes from this talk as well as the following talk delivered by Tungsten's Jakob Bornecrantz.

Gallium3D:

- Recapping known features: New 3D driver environment, a lot simpler to work with than Mesa/DRI, multiple API support for free, taking away the nasty stuff within DRI drivers, easy to adopt for new environments, and strong interfaces.
- Core support for Gallium is essentially done for OpenGL and DirectX 9
- Additional APIs for Gallium 3D is on the way, but Tungsten Graphics doesn't want to comment on which ones at this time.
- GL support and sample drivers in Mesa gallium-0.1-branch.
- Intel 915 driver is complete but not fully optimized.
- Gallium 3D is now in a stabilization phase. Keith Whitwell: "We're done with the first iteration and now in a bug-fixing phase."
- Current work: building debug, tracing, and replay tools. Also working on new API front-ends and performance measurement and tuning.
- Fairly close to a point where Gallium will be merged to Mesa trunk. Before that, however, they intend to fix interface glitches, architecture oddities, and apply the lessons from the first couple of drivers.
- Tungsten has done a new driver for a newer class of GPU hardware, but no comment on what it is or when it will be released.
- A little bit of work left in some of the per-device driver components
- The winsys API will be hidden to the state tracker during the clean-up process of the Gallium code.
- It's time to think about putting together a Gallium specification and would help in the clean up process.
- Textures/Resources: unify surfaces and textures, remove the concept of a free-standing surface that owns its storage, possibly rename texture to resource to avoid confusion, textures own the storage and image data, 90% done.
- Future Possibility: Tungsten believes that 2D should be layered on 3D. They propose to define a 2D-friendly abstraction (such as pipe_context_2d) and provide a default implementation layered on the existing 3D-friendly interfaces.

i915 Gallium 3D:

- Gallium 3D hardware for Intel i915 IGP hardware.
- Current User Status: Passes 49 of 55 master tests for Clean. UT2004, Quake 3, and Google Earth should run.
- Code Status: ~10,000 lines of code for the i915 simple driver, ~6,200 lines of code for winsys, and ~114,000 lines of code for the state tracker.
- Current bugs: mipmap / render offsets, blend stuff, tiled textures and render targets. Linear tiling access is dead slow.
- Future: GEM, less bugs, proper tiling, zone rendering.

The main points from this talk is that Gallium 3D is approaching a point of stability, they have some new APIs in the work but won't comment on what they are (we believe it's GL ES, OpenVG, and others), work is underway on an official Gallium driver for an unknown card and unknown company, a specification for Gallium3D may be published soon, and lastly they are looking at possibly layering 2D support atop Gallium 3D in the future.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week