DirectX Adopting SPIR-V as the Interchange Format of the Future
HLSL, GLSL, Slang, and SPIR-V Direction
- HLSL is described as the de facto language for both DirectX and much of Vulkan; GLSL is seen as legacy.
- Khronos has reportedly stated GLSL will not get major new work; it lacks modern language features and modularity.
- HLSL is evolving (C++-like features, templates, mesh shaders, work graphs, modules).
- Some hope Nvidia’s Slang might become a Khronos-standard high-level language, but it’s unclear.
Impact on Proton/Linux Gaming
- If DirectX starts emitting SPIR-V instead of DXIL, translating shaders for Proton/Wine should become easier.
- Current DXIL→SPIR-V conversion is described as extremely painful; much of that complexity would vanish with native SPIR-V.
- There is mild concern about a potentially incompatible “DirectX-flavored” SPIR-V, but others consider divergence unlikely at the core level.
WebGPU, WGSL, and Apple/Khronos Tensions
- Many note industry participants originally wanted SPIR-V or HLSL for WebGPU, not a new language.
- WGSL is portrayed by several as a political compromise driven largely by Apple’s refusal to accept Khronos IP/SPIR-V, with formal meeting minutes cited.
- Some find WGSL syntactically unpleasant and a barrier to adoption; others appreciate its simplicity and clear spec.
- Native WebGPU backends typically use SPIR-V; browsers require WGSL, forcing costly SPIR-V↔WGSL conversions that some see as wasted effort.
Future of GLSL and Khronos Strategy
- GLSL is expected to receive only maintenance and vendor extensions, no major specs.
- Khronos reportedly lacks budget and language-design expertise; higher-level language choice is effectively pushed to the community.
DirectX vs. Vulkan on Windows
- Vulkan is considered a first-class option via vendor drivers, but not as deeply integrated into Windows as DirectX (no built-in loader, no WARP-like software path).
- Some argue replacing D3D12 with Vulkan would be harmful: Vulkan’s broader scope (including mobile) complicates design, and D3D12 can evolve faster through private IHV–Microsoft collaboration.
- Others counter that multiple APIs increase developer burden and lock-in; Vulkan is valued as the open, cross-platform option.
API and Spec Quality
- Opinions diverge: some say D3D11/12 and Metal are better designed and more practical than OpenGL/Vulkan; others praise Vulkan’s consistency and documentation.
- DirectX “engineering specs” are lauded as readable and implementation-aware, but criticized for being incomplete and under-specified in some areas.
- Vulkan/SPIR-V specs aim to be comprehensive formal contracts, though they are acknowledged as imperfect and sometimes hard to interpret.
SPIR-V Dialects and Tooling Fragmentation
- Participants note existing fragmentation: SPIR-V for Vulkan vs OpenCL already can’t share compilers cleanly.
- There is concern that a DirectX SPIR-V dialect may worsen this, limiting the hoped-for “unified IR” benefits.
- Some suggest the real blocker is organizational/ecosystem misalignment rather than technical impossibility.
- One view is that DirectX’s move to SPIR-V mainly lets Microsoft retire an old LLVM-based DXIL stack in favor of a better-specified bytecode.