Struct vulkano::sync::SemaphoreSignalFuture
source · [−]pub struct SemaphoreSignalFuture<F>where
F: GpuFuture,{ /* private fields */ }
Expand description
Represents a semaphore being signaled after a previous event.
Trait Implementations
sourceimpl<F> DeviceOwned for SemaphoreSignalFuture<F>where
F: GpuFuture,
impl<F> DeviceOwned for SemaphoreSignalFuture<F>where
F: GpuFuture,
sourceimpl<F> Drop for SemaphoreSignalFuture<F>where
F: GpuFuture,
impl<F> Drop for SemaphoreSignalFuture<F>where
F: GpuFuture,
sourceimpl<F> GpuFuture for SemaphoreSignalFuture<F>where
F: GpuFuture,
impl<F> GpuFuture for SemaphoreSignalFuture<F>where
F: 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
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 moresourcefn 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 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: &UnsafeBuffer,
range: Range<DeviceSize>,
exclusive: bool,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlags)>, AccessCheckError>
fn check_buffer_access(
&self,
buffer: &UnsafeBuffer,
range: Range<DeviceSize>,
exclusive: bool,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlags)>, 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: &UnsafeImage,
range: Range<DeviceSize>,
exclusive: bool,
expected_layout: ImageLayout,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlags)>, AccessCheckError>
fn check_image_access(
&self,
image: &UnsafeImage,
range: Range<DeviceSize>,
exclusive: bool,
expected_layout: ImageLayout,
queue: &Queue
) -> Result<Option<(PipelineStages, AccessFlags)>, 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: PrimaryCommandBuffer + 'static,
fn then_execute<Cb>(
self,
queue: Arc<Queue>,
command_buffer: Cb
) -> Result<CommandBufferExecFuture<Self, Cb>, CommandBufferExecError>where
Self: Sized,
Cb: PrimaryCommandBuffer + '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: PrimaryCommandBuffer + 'static,
fn then_execute_same_queue<Cb>(
self,
command_buffer: Cb
) -> Result<CommandBufferExecFuture<Self, Cb>, CommandBufferExecError>where
Self: Sized,
Cb: PrimaryCommandBuffer + '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>,
info: PresentInfo<W>
) -> PresentFuture<Self, W>where
Self: Sized,
fn then_swapchain_present<W>(
self,
queue: Arc<Queue>,
info: PresentInfo<W>
) -> PresentFuture<Self, W>where
Self: Sized,
Presents a swapchain image after this future. Read more
sourcefn boxed(self) -> Box<dyn GpuFuture>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global>where
R: Read + ?Sized,impl<W> Write for Box<W, Global>where
W: Write + ?Sized,impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
where
Self: Sized + 'static,
fn boxed(self) -> Box<dyn GpuFuture>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global>where
R: Read + ?Sized,impl<W> Write for Box<W, Global>where
W: Write + ?Sized,impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
where
Self: Sized + 'static,
R: Read + ?Sized,impl<W> Write for Box<W, Global>where
W: Write + ?Sized,impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
Turn the current future into a
Box<dyn GpuFuture>
. Read moreAuto Trait Implementations
impl<F> !RefUnwindSafe for SemaphoreSignalFuture<F>
impl<F> Send for SemaphoreSignalFuture<F>where
F: Send,
impl<F> Sync for SemaphoreSignalFuture<F>where
F: Sync,
impl<F> Unpin for SemaphoreSignalFuture<F>where
F: Unpin,
impl<F> !UnwindSafe for SemaphoreSignalFuture<F>
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