spirvcross

Crates.iospirvcross
lib.rsspirvcross
version0.1.2
sourcesrc
created_at2023-07-30 06:35:53.427598
updated_at2023-12-01 11:21:04.167243
descriptionBindings to SPIRV-Cross API
homepage
repositoryhttps://github.com/Aandreba/spirv-cross
max_upload_size
id929764
size10,714,192
Alex (Aandreba)

documentation

README

spirv-cross

High and low level bindigns to the SPIRV-Cross API

Example

use spirvcross::{
    bytes_to_words,
    compiler::{glsl::GlslCompiler, Compiler},
    Result,
    Context,
};

fn compile(bytes: &[u8]) -> Result<()> {
    let words = bytes_to_words(bytes).unwrap();

    let mut context = Context::new()?;
    context.set_error_callback(|err| eprintln!("{}", err.to_string_lossy()));

    let compiler = GlslCompiler::new(&mut context, &words)?
        .vulkan_semantics(true)?;

    println!("{}", compiler.compile()?);
    return Ok(());
}

Supported Targets

  • Linux
  • macOS
  • Windows
  • WebAssembly (WASI)
    • Compiling to WebAssembly from a Windows machine currently doesn't work.
Commit count: 51

cargo fmt