pub trait NodeBuilder<B: Backend, T: ?Sized>: Debug {
// Required methods
fn family(
&self,
factory: &mut Factory<B>,
families: &Families<B>,
) -> Option<FamilyId>;
fn buffers(&self) -> Vec<(BufferId, BufferAccess)>;
fn images(&self) -> Vec<(ImageId, ImageAccess)>;
fn dependencies(&self) -> Vec<NodeId>;
fn build<'a>(
self: Box<Self>,
ctx: &GraphContext<B>,
factory: &mut Factory<B>,
family: &mut Family<B>,
queue: usize,
aux: &T,
buffers: Vec<NodeBuffer>,
images: Vec<NodeImage>,
) -> Result<Box<dyn DynNode<B, T>>, NodeBuildError>;
}
Expand description
Dynamic node builder that emits DynNode
.
Required Methods§
Sourcefn family(
&self,
factory: &mut Factory<B>,
families: &Families<B>,
) -> Option<FamilyId>
fn family( &self, factory: &mut Factory<B>, families: &Families<B>, ) -> Option<FamilyId>
Pick family for this node to be executed onto.
Sourcefn buffers(&self) -> Vec<(BufferId, BufferAccess)>
fn buffers(&self) -> Vec<(BufferId, BufferAccess)>
Get buffer accessed by the node.
Sourcefn images(&self) -> Vec<(ImageId, ImageAccess)>
fn images(&self) -> Vec<(ImageId, ImageAccess)>
Get images accessed by the node.
Sourcefn dependencies(&self) -> Vec<NodeId>
fn dependencies(&self) -> Vec<NodeId>
Indices of nodes this one dependes on.