use svod_dtype::DType;
pub use svod_device::device::{ProgramSpec, Variable};
pub use svod_dtype::DeviceSpec;
#[derive(Debug, Clone)]
pub struct RenderedKernel {
pub code: String,
pub name: String,
pub buffer_args: Vec<BufferArg>,
pub var_names: Vec<String>,
}
#[derive(Debug, Clone)]
pub struct BufferArg {
pub index: usize,
pub name: String,
pub dtype: DType,
pub is_output: bool,
}
impl RenderedKernel {
pub fn new(code: String, name: String) -> Self {
Self { code, name, buffer_args: Vec::new(), var_names: Vec::new() }
}
pub fn add_buffer_arg(&mut self, arg: BufferArg) {
self.buffer_args.push(arg);
}
}