Skip to content
Rust to SPIR-V compiler
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
libstd Update from 1.28 to 1.35 Apr 5, 2019
media new logo Jun 19, 2018
rlsl-test-macro Update from 1.28 to 1.35 Apr 5, 2019
rlsl-test Update from 1.28 to 1.35 Apr 5, 2019
tools Improve installation for rlsl Apr 8, 2019
Cargo.toml Improve installation for rlsl Apr 8, 2019
LICENSE-APACHE Add license again Jun 11, 2018
LICENSE-MIT Remove logo temporarily Jun 19, 2018 Update Jun 27, 2018
rustfmt.toml Improve installation for rlsl Apr 8, 2019

Rlsl - Rust Like Shading Language

The project is currently unusable

Join the chat at

What 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.


  • 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




RUSTC=rlsl cargo build



  1. What is RLSL
  2. Milestone 1

Want to help?


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.

You can’t perform that action at this time.