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
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.
Nearly a year ago we talked about 2D support as a possibility for Gallium3D
by layering it atop the 3D support, but now this is finally becoming a reality. Zack Rusin shared in a blog post
that the Xorg/X11 state tracker is emerging -- and if you pay attention to the Mesa Git log
you will have noticed a fair amount of activity as of late on st/xorg
API is being implemented atop this Xorg state tracker so that any Gallium3D driver can have this 2D acceleration support even without a 2D hardware-specific driver. This Gallium3D state tracker comes with proper X Render support too, which will please many users.
This state tracker is called the Xorg state tracker because it will also be accelerating other parts of X11, particularly X-Video
. While X-Video is not nearly as great as VDPAU
or even XvMC
, it is widely adopted and is an option within most media applications. At the same time, work has also been underway for quite a while on providing a video interface for Gallium3D
with generic GPU video decoding
Kudos to Zack Rusin and the Tungsten Graphics / VMware team on this latest work to provide EXA / X-Video support in Gallium3D.