pub struct SwapchainAcquireFuture { /* private fields */ }
Expand description

Represents the moment when the GPU will have access to a swapchain image.

Implementations§

source§

impl SwapchainAcquireFuture

source

pub fn image_index(&self) -> u32

Returns the index of the image in the list of images returned when creating the swapchain.

source

pub fn swapchain(&self) -> &Arc<Swapchain>

Returns the corresponding swapchain.

source

pub fn wait(&self, timeout: Option<Duration>) -> Result<(), VulkanError>

Blocks the current thread until the swapchain image has been acquired, or timeout

If timeout is None, will potentially block forever

You still need to join with this future for present to work

Trait Implementations§

source§

impl DeviceOwned for SwapchainAcquireFuture

source§

fn device(&self) -> &Arc<Device>

Returns the device that owns self.
source§

impl Drop for SwapchainAcquireFuture

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl GpuFuture for SwapchainAcquireFuture

source§

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
source§

unsafe fn build_submission( &self ) -> Result<SubmitAnyBuilder, Validated<VulkanError>>

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 more
source§

fn flush(&self) -> Result<(), Validated<VulkanError>>

Flushes the future and submits to the GPU the actions that will permit this future to occur. Read more
source§

unsafe fn signal_finished(&self)

Sets the future to its “complete” state, meaning that it can safely be destroyed. Read more
source§

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().
source§

fn queue(&self) -> Option<Arc<Queue>>

Returns the queue that triggers the event. Returns None if unknown or irrelevant. Read more
source§

fn check_buffer_access( &self, _buffer: &Buffer, _range: Range<DeviceSize>, _exclusive: bool, _queue: &Queue ) -> Result<(), 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
source§

fn check_image_access( &self, image: &Image, _range: Range<DeviceSize>, _exclusive: bool, expected_layout: ImageLayout, _queue: &Queue ) -> Result<(), 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
source§

fn check_swapchain_image_acquired( &self, swapchain: &Swapchain, image_index: u32, before: bool ) -> Result<(), AccessCheckError>

Checks whether accessing a swapchain image is permitted. Read more
source§

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.
source§

fn then_execute( self, queue: Arc<Queue>, command_buffer: Arc<impl PrimaryCommandBufferAbstract + 'static> ) -> Result<CommandBufferExecFuture<Self>, CommandBufferExecError>where Self: Sized,

Executes a command buffer after this future. Read more
source§

fn then_execute_same_queue( self, command_buffer: Arc<impl PrimaryCommandBufferAbstract + 'static> ) -> Result<CommandBufferExecFuture<Self>, CommandBufferExecError>where Self: Sized,

Executes a command buffer after this future, on the same queue as the future. Read more
source§

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
source§

fn then_signal_semaphore_and_flush( self ) -> Result<SemaphoreSignalFuture<Self>, Validated<VulkanError>>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
source§

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
source§

fn then_signal_fence_and_flush( self ) -> Result<FenceSignalFuture<Self>, Validated<VulkanError>>where Self: Sized,

Signals a fence after this future. Returns another future that represents the signal. Read more
source§

fn then_swapchain_present( self, queue: Arc<Queue>, swapchain_info: SwapchainPresentInfo ) -> PresentFuture<Self>where Self: Sized,

Presents a swapchain image after this future. Read more
source§

fn boxed(self) -> Box<dyn GpuFuture>where Self: Sized + 'static,

Turn the current future into a Box<dyn GpuFuture>. Read more
source§

fn boxed_send(self) -> Box<dyn GpuFuture + Send>where Self: Sized + Send + 'static,

Turn the current future into a Box<dyn GpuFuture + Send>. Read more
source§

fn boxed_sync(self) -> Box<dyn GpuFuture + Sync>where Self: Sized + Sync + 'static,

Turn the current future into a Box<dyn GpuFuture + Sync>. Read more
source§

fn boxed_send_sync(self) -> Box<dyn GpuFuture + Send + Sync>where Self: Sized + Send + Sync + 'static,

Turn the current future into a Box<dyn GpuFuture + Send + Sync>. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.