pub struct WgpuDispatcher<'a> { /* private fields */ }Expand description
Dispatcher that compiles engawa render graphs to wgpu
commands. Construct once; call dispatch_graph per frame.
Implementations§
Source§impl<'a> WgpuDispatcher<'a>
impl<'a> WgpuDispatcher<'a>
pub fn new( device: &'a Device, queue: &'a Queue, target_format: TextureFormat, ) -> Self
Sourcepub fn dispatch_with(
&mut self,
graph: &CompiledGraph,
bindings: ResourceBindings,
bound: BoundResources,
) -> Result<CommandBuffer, WgpuDispatcherError>
pub fn dispatch_with( &mut self, graph: &CompiledGraph, bindings: ResourceBindings, bound: BoundResources, ) -> Result<CommandBuffer, WgpuDispatcherError>
One-shot helper: compile (if needed), build bindings,
walk the graph, return the recorded CommandBuffer
ready to submit. Wraps the trait’s dispatch_graph +
encoder lifecycle so the call site stays one line.
Trait Implementations§
Source§impl<'a> Dispatcher for WgpuDispatcher<'a>
impl<'a> Dispatcher for WgpuDispatcher<'a>
Source§fn dispatch_node(
&mut self,
node: &Node,
_bindings: &ResourceBindings,
) -> Result<(), DispatchError>
fn dispatch_node( &mut self, node: &Node, _bindings: &ResourceBindings, ) -> Result<(), DispatchError>
Dispatch a single node. Called by
dispatch_graph in
execution order. Implementations record / encode /
dispatch as appropriate for their backend.Source§fn dispatch_graph(
&mut self,
graph: &CompiledGraph,
bindings: &ResourceBindings,
) -> Result<(), DispatchError>
fn dispatch_graph( &mut self, graph: &CompiledGraph, bindings: &ResourceBindings, ) -> Result<(), DispatchError>
Walk
graph.execution_order, validating bindings + then
calling dispatch_node for each. The default impl
handles all engawa-side concerns; backends typically
don’t override this.Auto Trait Implementations§
impl<'a> !RefUnwindSafe for WgpuDispatcher<'a>
impl<'a> !UnwindSafe for WgpuDispatcher<'a>
impl<'a> Freeze for WgpuDispatcher<'a>
impl<'a> Send for WgpuDispatcher<'a>
impl<'a> Sync for WgpuDispatcher<'a>
impl<'a> Unpin for WgpuDispatcher<'a>
impl<'a> UnsafeUnpin for WgpuDispatcher<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more