Struct vulkano::sync::JoinFuture
source · pub struct JoinFuture<A, B> { /* private fields */ }
Expand description
Two futures joined into one.
Trait Implementations
sourceimpl<A, B> DeviceOwned for JoinFuture<A, B>where
A: DeviceOwned,
B: DeviceOwned,
impl<A, B> DeviceOwned for JoinFuture<A, B>where
A: DeviceOwned,
B: DeviceOwned,
sourceimpl<A, B> GpuFuture for JoinFuture<A, B>where
A: GpuFuture,
B: GpuFuture,
impl<A, B> GpuFuture for JoinFuture<A, B>where
A: GpuFuture,
B: GpuFuture,
sourcefn cleanup_finished(&mut self)
fn cleanup_finished(&mut self)
If possible, checks whether the submission has finished. If so, gives up ownership of the
resources used by these submissions. Read more
sourcefn flush(&self) -> Result<(), FlushError>
fn flush(&self) -> Result<(), FlushError>
Flushes the future and submits to the GPU the actions that will permit this future to
occur. Read more
sourceunsafe fn build_submission(&self) -> Result<SubmitAnyBuilder<'_>, FlushError>
unsafe fn build_submission(&self) -> Result<SubmitAnyBuilder<'_>, FlushError>
Builds a submission that, if submitted, makes sure that the event represented by this
GpuFuture
will happen, and possibly contains extra elements (eg. a semaphore wait or an
event wait) that makes the dependency with subsequent operations work. Read moresourceunsafe fn signal_finished(&self)
unsafe fn signal_finished(&self)
Sets the future to its “complete” state, meaning that it can safely be destroyed. Read more
sourcefn queue_change_allowed(&self) -> bool
fn queue_change_allowed(&self) -> bool
Returns
true
if elements submitted after this future can be submitted to a different
queue than the other returned by queue()
. Read moresourcefn queue(&self) -> Option<Arc<Queue>>
fn queue(&self) -> Option<Arc<Queue>>
Returns the queue that triggers the event. Returns
None
if unknown or irrelevant. Read moresourcefn check_buffer_access(
&self,
buffer: &dyn BufferAccess,
exclusive: bool,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlagBits)>, AccessCheckError>
fn check_buffer_access(
&self,
buffer: &dyn BufferAccess,
exclusive: bool,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlagBits)>, AccessCheckError>
Checks whether submitting something after this future grants access (exclusive or shared,
depending on the parameter) to the given buffer on the given queue. Read more
sourcefn check_image_access(
&self,
image: &dyn ImageAccess,
layout: ImageLayout,
exclusive: bool,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlagBits)>, AccessCheckError>
fn check_image_access(
&self,
image: &dyn ImageAccess,
layout: ImageLayout,
exclusive: bool,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlagBits)>, AccessCheckError>
Checks whether submitting something after this future grants access (exclusive or shared,
depending on the parameter) to the given image on the given queue. Read more
sourcefn join<F>(self, other: F) -> JoinFuture<Self, F>where
Self: Sized,
F: GpuFuture,
fn join<F>(self, other: F) -> JoinFuture<Self, F>where
Self: Sized,
F: GpuFuture,
Joins this future with another one, representing the moment when both events have happened.
sourcefn then_execute<Cb>(
self,
queue: Arc<Queue>,
command_buffer: Cb
) -> Result<CommandBufferExecFuture<Self, Cb>, CommandBufferExecError>where
Self: Sized,
Cb: CommandBuffer + 'static,
fn then_execute<Cb>(
self,
queue: Arc<Queue>,
command_buffer: Cb
) -> Result<CommandBufferExecFuture<Self, Cb>, CommandBufferExecError>where
Self: Sized,
Cb: CommandBuffer + 'static,
Executes a command buffer after this future. Read more
sourcefn then_execute_same_queue<Cb>(
self,
command_buffer: Cb
) -> Result<CommandBufferExecFuture<Self, Cb>, CommandBufferExecError>where
Self: Sized,
Cb: CommandBuffer + 'static,
fn then_execute_same_queue<Cb>(
self,
command_buffer: Cb
) -> Result<CommandBufferExecFuture<Self, Cb>, CommandBufferExecError>where
Self: Sized,
Cb: CommandBuffer + 'static,
Executes a command buffer after this future, on the same queue as the future. Read more
sourcefn then_signal_semaphore(self) -> SemaphoreSignalFuture<Self>where
Self: Sized,
fn then_signal_semaphore(self) -> SemaphoreSignalFuture<Self>where
Self: Sized,
Signals a semaphore after this future. Returns another future that represents the signal. Read more
sourcefn then_signal_semaphore_and_flush(
self
) -> Result<SemaphoreSignalFuture<Self>, FlushError>where
Self: Sized,
fn then_signal_semaphore_and_flush(
self
) -> Result<SemaphoreSignalFuture<Self>, FlushError>where
Self: Sized,
Signals a semaphore after this future and flushes it. Returns another future that
represents the moment when the semaphore is signalled. Read more
sourcefn then_signal_fence(self) -> FenceSignalFuture<Self>where
Self: Sized,
fn then_signal_fence(self) -> FenceSignalFuture<Self>where
Self: Sized,
Signals a fence after this future. Returns another future that represents the signal. Read more
sourcefn then_signal_fence_and_flush(
self
) -> Result<FenceSignalFuture<Self>, FlushError>where
Self: Sized,
fn then_signal_fence_and_flush(
self
) -> Result<FenceSignalFuture<Self>, FlushError>where
Self: Sized,
Signals a fence after this future. Returns another future that represents the signal. Read more
sourcefn then_swapchain_present<W>(
self,
queue: Arc<Queue>,
swapchain: Arc<Swapchain<W>>,
image_index: usize
) -> PresentFuture<Self, W>where
Self: Sized,
fn then_swapchain_present<W>(
self,
queue: Arc<Queue>,
swapchain: Arc<Swapchain<W>>,
image_index: usize
) -> PresentFuture<Self, W>where
Self: Sized,
Presents a swapchain image after this future. Read more
sourcefn then_swapchain_present_incremental<W>(
self,
queue: Arc<Queue>,
swapchain: Arc<Swapchain<W>>,
image_index: usize,
present_region: PresentRegion
) -> PresentFuture<Self, W>where
Self: Sized,
fn then_swapchain_present_incremental<W>(
self,
queue: Arc<Queue>,
swapchain: Arc<Swapchain<W>>,
image_index: usize,
present_region: PresentRegion
) -> PresentFuture<Self, W>where
Self: Sized,
Same as
then_swapchain_present
, except it allows specifying a present region. Read moreAuto Trait Implementations
impl<A, B> RefUnwindSafe for JoinFuture<A, B>where
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for JoinFuture<A, B>where
A: Send,
B: Send,
impl<A, B> Sync for JoinFuture<A, B>where
A: Sync,
B: Sync,
impl<A, B> Unpin for JoinFuture<A, B>where
A: Unpin,
B: Unpin,
impl<A, B> UnwindSafe for JoinFuture<A, B>where
A: UnwindSafe,
B: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Content for T
impl<T> Content for T
sourcefn ref_from_ptr<'a>(ptr: *mut c_void, size: usize) -> Option<*mut T>
fn ref_from_ptr<'a>(ptr: *mut c_void, size: usize) -> Option<*mut T>
Builds a pointer to this type from a raw pointer.
sourcefn is_size_suitable(size: usize) -> bool
fn is_size_suitable(size: usize) -> bool
Returns true if the size is suitable to store a type like this.
sourcefn indiv_size() -> usize
fn indiv_size() -> usize
Returns the size of an individual element.