While OpenGL 3.0
/ GLSL 1.30 support in Mesa 8.0 has been what's talked about lately for this open-source graphics library to be released next month, there's a lot of other improvements too in Mesa 8.0 for those of you using the open-source graphics drivers under Linux.
Below are eight of the high-profile features/changes to Mesa 8.0 besides OpenGL 3.0.
New Hardware Support:
Mesa 8.0 supports new/improved hardware. Mesa 7.11 had carried initial support for next-generation Intel Ivy Bridge hardware, but under Mesa 8.0 is much-improved support for the hardware. Within the Nouveau Gallium3D area is also support for the latest Fermi (GeForce 500) graphics processors. There's also missing PCI IDs and other minor hardware changes that have come over the past six months.
Overhauled VMware Driver:
While not for a physical hardware GPU, the VMware SVGA II Gallium3D driver has been overhauled in Mesa 8.0. The VMware kernel DRM driver received significant changes in recent Linux kernel release cycles, which just recently has left the kernel's staging area
for the main kernel DRM area. Within the user-space side, the VMware driver has also received many improvements, including the introduction of the XA state tracker
. (Their DDX was also overhauled
.) With leaving the staging area and all of the other improvements, the Gallium3D VMware driver should now be included in Ubuntu 12.04 LTS and other forthcoming distributions to ensure the graphics experience rocks under VMware's virtualization platform.
It's not using the NVIDIA PureVideo or AMD Unified Video Decoder engines -- instead using GPU shaders -- but another 8.0 feature is the video accelerated playback support improvements within Gallium3D. This work includes Christian König of AMD landing Mesa pipe-video
, various R600g VA-API/VDPAU improvements, NVIDIA hardware based support
, and Nouveau XvMC improvements
. But not hitting Mesa 8.0 is the VP8 state tracker
or anything else too ground-breaking in the video world. In terms of open-source video acceleration, Intel is still winning with their VA-API implementation for Sandy Bridge that can handle encode and decode for various formats.
Gallium3D State Trackers:
The various Gallium3D state trackers received improvements during the Mesa 7.12/8.0 development cycle. Even the Direct3D 10/11 state tracker was enhanced
, but most of the work went into the Mesa, DRI, and EGL state trackers. The Xorg state tracker
also received a few commits for bettering the EXA/2D acceleration in Gallium3D.
The LLVMpipe driver
received numerous enhancements for bettering this CPU-based software driver. LLVMpipe is much faster than Softpipe due to taking advantage of LLVM in real-time for CPU optimizations and more, but it still needs a very new CPU
to handle any OpenGL games at more than a slideshow pace. The most exciting change this cycle though was GLX_EXT_texture_from_pixmap support in software
for this driver
, which means the GNOME Shell now runs without GPU hardware acceleration
. This is going to be a feature of Fedora 17 and ultimately will lead to the elimination of the GNOME fall-back mode now that the 3.x Shell can work without GPU hardware acceleration, instead just banging your processor.
There's several performance improvements made during the 7.12/8.0 cycle for the various drivers. Intel Sandy Bridge, in particular, is much faster with this forthcoming release. Soon enough I'll be running some new benchmarks comparing Mesa 7.11 to Mesa 8.0 with the various Intel, Radeon, and Nouveau (NVIDIA) drivers.
Android Support: Mesa / Gallium3D support for Android
was merged to mainline this cycle. This does allow some hardware drivers
from Mesa to work on Android x86. There's also been Mesa EGL and OpenGL ES enhancements during this cycle to improve Mesa in the mobile/embedded space.
Many Other Enhancements:
Besides the seven Mesa 8.0 changes mentioned above and OpenGL 3.0 / GLSL 1.30 being nearly there, there were thousands of other Mesa 7.12/8.0 commits since last summer. See the other Phoronix articles tagged with Mesa 7.12
(what the release was going to be known as had GL3 not been ready).
As a continuation of yesterday's OpenGL 3.0 piece
, Nouveau Gallium3D patches hit the mailing list
that enable GLSL 1.30 support. However, right now the capability flag for this newer OpenGL Shading Language version is only set by the Nouveau NVC0 "Fermi" driver within the Gallium3D space. Intel Sandy Bridge and Ivy Bridge hardware is where the most complete open-source OpenGL 3.0 support is at, or in the software side, with the Softpipe driver.
The next article will cover eight shortcomings of Mesa 8.0.