HLSL2GLSL

HLSL2GLSL is a command line tool and a library that translates shaders written in High Level Shader Language (HLSL) for Direct3D 9 into the OpenGL Shading Language (GLSL).

HLSL2GLSL was originally released by ATI Technologies under a BSD License. The last release was v0.9 from 2006. HLSL2GLSL is not part of GPUOpen.

The project was forked in 2010 to fix issues and add features like OpenGL ES support. It is now used by Unity and OGRE to translate Cg/HLSL shaders into GLSL for mobile platforms.

The project has been criticized for generating low-quality, bloated code. At the XDC2014, Matt Turner pointed out that many benchmark examples in Mesa's shader-db are generated by conversion and of poor quality.