Deprecated in favor of rust-gpu
Rlsl can compile a subset of Rust to SPIR-V. You can read more about the limitations here.
Rlsl targets the logical addressing model of SPIR-V.
The Logical addressing model means pointers are abstract, having no physical size or numeric value. In this mode, pointers can only be created from existing objects, and they cannot be stored into an object, unless additional capabilities, e.g., VariablePointers, are declared to add such functionality.
- Supports cargo
- Multiple entry points can be defined in the same SPIR-V module
- Currently supports Vertex, Fragment and Compute shaders
- Shader code can run on the CPU because rlsl is a subset of Rust
- Reflection TODO
- Support library for interop between Rust and rlsl for uniforms (std140, std420) TODO
TODO
RUSTC=rlsl cargo build
Not ready to be used. Anything might happen
git clone https://github.com/MaikKlein/rlsl.git
Make sure you have both rustup and xargo installed.
cargo install-rlsl
cd rlsl-test
cargo +rlsl test
The project currently does not accept any contributions yet.
- Rlsl can not be easily built by anyone
- There is no documentation
- Debugging tools are almost non existent
- There is no infrastructure for testing
- No guide level explanation for contributions
Rlsl will start to accept contributions after those issues are properly addressed.
Want to chat? Join us on gitter.
Feel free to open an issue at any time.