I like this part.
I like this part.
https://developer.apple.com/metal/metal-shading-language-spe...
Microsoft's HLSL is now also based on LLVM:
https://blogs.msdn.microsoft.com/directx/2017/01/23/new-dire...
Khronos has an LLVM-based translator between LLVM bitcode and SPIR-V:
https://github.com/KhronosGroup/SPIRV-LLVM
So things are converging, may be one day GPU extensions will end up in the C++ standard ;)
However I have a an up to date fork of LLVM 5 (https://github.com/thewilsonator/llvm) that has Khronos' changes cleaned up a bit, i.e. the spirv triples are actually targets, but once I make the SPIRV OpenCL extension operations proper LLVM intrinsics instead of mangled C++ (and delete all the associated mangling code) then there is no reason that can't go upstream.
I don't think SPIRV graphics support will be all that difficult to add once the intrinsics nonsense is fixed.
> So things are converging, may be one day GPU extensions will end up in the C++ standard ;)
Not before D gets them ;) (Shameless plug: I will be speaking at DConf about this.)