@Eugene D I would like to understand SPIR-V a little more, as I am likely misunderstanding something. Is SPIR-V a library that helps programmers implement Vulkan? From a very broad perspective, would SPIR-V with Vulkan kind-of be similar to a GLUT-like library for OpenGL?
@Tim J One of my team called SPIR-V "assembly language for GPUs".
Basically what Tim said. It's an intermediate language for 3D graphics rendering and parallel processing (or any advanced maths calculations for that matter) that can be compiled to a binary.
So basically, you would write your shaders in "SPIR-V Assembler" and compile it to a SPIR-V binary. Or even better, compile higher level languages to "SPIR-V assembler", and then assemble it to binaries. The idea is then to distribute your shaders/code as these SPIR-V binaries.
If you are interested, here is an open source project I've started (in Xojo) that disassembles and/or validates SPIR-V binaries. There are also a few test SPIR-V binaries in this project to play with.
If Xojo should decide to add support for Vulkan, it probably would be best to focus on compiling and using SPIR-V binaries somehow. The whole intent of SPIR-V is to keep things not only cross platform, but also language independent which fits nicely with Xojo's vision of creating a cross platform developing tool.
There has been talk about a LLVM to SPIR-V cross-compiler, and vice versa, but I'm not sure where they are at with such a project.