Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/grovesnl/spirv_cross

Safe Rust wrapper around SPIRV-Cross
https://github.com/grovesnl/spirv_cross

directx graphics metal opengl rust spir-v spirv spirv-cross vulkan

Last synced: 1 day ago
JSON representation

Safe Rust wrapper around SPIRV-Cross

Awesome Lists containing this project

README

        


spirv_cross



Safe wrapper around SPIR-V Cross




Crate Travis Build Status Appveyor Build Status

## Example

`spirv_cross` provides a safe wrapper around [SPIRV-Cross](https://github.com/KhronosGroup/SPIRV-Cross) for use with Rust. For example, here is a simple function to parse a SPIR-V module and compile it to HLSL and MSL:

```rust
extern crate spirv_cross;
use spirv_cross::{spirv, hlsl, msl, ErrorCode};

fn example(module: spirv::Module) -> Result<(), ErrorCode> {
// Compile to HLSL
let ast = spirv::Ast::::parse(&module)?;
println!("{}", ast.compile()?);

// Compile to MSL
let ast = spirv::Ast::::parse(&module)?;
println!("{}", ast.compile()?);

Ok(())
}
```

## License

This project is licensed under either of [Apache License, Version
2.0](LICENSE-APACHE) or [MIT license](LICENSE-MIT), at your option.

## Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in this project by you, as defined in the Apache 2.0 license,
shall be dual licensed as above, without any additional terms or conditions.

See [CONTRIBUTING.md](CONTRIBUTING.md).