The Wayback Machine - https://web.archive.org/web/20200427035419/https://github.com/MaikKlein/rlsl
Skip to content
Rust to SPIR-V compiler
Rust Other
  1. Rust 99.3%
  2. Other 0.7%
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.cargo Install prerequisites for rlsl Oct 26, 2019
issues Add rust_internal again Oct 26, 2019
libstd Update from 1.28 to 1.35 Apr 5, 2019
media new logo Jun 19, 2018
rlsl-math Adresses some issues with loops Nov 25, 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
rlsl Add rust_internal again Oct 26, 2019
tools Better error messages for requires tools Oct 26, 2019
.gitignore Adresses some issues with loops Nov 25, 2018
.gitmodules Move projects into their own workspace Jun 11, 2018
Cargo.lock Install rlsl from the script Oct 26, 2019
Cargo.toml Improve installation for rlsl Apr 8, 2019
LICENSE-APACHE Add license again Jun 11, 2018
LICENSE-MIT Add license again Jun 11, 2018
README.md Add some install instructions Oct 26, 2019
build_std.sh Update Jun 27, 2018
rustfmt.toml Remove mcx from to_ty Feb 7, 2018
version.in Improve installation for rlsl Apr 8, 2019

README.md

Rlsl - Rust Like Shading Language

The project is currently unusable

Join the chat at https://gitter.im/MaikKlein/rlsl

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.

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

compile

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

  1. What is RLSL
  2. Milestone 1

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.

Donate

Patreon

Community

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.