Skip to main content

vyre_driver/program_walks/
mod.rs

1//! Pure IR walks over [`vyre_foundation::ir::Program`] shared by all backends.
2
3mod dispatch_params;
4mod grid;
5mod indirect;
6mod launch_geometry;
7mod outputs;
8
9pub use dispatch_params::{
10    dispatch_element_count, dispatch_element_count_for_program, dispatch_param_words,
11    dispatch_param_words_into, try_dispatch_param_words, try_dispatch_param_words_into,
12};
13pub use grid::{
14    auto_grid, coerce_to_pow2_with_tail_mask, infer_dispatch_grid, infer_dispatch_grid_for_count,
15    try_coerce_to_pow2_with_tail_mask, TailMaskPolicy,
16};
17pub use indirect::{find_indirect_dispatch, IndirectDispatch};
18pub(crate) use launch_geometry::program_uses_launch_geometry_ids;
19pub use outputs::{
20    element_size_bytes, enforce_actual_output_budget, output_binding_layout,
21    output_binding_layouts, output_binding_layouts_into, output_layout_from_program,
22    OutputBindingLayout, OutputLayout,
23};
24
25#[cfg(test)]
26mod tests;