use vyre_foundation::ir::Program;
pub(crate) fn wrap_program_sequence(programs: &[&Program], workgroup_size: [u32; 3]) -> Program {
let buffer_count = programs.iter().map(|program| program.buffers().len()).sum();
let entry_count = programs.iter().map(|program| program.entry().len()).sum();
let mut buffers = Vec::with_capacity(buffer_count);
let mut entry = Vec::with_capacity(entry_count);
for program in programs {
buffers.extend_from_slice(program.buffers());
entry.extend_from_slice(program.entry());
}
Program::wrapped(buffers, workgroup_size, entry)
}