pub struct AsyncComputeSchedule {
pub graphics_passes: Vec<String>,
pub compute_passes: Vec<String>,
pub sync_points: Vec<(String, String)>,
}Expand description
Identifies passes that can run on the async compute queue, overlapping with graphics work.
Fields§
§graphics_passes: Vec<String>Passes that run on the graphics queue (in order).
compute_passes: Vec<String>Passes that run on the async compute queue (in order).
sync_points: Vec<(String, String)>Sync points: (graphics_pass, compute_pass) where compute must finish before graphics can continue.
Implementations§
Source§impl AsyncComputeSchedule
impl AsyncComputeSchedule
Sourcepub fn from_graph(graph: &mut RenderGraph) -> Result<Self, Vec<String>>
pub fn from_graph(graph: &mut RenderGraph) -> Result<Self, Vec<String>>
Analyze a graph and partition passes into graphics and async compute queues.
Sourcepub fn async_ratio(&self) -> f32
pub fn async_ratio(&self) -> f32
Returns the percentage of passes that can run asynchronously.
Trait Implementations§
Source§impl Clone for AsyncComputeSchedule
impl Clone for AsyncComputeSchedule
Source§fn clone(&self) -> AsyncComputeSchedule
fn clone(&self) -> AsyncComputeSchedule
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for AsyncComputeSchedule
impl RefUnwindSafe for AsyncComputeSchedule
impl Send for AsyncComputeSchedule
impl Sync for AsyncComputeSchedule
impl Unpin for AsyncComputeSchedule
impl UnsafeUnpin for AsyncComputeSchedule
impl UnwindSafe for AsyncComputeSchedule
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.