Struct ash::extensions::khr::Swapchain

source ·
pub struct Swapchain { /* private fields */ }
Expand description

Implementations§

source§

impl Swapchain

source

pub fn new(instance: &Instance, device: &Device) -> Self

§Warning

Instance functions cannot be loaded from a Device and will always panic when called:

Load this struct using an Instance instead via Self::new_from_instance() if the above Instance function is called. This will be solved in the next breaking ash release: https://github.com/ash-rs/ash/issues/727.

source

pub fn new_from_instance( entry: &Entry, instance: &Instance, device: Device, ) -> Self

Loads all functions on the Instance instead of Device. This incurs an extra dispatch table for Device functions but also allows the Instance function to be loaded instead of always panicking. See also Self::new() for more details.

It is okay to pass vk::Device::null() when this struct is only used to call the Instance function.

source

pub unsafe fn create_swapchain( &self, create_info: &SwapchainCreateInfoKHR, allocation_callbacks: Option<&AllocationCallbacks>, ) -> VkResult<SwapchainKHR>

source

pub unsafe fn destroy_swapchain( &self, swapchain: SwapchainKHR, allocation_callbacks: Option<&AllocationCallbacks>, )

source

pub unsafe fn get_swapchain_images( &self, swapchain: SwapchainKHR, ) -> VkResult<Vec<Image>>

source

pub unsafe fn acquire_next_image( &self, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, ) -> VkResult<(u32, bool)>

On success, returns the next image’s index and whether the swapchain is suboptimal for the surface.

https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkAcquireNextImageKHR.html

source

pub unsafe fn queue_present( &self, queue: Queue, present_info: &PresentInfoKHR, ) -> VkResult<bool>

On success, returns whether the swapchain is suboptimal for the surface.

https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkQueuePresentKHR.html

source

pub unsafe fn get_device_group_present_capabilities( &self, device_group_present_capabilities: &mut DeviceGroupPresentCapabilitiesKHR, ) -> VkResult<()>

source

pub unsafe fn get_device_group_surface_present_modes( &self, surface: SurfaceKHR, ) -> VkResult<DeviceGroupPresentModeFlagsKHR>

source

pub unsafe fn get_physical_device_present_rectangles( &self, physical_device: PhysicalDevice, surface: SurfaceKHR, ) -> VkResult<Vec<Rect2D>>

source

pub unsafe fn acquire_next_image2( &self, acquire_info: &AcquireNextImageInfoKHR, ) -> VkResult<(u32, bool)>

On success, returns the next image’s index and whether the swapchain is suboptimal for the surface.

Only available since Vulkan 1.1.

Also available as DeviceGroup::acquire_next_image2() when VK_KHR_swapchain is enabled.

https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkAcquireNextImage2KHR.html

source

pub const fn name() -> &'static CStr

source

pub fn fp(&self) -> &KhrSwapchainFn

source

pub fn device(&self) -> Device

Trait Implementations§

source§

impl Clone for Swapchain

source§

fn clone(&self) -> Swapchain

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. 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<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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 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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where 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 T
where 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.