Rlsl - Rust Like Shading Language
rust-gpu
Deprecated in favor ofWhat is Rlsl?
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.
Features
- 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
Installation
TODO
How?
RUSTC=rlsl cargo build
How to install rlsl
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
Run tests
cd rlsl-test
cargo +rlsl test
Blog
Want to help?
Contribute
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.
Community
Want to chat? Join us on gitter.
Feel free to open an issue at any time.