Crates.io | vello_shaders |
lib.rs | vello_shaders |
version | 0.3.0 |
source | src |
created_at | 2024-06-08 13:38:36.273335 |
updated_at | 2024-10-04 18:39:25.107838 |
description | Vello infrastructure to preprocess and cross-compile shaders at compile time. |
homepage | |
repository | https://github.com/linebender/vello |
max_upload_size | |
id | 1265748 |
size | 356,075 |
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.
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.
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
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.
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.