Skip to main content

SwapchainCreateInfoKHR

Struct SwapchainCreateInfoKHR 

Source
pub struct SwapchainCreateInfoKHR<'a> {
Show 18 fields pub s_type: StructureType, pub p_next: *const c_void, pub flags: SwapchainCreateFlagsKHR, pub surface: SurfaceKHR, pub min_image_count: u32, pub image_format: Format, pub image_color_space: ColorSpaceKHR, pub image_extent: Extent2D, pub image_array_layers: u32, pub image_usage: ImageUsageFlags, pub image_sharing_mode: SharingMode, pub queue_family_index_count: u32, pub p_queue_family_indices: *const u32, pub pre_transform: SurfaceTransformFlagBitsKHR, pub composite_alpha: CompositeAlphaFlagBitsKHR, pub present_mode: PresentModeKHR, pub clipped: Bool32, pub old_swapchain: SwapchainKHR, /* private fields */
}
Expand description

Native structure VkSwapchainCreateInfoKHR.

Khronos reference: VkSwapchainCreateInfoKHR

Fields§

§s_type: StructureType

Native field sType.

§p_next: *const c_void

Native field pNext.

§flags: SwapchainCreateFlagsKHR

Native field flags.

§surface: SurfaceKHR

Native field surface.

§min_image_count: u32

Native field minImageCount.

§image_format: Format

Native field imageFormat.

§image_color_space: ColorSpaceKHR

Native field imageColorSpace.

§image_extent: Extent2D

Native field imageExtent.

§image_array_layers: u32

Native field imageArrayLayers.

§image_usage: ImageUsageFlags

Native field imageUsage.

§image_sharing_mode: SharingMode

Native field imageSharingMode.

§queue_family_index_count: u32

Native field queueFamilyIndexCount.

§p_queue_family_indices: *const u32

Native field pQueueFamilyIndices.

§pre_transform: SurfaceTransformFlagBitsKHR

Native field preTransform.

§composite_alpha: CompositeAlphaFlagBitsKHR

Native field compositeAlpha.

§present_mode: PresentModeKHR

Native field presentMode.

§clipped: Bool32

Native field clipped.

§old_swapchain: SwapchainKHR

Native field oldSwapchain.

Implementations§

Source§

impl<'a> SwapchainCreateInfoKHR<'a>

Source

pub fn new() -> Self

Construct the record with its canonical sType tag and default native state.

Source

pub fn set_flags(self, value: SwapchainCreateFlagsKHR) -> Self

Set native field flags without native effects.

Source

pub fn set_surface(self, value: SurfaceKHR) -> Self

Set native field surface without native effects.

Source

pub fn set_min_image_count(self, value: u32) -> Self

Set native field minImageCount without native effects.

Source

pub fn set_image_format(self, value: Format) -> Self

Set native field imageFormat without native effects.

Source

pub fn set_image_color_space(self, value: ColorSpaceKHR) -> Self

Set native field imageColorSpace without native effects.

Source

pub fn set_image_extent(self, value: Extent2D) -> Self

Set native field imageExtent without native effects.

Source

pub fn set_image_array_layers(self, value: u32) -> Self

Set native field imageArrayLayers without native effects.

Source

pub fn set_image_usage(self, value: ImageUsageFlags) -> Self

Set native field imageUsage without native effects.

Source

pub fn set_image_sharing_mode(self, value: SharingMode) -> Self

Set native field imageSharingMode without native effects.

Source

pub fn set_queue_family_index_count(self, value: u32) -> Self

Set native count queueFamilyIndexCount directly without checking associated pointer extents. Use the borrowed array helpers to derive matching storage and counts together. Direct count edits support null-query/dynamic-state paths and remain a native-call validity obligation, including after earlier borrowed setters.

Source

pub fn set_queue_family_indices( self, value: &'a [u32], ) -> Result<Self, ConstructionError>

Borrow pQueueFamilyIndices and set checked native count queueFamilyIndexCount. The borrow covers this storage only; nested raw pointers, format, alignment and asynchronous retention remain native-call obligations. Output storage must be initialized; returned sizes do not enlarge its capacity.

§Errors

Returns a construction error if the length exceeds the native count width.

Source

pub fn set_pre_transform(self, value: SurfaceTransformFlagBitsKHR) -> Self

Set native field preTransform without native effects.

Source

pub fn set_composite_alpha(self, value: CompositeAlphaFlagBitsKHR) -> Self

Set native field compositeAlpha without native effects.

Source

pub fn set_present_mode(self, value: PresentModeKHR) -> Self

Set native field presentMode without native effects.

Source

pub fn set_clipped(self, value: Bool32) -> Self

Set native field clipped without native effects.

Source

pub fn set_old_swapchain(self, value: SwapchainKHR) -> Self

Set native field oldSwapchain without native effects.

Source

pub fn push_next<T: Extends<Self>>( self, next: &'a mut T, ) -> Result<Self, ConstructionError>

Prepend one registry-compatible node, retaining its exclusive borrow.

The node must have a null p_next and both headers must have canonical tags. Existing links are never traversed and remain written after the borrow ends. Type compatibility does not establish enabled extensions or Vulkan valid usage.

§Errors

Returns a construction error for a changed structure tag or already-linked node.

Trait Implementations§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.