1 个不稳定版本
0.0.1 | 2024年2月17日 |
---|
#9 in #msl
在 rafx-shader-processor 中使用
2MB
50K SLoC
(Fork of) spirv_cross
SPIRV-Cross 的安全包装
分支信息
此仓库存在是为了发布我的其他项目,这些项目需要一些尚未合并的额外 PR。
除非您也需要那些提交,否则我建议使用原始的
示例
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.0 或 MIT 许可证,任选其一。
贡献
除非您明确说明,否则根据 Apache 2.0 许可证定义的任何旨在包含在本项目中的有意提交的贡献,均应按上述方式双重许可,而不附加任何额外条款或条件。
请参阅 CONTRIBUTING.md.