Microsoft's New Open-Source Project Is "Shader Conductor" For Cross-Compiling HLSL
Shader Conductor is one of several open-source projects for going from one shading language to another. With Microsoft's Shader Conductor the focus is on converting HLSL to GLSL or SPIR-V (OpenGL/Vulkan), ESSL (OpenGL ES), MSL (Apple Metal), and older HLSL shader models. Shader Conductor can handle all shader stages, including geometry and compute shaders.
This is far from the first project in this space, but is an official Microsoft open-source initiative. Presumably their hope is that game developers will focus on a Direct3D/HLSL-first workflow and only later than focus on other graphics APIs like OpenGL/Vulkan/Metal, rather than the other way around.
Shader Conductor relies upon Microsoft's previously open-sourced DirectX Shader Compiler as well as the Khronos SPIRV-Cross project for dealing with SPIR-V. Funny enough, it's SPIRV-Cross doing much of the heavy lifting with the DirectXShaderCompiler emitting SPIR-V intermediate representation before taking it either to one of Khronos' own shading languages or Metal or even for Direct3D 9/10/11 HLSL targeting.
Funny enough, Microsoft's Shader Conductor is relying upon SPIR-V in going from Direct3D 12 HLSL to Direct3D 9/10/11 compliant shaders.
Shader Conductor is still in the early stages of development and its code was just made public a few days ago on GitHub.