
RSPIRV is another project under the Google umbrella on GitHub. RSPIRV is a Rust implementation of SPIR-V module processing functionalities. SPIR-V, of course, being the intermediate representation/language used by Vulkan as well as OpenCL 2.1+ and can also be used in OpenGL.
The official SPIRV-Tools project from The Khronos Group is written in C++ while RSPIRV is effectively an entire rewrite of that in Rust. With Rust, of course, having better memory safety and concurrency features.
So far this project has a SPIR-V memory representation, a module builder, a binary module parser, and binary module disassembler. Still being developed is a module assembler, HLSL/GLSL to SPIR-V front-end, and SPIR-V memory representation to LLVM IR.
RSPIRV is under the Apache 2.0 license and those wanting to learn more can do so via the GitHub project site.
15 Comments