The Direct3D 10/11 State Tracker Is Still Around
Written by Michael Larabel in Mesa on 2 June 2011 at 12:18 PM EDT. 35 Comments
Last September there was the release of a Direct3D 10/11 state tracker for Gallium3D. This natively implemented Microsoft's graphics API from DirectX for the latest versions 10 and 11 with Gallium3D Linux graphics drivers. While it sounded quite enticing when the code was first released, there hasn't been much activity since that point.

There was some initial thoughts that the Wine developers would be interested in the D3D state tracker as this natively implements the Direct3D 10/11 APIs where Wine's existing Direct3D implementation largely lacks 10/11 support for now. With Wine's Direct3D implementation, they're also translating the Direct3D calls into OpenGL. The benefit of this is that it's more platform agnostic and doesn't place a requirement on the graphics driver being based on Gallium3D. The downside of translating the Direct3D calls into OpenGL is the associated overhead placed on the processor. In the future it could also be of use to the ReactOS in their development of a free software operating system that is Windows API/ABI compatible.

This Direct3D Gallium3D state tracker also isn't a "magic bullet" in terms of getting DirectX-powered games easily ported to Linux as it simply targets Direct3D, which is only one component of DirectX. There's still Direct2D, DirectCompute, DirectSound/DirectSound3D, and other components that make up the full DirectX stack. Linux simply has the Direct3D component in Gallium3D.

While this state tracker may not be of much use right now, it's still living in Mesa's mainline code-base. Aside from the occasional fixes to make the d3d1x state tracker build when core parts of Gallium3D change, there hasn't been too much to work to it publicly. In fact, today was the first Direct3D state tracker focused commit since last November. In eight months there's just one commit and it comes not even from the key d3d1x developer (Luca Barbieri) but rather an independent contributor. Today's commit just fixes swizzle for one component operands. No new features or other fun.

A list of the work touching the d3d1x state tracker in Mesa master can be found from this CGit web-page. Here's to hoping for more activity to it in the future...
About The Author
Author picture

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 10,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 or contacted via MichaelLarabel.com.

Related Mesa News
Popular News
Trending Reviews & Featured Articles