Direct3D 9 Support Stands A Chance Of Being Added To Mesa

Written by Michael Larabel in Mesa on 18 August 2014 at 08:52 AM EDT. 61 Comments
MESA
For several months now there's been a Direct3D 9 state tracker under development for Mesa that's making some headway and working out for bettering the Wine performance with D3D9 titles rather than using Wine's translation layer to OpenGL. While no official request for pulling the code has been issued, it looks like it might stand a chance of hitting mainline Mesa.

In the past within Mesa was a Direct3D 10/11 state tracker but that code was ultimately removed as it was poorly maintained, not fully implemented, and didn't have any serious users. Last year was when a Direct3D 9 implementation appeared. The D3D9 state tracker was written by Christoph Bumiller, an Austrian student developer who has contributed to the Nouveau driver project in the past.

The D3D9 state tracker is in better shape than the former D3D10/D3D11 implementation, Gallium3D is better suited for this older version of Direct3D, and the state tracker is in a working state. There's out-of-tree Wine patches for allowing Wine to use this D3D interface directly rather than translating the D3D calls into OpenGL at the cost of greater overhead. Wine developers have been hesitant though to support this state tracker since its usefulness is limited to those using Gallium3D (primarily Radeon and Nouveau) and won't help Wine's support on other platforms. Regardless, more and more enthusiasts have been playing around with Gallium3D "Nine" and these Wine patches.

The state tracker continues to be refined. Last month I shared a video of Grand Theft Auto running great with Gallium3D-Nine via the state tracker and Wine. Embedded below is also a Call of Duty 6: Modern Warfare video where it's running over this Direct3D 9 Linux implementation.


While there's been no official call to try to mainline this code yet, prolific Gallium3D contributor Marek Olšák signaled that it might happen. Marek wrote, "I guess it can be merged into Mesa now. When the D3D1x state tracker was merged, it was in an unusable state. Nine is in a lot better state than that. Also, Nine seems to have users now, which makes it an important project."
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