Files
enkou/enkou-shaders-tests/build.rs
T
bspeice 54ba76b380
CI / cargo fmt (push) Successful in 22s
CI / cargo test (push) Successful in 12m34s
CI / cargo test (GPU) (push) Successful in 12m51s
Implement camera colors
Still needs some unit tests, and to fix the gasket example
2026-07-03 14:07:45 -04:00

31 lines
1.0 KiB
Rust

use cargo_gpu_install::install::Install;
use cargo_gpu_install::spirv_builder::{Capability, ShaderPanicStrategy, SpirvMetadata};
use std::path::PathBuf;
pub fn main() -> anyhow::Result<()> {
let manifest_dir = env!("CARGO_MANIFEST_DIR");
let crate_path = [manifest_dir, "..", "enkou-shaders"]
.iter()
.copied()
.collect::<PathBuf>();
let install = Install::from_shader_crate(crate_path.clone())
.within_build_script()
.run()?;
let mut builder = install.to_spirv_builder(crate_path, "spirv-unknown-vulkan1.3");
builder.build_script.defaults = true;
builder.shader_panic_strategy = ShaderPanicStrategy::SilentExit;
builder.spirv_metadata = SpirvMetadata::Full;
builder.capabilities = vec![
Capability::Int8,
Capability::Int16,
Capability::Int64,
Capability::Float64,
];
let compile_result = builder.build()?;
let spv_path = compile_result.module.unwrap_single();
println!("cargo::rustc-env=SHADER_SPV_PATH={}", spv_path.display());
Ok(())
}