vello_shaders

Crates.iovello_shaders
lib.rsvello_shaders
version0.3.0
sourcesrc
created_at2024-06-08 13:38:36.273335
updated_at2024-10-04 18:39:25.107838
descriptionVello infrastructure to preprocess and cross-compile shaders at compile time.
homepage
repositoryhttps://github.com/linebender/vello
max_upload_size
id1265748
size356,075
Olivier FAURE (PoignardAzur)

documentation

README

Vello Shaders

Integrate Vello shaders into any renderer project

Latest published version. Documentation build status. Apache 2.0 or MIT license.
Linebender Zulip chat. GitHub Actions CI status. Dependency staleness status.

This is a utility library to help integrate the Vello shader modules into any renderer project. It provides the necessary metadata to construct the individual compute pipelines on any GPU API while leaving the responsibility of all API interactions (such as resource management and command encoding) up to the client.

The shaders can be pre-compiled to any target shading language at build time based on feature flags. Currently only WGSL and Metal Shading Language are supported.

Significant changes are documented in the changelog.

Minimum supported Rust Version (MSRV)

This version of Vello Shaders has been verified to compile with Rust 1.75 and later.

Future versions of Vello Shaders might increase the Rust version requirement. It will not be treated as a breaking change and as such can even happen with small patch releases.

Click here if compiling fails.

As time has passed, some of Vello Shaders' dependencies could have released versions with a higher Rust requirement. If you encounter a compilation issue due to a dependency and don't want to upgrade your Rust toolchain, then you could downgrade the dependency.

# Use the problematic dependency's name and version
cargo update -p package_name --precise 0.1.1

Community

Discussion of Vello Shaders development happens in the Linebender Zulip, specifically the #gpu stream. All public content can be read without logging in.

Contributions are welcome by pull request. The Rust code of conduct applies.

License

Licensed under either of

at your option.

In addition, all files in the shader and src/cpu directories and subdirectories thereof are alternatively licensed under the Unlicense (shader/UNLICENSE or http://unlicense.org/). For clarity, these files are also licensed under either of the above licenses. The intent is for this research to be used in as broad a context as possible.

Commit count: 1266

cargo fmt