Skip to main content

CommandStreamRun

Struct CommandStreamRun 

Source
pub struct CommandStreamRun<'a, A> { /* private fields */ }
Expand description

An in-progress invocation of a CommandStream into a Graph.

Bind every declared stream argument before calling CommandStreamRun::finish. Distinct stream arguments must bind to distinct parent-graph nodes.

let stream = CommandStream::finalize(|stream| {
    stream.arg(ImageInfo::image_2d(
        32,
        32,
        vk::Format::R8G8B8A8_UNORM,
        vk::ImageUsageFlags::TRANSFER_DST,
    ))
})
.into_stream();

let mut graph = Graph::new();
graph
    .insert_cmd_stream(&stream)
    .with_arg(stream.args, image)
    .finish();

Implementations§

Source§

impl<'a, A> CommandStreamRun<'a, A>

Source

pub fn with_arg<T, N>(self, arg: StreamArg<T>, node: N) -> Self
where N: StreamArgBindable<T>,

Sets a stream argument to a graph node for this invocation.

The same argument may be rebound, but distinct arguments cannot bind to the same parent node. Stream scheduling and resource ownership tracking use node identity.

§Panics

Panics if another argument is already bound to node.

Source

pub fn finish(self) -> &'a mut Graph

Finishes this stream invocation and returns to the parent graph.

Auto Trait Implementations§

§

impl<'a, A> !RefUnwindSafe for CommandStreamRun<'a, A>

§

impl<'a, A> !Sync for CommandStreamRun<'a, A>

§

impl<'a, A> !UnwindSafe for CommandStreamRun<'a, A>

§

impl<'a, A> Freeze for CommandStreamRun<'a, A>

§

impl<'a, A> Send for CommandStreamRun<'a, A>
where A: Sync,

§

impl<'a, A> Unpin for CommandStreamRun<'a, A>

§

impl<'a, A> UnsafeUnpin for CommandStreamRun<'a, A>

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.