Story 2014-03-12 3FP Valve's Direct3D To OpenGL Translation Layer ToGL Published

Valve's Direct3D To OpenGL Translation Layer ToGL Published

by
in games on (#3FP)
As GamingOnLinux.com reports, Valve Software - creators of Steam - have posted their Direct3D to OpenGL translation layer onto github. From their readme:
Direct3D ->OpenGL translation layer.

Taken directly from the DOTA2 source tree; supports:

Limited subset of Direct3D 9.0c
Bytecode-level HLSL ->GLSL translator
Some SM3 support: Multiple Render Targets, no Vertex Texture Fetch

This most likely won't build by itself and is provided as-is and completely unsupported. Feel free to use it for your reference, incorporate it into your projects or send us modifications.

Be wary that some parts are hardcoded to match Source Engine behavior; see CentroidMaskFromName() and ShadowDepthSamplerMaskFromName() in dxabstract.cpp.
ToGL may be useful for projects like Wine and for other developers looking to make the porting job easier. They have left in some hardcoded Source Engine stuff as it was literally ripped out from DOTA2.
Reply 2 comments

Good for them (Score: 4, Insightful)

by nightsky30@pipedot.org on 2014-03-12 11:43 (#H1)

I'm glad to see Valve trying to push this further. Are they currently using this translation layer for their own ported titles like HL2, L4D/L4D2, etc? I thought they were doing complete ports to OpenGL. Perhaps the overhead is minimal to neglegent. Either way, they have done a great job. I think my games perform better under Linux than Windows. The only down side was losing a few titles that haven't been ported, yet.

Re: Good for them (Score: 4, Interesting)

by vanderhoth@pipedot.org on 2014-03-12 12:04 (#H2)

I'm with you, I think they actually ported their titles to OpenGL.

My impression is Valve is working hard to get other titles, eventually all of them, ported to Linux so they'll eventually work on their SteamOS. So the Translation Layer may just be a step to make it easier for publishers who might be willing to put a couple weeks, maybe a month or two, into development in order to gain a few thousand extra sales.

I've already spent way too much money on Steam games for my Ubuntu laptop, which I bought to do work on. Valve needs to stop before I go broke. That's a joke by the way.

The preview and post buttons seem to be broken for me at the moment. I'm just getting an "error invalid value". Apparently the ampersand sign for (amp)lt; to get the less than sign is causing the issue.