Skip to main content

vm_spirv_pathfind/
pathfind.rs

1use anyhow::Result;
2use std::fs;
3use vm_spirv::compile_source_with_workgroup_size;
4
5fn main() -> Result<()> {
6    let source = fs::read_to_string("zusts/gpu/pathfind.zs")?;
7    let kernel = compile_source_with_workgroup_size(&source, "pathfind", "main", [32, 32, 1])?;
8    let words = kernel.spirv.words();
9    let bytes: Vec<u8> = words.iter().flat_map(|w| w.to_le_bytes()).collect();
10    fs::write("pathfind.spv", &bytes)?;
11    println!("compiled pathfind.zs -> pathfind.spv ({} words, {} bytes)", words.len(), bytes.len());
12    Ok(())
13}