Wine's Direct3D CSMT Support Isn't Yet Complete

Written by Michael Larabel in WINE on 14 April 2017 at 08:40 AM EDT. 9 Comments
WINE
For those excited by yesterday's Wine 2.6 release with D3D CSMT as the long-awaited command-stream multi-threading to boost game performance, don't get your hopes too high with this release.

While the initial D3D CSMT support is in mainline Wine, it isn't yet the full implementation already developed by Stefan Dösinger, the former CodeWeavers developer who authored the original patches a few years back.

The Austrian programmer commented in our forums, "Note that there are still some parts missing compared to my old code. In particular, resource maps are still synchronous, so most games won't see a performance gain yet. It's coming, please be patient :-). The existing code is likely to help with games that needed StrictDrawOrdering=enabled already."

The StrictDrawOrdering register key is about ensuring that pending draw operations are submitted to the driver, but causes a dip in performance when enabled. Though I have yet to find an exhaustive list of games needing strict draw ordering enabled, but it appears to be a small number. When the rest of the code lands, it may be interesting for benchmarking if there are a number of automated test cases available.

Hopefully this D3D CSMT support will get all ironed out in time for the Wine 3.0 release expected at the end of 2017 or early 2018.
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