Skip to main content

include_shaders

Macro include_shaders 

Source
macro_rules! include_shaders {
    () => { ... };
}
Expand description

Brings in the Rust that henad-build generated from the crate’s WGSL, as the modules shader_bindings and binding_decls.

Call it once, at the crate root of a crate whose build script runs henad_build::ShaderBuild. A shader at gpu_vote/step.wgsl below the shader root is then available as crate::shader_bindings::gpu_vote::step::SHADER_STRING, and its @group(0) declarations as crate::binding_decls::bindings::GPU_VOTE_STEP.

Generated code is not held to the caller’s lints, and both modules allow every lint it trips. unsafe_code is the one that matters. The generator writes unsafe impl bytemuck::Pod and an unsafe fn from_raw, so a crate denies unsafe_code rather than forbidding it.

Note that the expansion fails to compile when the shared WGSL that henad-build composed the shaders against differs from the shared WGSL this crate links. Use the same 0.x of henad and henad-build.