Valve's Direct3D-OpenGL Layer Will Likely Not Benefit Wine
A few days ago Valve open-sourced their Direct3D to OpenGL translation layer. While there was some hope that it would benefit Wine, that doesn't appear to be the case.
This Direct3D to OpenGL translation layer, which is dubbed "ToGL", is how Valve originally brought the D3D-targeting Source Engine game to Linux. ToGL targets a subset of Direct3D 9.0c and translates the calls into native OpenGL along with the shaders. This benefited Valve greatly in bringing their popular game engine to Linux and they decided to open-source it for potentially benefiting other game engines that want to come to Linux but currently lack an OpenGL renderer. That code is out there for interested game developers, but it doesn't appear it will be of use to Wine.
Per this WineHQ.org entry, Wine graphics expert Stefan Dösinger at Codeweavers commented, "It is *very* limited. It doesn't even have stateblock interface declaration, and it's surface implementation is pretty much nonexistent. It doesn't care about any of the corner cases that make d3d9 interesting. Note that this is not an exhaustive review of this code. It's just the first two things I found in a 2 minute look. Those limitations make sense as design decisions for Valve's purposes, but they make this wrapper useless for anything other than a cheap compile-time abstraction layer between d3d and gl. Releasing this code may be useful for other developers who want to port a game to Linux though."
Besides the code not being in the best shape for them, Wine's Direct3D translation layer for also going to OpenGL is in rather good shape these days for D3D9... It's with Direct3D 10 and 11 support is where Wine's support for Windows games is greatly lacking.
Latest Linux Hardware Reviews
Latest Linux Articles
Latest Linux News
Latest Forum Discussions