#spir-v #bindings #dxil #required #run #module #spirv-to-dxil

sys spirv-to-dxil-sys

对 spirv-to-dxil 的原始绑定

14个版本

0.4.7 2024年2月20日
0.4.5 2024年1月16日
0.4.4-beta2023年12月10日
0.4.3 2023年11月29日
0.3.0 2023年2月7日

#699 in 图形API

Download history 289/week @ 2024-03-25 434/week @ 2024-04-01 268/week @ 2024-04-08 161/week @ 2024-04-15 136/week @ 2024-04-22 492/week @ 2024-04-29 101/week @ 2024-05-06 113/week @ 2024-05-13 98/week @ 2024-05-20 111/week @ 2024-05-27 153/week @ 2024-06-03 298/week @ 2024-06-10 207/week @ 2024-06-17 78/week @ 2024-06-24 65/week @ 2024-07-01 124/week @ 2024-07-08

每月522次下载
8个Crates中使用(通过spirv-to-dxil

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 15K SLoC // 0.1% comments Happy 4.5K SLoC GLSL 3K SLoC // 0.2% comments Bitbake 1.5K SLoC LLVM 774 SLoC Forge Config 257 SLoC XSL 146 SLoC // 0.2% comments Shell 130 SLoC // 0.1% comments GraphQL 51 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. 重新生成mako生成的 cc 文件

    ./mesa_mako 
    

依赖项