Skip to main content

Submission

Struct Submission 

Source
pub struct Submission { /* private fields */ }
Expand description

A finalized graph execution plan.

Submission owns the remaining commands of a Graph after Graph::finalize has ended the graph-building phase. It supports two execution styles:

Implementations§

Source§

impl Submission

Source

pub fn is_empty(&self) -> bool

Returns true when this submission contains no more commands to record.

Source

pub fn resource<N>(&self, resource_node: N) -> &N::Resource
where N: Node,

Returns a borrow of the original Vulkan resource (buffer, image or acceleration structure) which the given node represents.

Source

pub fn queue_submit<P>( self, resource_pool: &mut P, queue_family_index: u32, queue_index: u32, ) -> Result<Fence, DriverError>

Records and submits all remaining commands using an internally allocated command buffer.

This legacy submit path only supports binary semaphore behavior. All wait and signal values must be 0, and wait and signal stage masks must be ALL_COMMANDS or NONE.

Source

pub fn record<'p, 's, P, Cb>( self, resource_pool: &'p mut P, cmd_buf: Cb, selection: impl Into<RecordSelection<'s>>, ) -> Result<Recording<'p, P, Cb>, DriverError>

Records any remaining graph commands into cmd_buf and returns a Recording.

When selection is RecordSelection::Nodes, nodes are processed sequentially in the provided slice order and each step mutates the remaining submission state.

Trait Implementations§

Source§

impl Debug for Submission

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.