11 个版本

0.4.7 2024 年 2 月 19 日
0.4.6 2024 年 2 月 7 日
0.4.1 2024 年 1 月 15 日
0.4.0 2023 年 7 月 20 日
0.1.1-beta.32023 年 2 月 4 日

#138图形 API

Download history 227/week @ 2024-04-11 152/week @ 2024-04-18 361/week @ 2024-04-25 208/week @ 2024-05-02 96/week @ 2024-05-09 124/week @ 2024-05-16 92/week @ 2024-05-23 122/week @ 2024-05-30 183/week @ 2024-06-06 268/week @ 2024-06-13 175/week @ 2024-06-20 54/week @ 2024-06-27 107/week @ 2024-07-04 118/week @ 2024-07-11 145/week @ 2024-07-18 267/week @ 2024-07-25

640 每月下载量
7 个 crate 中使用 (通过 librashader-reflect)

MIT 许可证

61MB
2.5M SLoC

C 2M SLoC // 0.1% comments C++ 80K SLoC // 0.2% comments Python 25K SLoC // 0.4% comments GNU Style Assembly 18K SLoC Rust 16K SLoC // 0.1% comments Happy 4.5K SLoC GLSL 3K SLoC // 0.2% comments Bitbake 1.5K SLoC LLVM 773 SLoC Forge Config 256 SLoC XSL 145 SLoC // 0.1% comments Shell 129 SLoC // 0.1% comments GraphQL 50 SLoC

spirv-to-dxil-rs

spirv-to-dxil 的安全 Rust 绑定。

Latest Version Docs License

构建

spirv-to-dxil-rs 从 Mesa 静态构建 spirv-to-dxil 的副本。

已提供克隆构建 spirv-to-dxil 所需的最小 Mesa 子集的脚本。

$ ./clone-mesa.sh
$ cargo build

更新 Mesa

除非您正在维护 spirv-to-dxil-rs,否则您不需要频繁更新 Mesa。

更新 Mesa 需要 Python 3.6 和 mako 来预生成模板文件。还需要 CMake 来从 spirv-to-dxil.h 重新生成 Rust 绑定,这是为了确保即使在需要修改 spirv-to-dxil-sys 构建脚本的情况下,也可以生成绑定。

  1. 更新子模块到 HEAD

    gitsubmodule update --init --remote --depth 1 --single-branch --progressspirv-to-dxil-sys/native/mesa

  2. 重新应用 sparse-checkout

    git submodule absorbgitdirs
    git -C spirv-to-dxil-sys/native/mesa config core.sparseCheckout true
    git -C spirv-to-dxil-sys/native/mesa config core.symlinks false
    cp spirv-to-dxil-sys/native/mesa-sparse-checkout .git/modules/spirv-to-dxil-sys/native/mesa/info/sparse-checkout
    git submodule foreach git sparse-checkout reapply
    
  3. 重新生成绑定

    cargo run --bin bindings_generator
    
  4. 重新生成 cc 的 mako 生成的文件

    ./mesa_mako 
    

依赖项