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

Warning: Cannot modify header information - headers already sent by (output started at /var/www/pipedot.org/lib/tools/tools.php:2702) in /var/www/pipedot.org/lib/tools/tools.php on line 1524

Warning: Cannot modify header information - headers already sent by (output started at /var/www/pipedot.org/lib/tools/tools.php:2702) in /var/www/pipedot.org/lib/tools/tools.php on line 1533

Warning: Cannot modify header information - headers already sent by (output started at /var/www/pipedot.org/lib/tools/tools.php:2702) in /var/www/pipedot.org/include/common.php on line 80

Warning: Cannot modify header information - headers already sent by (output started at /var/www/pipedot.org/lib/tools/tools.php:2702) in /var/www/pipedot.org/include/common.php on line 82
Fatal Error - sql [select reason, count(reason) as reason_count, value from comment_vote where comment_id = ? group by reason order by reason_count desc] arg [545] msg [SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'pipedot.comment_vote.value' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by] - Pipedot
Fatal Error
sql [select reason, count(reason) as reason_count, value from comment_vote where comment_id = ? group by reason order by reason_count desc] arg [545] msg [SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'pipedot.comment_vote.value' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]