Hi,
I'm still trying to estimate the work required to support OpenCL on
Freedreno, and as part of that I have given a try to put Khronos'
LLVM-SPIRV into a shape that Mesa can depend on:
https://gitlab.collabora.com/tomeu/llvm-spirv
I basically took Khronos' master branch, rewrote history to remove
anything not SPIRV-specific, and applied on top Nic's changes to match
LLVM 6.0. Also borrowed some build system changes from clspv.
Hopefully at some point this will become something that can be merged
into LLVM (probably as a target), but that doesn't seem to be close
enough and right now it's blocking other work.
Once/if I start working on this in earnest, my first steps will be
making it a proper FOSS project to which people can contribute, and then
have Clover use it to pass SPIR-V to spirv-to-nir and from there to
Gallium drivers that are able to consume NIR.
Have checked with a few simple CL C kernels that spirv-to-nir is able to
consume the SPIRV that llvm-spirv produces, so I think this approach
will allows us to progressively advance on spec coverage by working
mostly on spirv2nir, Clover and the Gallium drivers.
Thanks to everybody who has given feedback so far!
Regards,
Tomeu
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev