Skip to main content

DynNode

Trait DynNode 

Source
pub trait DynNode<B: Backend, T: ?Sized>:
    Debug
    + Sync
    + Send {
    // Required methods
    unsafe fn run<'a>(
        &mut self,
        ctx: &GraphContext<B>,
        factory: &Factory<B>,
        queue: &mut Queue<B>,
        aux: &T,
        frames: &Frames<B>,
        waits: &[(&'a B::Semaphore, PipelineStage)],
        signals: &[&'a B::Semaphore],
        fence: Option<&mut Fence<B>>,
    );
    unsafe fn dispose(self: Box<Self>, factory: &mut Factory<B>, aux: &T);
}
Expand description

Trait-object safe Node.

Required Methods§

Source

unsafe fn run<'a>( &mut self, ctx: &GraphContext<B>, factory: &Factory<B>, queue: &mut Queue<B>, aux: &T, frames: &Frames<B>, waits: &[(&'a B::Semaphore, PipelineStage)], signals: &[&'a B::Semaphore], fence: Option<&mut Fence<B>>, )

Record commands required by node. Recorded buffers go into submits.

Source

unsafe fn dispose(self: Box<Self>, factory: &mut Factory<B>, aux: &T)

Dispose of the node.

§Safety

Must be called after waiting for device idle.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<B, T, N> DynNode<B, T> for (N,)
where B: Backend, T: ?Sized, N: Node<B, T>,

Source§

unsafe fn run<'a>( &mut self, ctx: &GraphContext<B>, factory: &Factory<B>, queue: &mut Queue<B>, aux: &T, frames: &Frames<B>, waits: &[(&'a B::Semaphore, PipelineStage)], signals: &[&'a B::Semaphore], fence: Option<&mut Fence<B>>, )

Source§

unsafe fn dispose(self: Box<Self>, factory: &mut Factory<B>, aux: &T)

Implementors§

Source§

impl<B, T> DynNode<B, T> for PresentNode<B>
where B: Backend, T: ?Sized,