I'm going to play some with SPIR-V, and the first step is to look at existing projects/blogs. Below is what I have found so far. Have I missed anything relevant?
BlogsRedefining the shading languages ecosystem with SPIR-V
Great overview of the benefits of SPIR-V, and what problems it does not solve.
Khronos' reference compiler front end for the OpenGL ES and OpenGL shading languages. This can now generate SPIR-V.
LunarGLASS: LunarG's LLVM Adaptation to Shader Compiler Stacks.
It compiles shaders to LLVM IR using the glslang frontend, and it can use the SPIR-V output from glslang, so it seems to contain most code needed to convert SPIR-V to LLVM IR.
Translation from python bytecode to SPIR-V.
This also contains
- A SPIR-V decoder/encoder (assembler/disassembler)
- Machine readable specification for SPIR-V in json -format that can be used to drive a decoder/encoder. And the script used to generate it.
SPIR-V generator for .NET IL written in C#.
A SPIR-V encoder/decoder written in Go.
Simple SPIR-V parser written in C.
SPIR-V HTML Specification to JSON converter written in C#.
SPIR-V bytecode emitter written in C#.