|
|
|
|
|
by nicwilson
3353 days ago
|
|
Sadly Khronos' LLVM only supports OpenCL i.e. compute SPIRV code generation, is rather old (3.6.1) and is nowhere near in shape enough to be upstreamed, and MS's in only slightly newer at 3.7, the the repo also contains a custom clang and so would require some git surgery to get it upstream once stable. Apple's metal I don't think is even open source. 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.) |
|