Crates.io | spirv-to-dxil-sys |
lib.rs | spirv-to-dxil-sys |
version | 0.4.7 |
source | src |
created_at | 2023-02-04 08:33:35.072933 |
updated_at | 2024-02-20 22:54:28.369001 |
description | Raw bindings to spirv-to-dxil |
homepage | |
repository | https://github.com/SnowflakePowered/spirv-to-dxil-rs |
max_upload_size | |
id | 776255 |
size | 84,286,341 |
Safe Rust bindings to spirv-to-dxil.
spirv-to-dxil-rs builds a copy of spirv-to-dxil statically from Mesa.
MSVC 2019 16.11 or later is required to build on Windows.
A script to clone a minimal subset of Mesa required to build spirv-to-dxil has been provided.
$ ./clone-mesa.sh
$ cargo build
Unless you are maintaining spirv-to-dxil-rs, you do not need to update Mesa frequently.
Updating Mesa requires Python 3.6 and mako to pre-generate templated files. CMake is also required to
regenerate the Rust bindings from spirv-to-dxil.h
, this is to ensure that bindings can be generated
regardless of whether changes need to be made to the spirv-to-dxil-sys
build script.
Update the submodule to HEAD
git submodule update --init --remote --depth 1 --single-branch --progress spirv-to-dxil-sys/native/mesa
Re-apply 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
Regenerate bindings
cargo run --bin bindings_generator
Regenerate mako-generated files for cc
./mesa_mako