As we look to the future, maintaining a proprietary IR format (even one based on an open-source project) is counter to our commitments to open technologies, so Shader Model 7.0 will adopt SPIR-V as its interchange format. Over the next few years, we will be working to define a SPIR-V environment for Direct3D, and a set of SPIR-V extensions to support all of Direct3D’s current and future shader programming features through SPIR-V. This will allow developers to take better advantage of existing tools and unify the ecosystem around investing in one IR.
↫ Chris Bieneman and Cassie Hoef at the DirectX Developer Blog
SPIR-V is developed by the Khronos Group and is an “intermediate language for parallel computing and graphics by Khronos Group”. I don’t know what any of this means, but any adoption of Khronos technologies is a good thing, especially by a heavyweight like Microsoft.
This is them throwing in the towel on games and the games market. My guess is they are going to pivot to embracing and extending some AI tech, and the cloud infrastructure in general. There’s no future in owning graphics APIs, but there’s plenty of future for AI and cloud.
Basically, GPU Shaders (i.e. programs to run on the GPU) need to be compiled into something you can think of like a Java .class file which the GPU driver can load.
in the past, OpenGL had GLSL and DirectX had a diverging variant of nVidia’s Cg named HLSL. (Cg could compile for either target before nVidia sunsetted the compiler for it.)
When Vulkan came around, Khronos developed SPIR-V to serve the role for Vulkan that GLSL serves for OpenGL.
Now, with DirectX 12 being low-enough level to be very similar to Vulkan, for Shader Model 7.0, Microsoft is saying the GPU equivalent of “you’ll still be making Win32 API calls, but it’s not worth the hassle anymore to maintain our own .EXE format (PE). Instead, so everyone can use the same debuggers and profilers, we’re going to store our machine code in ELF-format containers as is standard for Linux, the BSDs, and everyone else except us and Apple”.
Thank you. This is why we have comments, and this is why I even post links to stories I don’t always fully understand – because I know many of you do.