#spir-v #cross #spirv-cross #hlsl #safe-wrapper #msl #compile

motphys_spirv_cross

围绕 SPIRV-Cross 的安全包装

2 个版本

0.23.3 2024年2月28日
0.23.2 2024年2月28日

#301 in 图形API

MIT/Apache

2MB
49K SLoC

C++ 40K SLoC // 0.1% comments Rust 9K SLoC // 0.0% comments

motphys_spirv_cross

这是由 spirv_cross 维护者 Motphys 的一个分支。

与原始版本不同的功能

  • 支持 OpenHarmony

spirv_cross

围绕 SPIRV-Cross 的安全包装

Crate Travis Build Status Appveyor Build Status

示例

spirv_cross 为使用 Rust 提供了对 SPIRV-Cross 的安全包装。例如,以下是一个解析 SPIR-V 模块并将其编译为 HLSL 和 MSL 的简单函数

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::<hlsl::Target>::parse(&module)?;
    println!("{}", ast.compile()?);

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

    Ok(())
}

许可

此项目根据您的选择,受Apache License, Version 2.0MIT 许可证许可。

贡献

除非您明确表示,否则您有意提交到本项目的任何贡献,根据 Apache 2.0 许可证定义,均应作为上述双重许可,不附加任何其他条款或条件。

请参阅 CONTRIBUTING.md

依赖项