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

Reply via email to