vk · Structs · S18
14 public declarations with native signatures and source-owned contracts.
Stvk::SwapchainCreateInfoKHR
pub struct SwapchainCreateInfoKHR<'a> {
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 */
}Contract
Native structure VkSwapchainCreateInfoKHR.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
flags
flags: SwapchainCreateFlagsKHRNative field flags.
surface
surface: SurfaceKHRNative field surface.
min_image_count
min_image_count: u32Native field minImageCount.
image_format
image_format: FormatNative field imageFormat.
image_color_space
image_color_space: ColorSpaceKHRNative field imageColorSpace.
image_extent
image_extent: Extent2DNative field imageExtent.
image_array_layers
image_array_layers: u32Native field imageArrayLayers.
image_usage
image_usage: ImageUsageFlagsNative field imageUsage.
image_sharing_mode
image_sharing_mode: SharingModeNative field imageSharingMode.
queue_family_index_count
queue_family_index_count: u32Native field queueFamilyIndexCount.
p_queue_family_indices
p_queue_family_indices: *const u32Native field pQueueFamilyIndices.
pre_transform
pre_transform: SurfaceTransformFlagBitsKHRNative field preTransform.
composite_alpha
composite_alpha: CompositeAlphaFlagBitsKHRNative field compositeAlpha.
present_mode
present_mode: PresentModeKHRNative field presentMode.
clipped
clipped: Bool32Native field clipped.
old_swapchain
old_swapchain: SwapchainKHRNative field oldSwapchain.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_flags
Set native field flags without native effects.
set_surface
Set native field surface without native effects.
set_min_image_count
Set native field minImageCount without native effects.
set_image_format
Set native field imageFormat without native effects.
set_image_color_space
Set native field imageColorSpace without native effects.
set_image_extent
Set native field imageExtent without native effects.
set_image_array_layers
Set native field imageArrayLayers without native effects.
set_image_usage
Set native field imageUsage without native effects.
set_image_sharing_mode
Set native field imageSharingMode without native effects.
set_queue_family_index_count
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.
set_queue_family_indices
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.
set_pre_transform
Set native field preTransform without native effects.
set_composite_alpha
Set native field compositeAlpha without native effects.
set_present_mode
Set native field presentMode without native effects.
set_clipped
Set native field clipped without native effects.
set_old_swapchain
Set native field oldSwapchain without native effects.
push_next
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.
default
Stvk::SwapchainDisplayNativeHdrCreateInfoAMD
Contract
Native structure VkSwapchainDisplayNativeHdrCreateInfoAMD.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
local_dimming_enable
local_dimming_enable: Bool32Native field localDimmingEnable.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_local_dimming_enable
Set native field localDimmingEnable without native effects.
push_next
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.
default
Stvk::SwapchainFlagsSurfaceCapabilitiesEXT
Contract
Native structure VkSwapchainFlagsSurfaceCapabilitiesEXT.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *mut c_voidNative field pNext.
swapchain_supported_flags
swapchain_supported_flags: SwapchainCreateFlagsKHRNative field swapchainSupportedFlags.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_swapchain_supported_flags
Set native field swapchainSupportedFlags without native effects.
push_next
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.
default
Stvk::SwapchainKHR
Contract
Raw Vulkan handle VkSwapchainKHR.
Khronos reference: VkSwapchainKHR
Calls using this identity must satisfy Vulkan lifetime and synchronization rules.
Fields
0
0: u64Methods and associated items
NULL
is_null
from_raw
as_raw
clone
fmt
default
hash
eq
self and other values to be equal, and is used by ==.Stvk::SwapchainLatencyCreateInfoNV
Contract
Native structure VkSwapchainLatencyCreateInfoNV.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
latency_mode_enable
latency_mode_enable: Bool32Native field latencyModeEnable.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_latency_mode_enable
Set native field latencyModeEnable without native effects.
push_next
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.
default
Stvk::SwapchainPresentBarrierCreateInfoNV
Contract
Native structure VkSwapchainPresentBarrierCreateInfoNV.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *mut c_voidNative field pNext.
present_barrier_enable
present_barrier_enable: Bool32Native field presentBarrierEnable.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_present_barrier_enable
Set native field presentBarrierEnable without native effects.
push_next
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.
default
Stvk::SwapchainPresentFenceInfoKHR
Contract
Native structure VkSwapchainPresentFenceInfoKHR.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
swapchain_count
swapchain_count: u32Native field swapchainCount.
p_fences
p_fences: *const FenceNative field pFences.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_swapchain_count
Set native count swapchainCount 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.
set_fences
Borrow pFences and set checked native count swapchainCount.
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.
push_next
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.
default
Stvk::SwapchainPresentModeInfoKHR
Contract
Native structure VkSwapchainPresentModeInfoKHR.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
swapchain_count
swapchain_count: u32Native field swapchainCount.
p_present_modes
p_present_modes: *const PresentModeKHRNative field pPresentModes.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_swapchain_count
Set native count swapchainCount 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.
set_present_modes
Borrow pPresentModes and set checked native count swapchainCount.
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.
push_next
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.
default
Stvk::SwapchainPresentModesCreateInfoKHR
Contract
Native structure VkSwapchainPresentModesCreateInfoKHR.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
present_mode_count
present_mode_count: u32Native field presentModeCount.
p_present_modes
p_present_modes: *const PresentModeKHRNative field pPresentModes.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_present_mode_count
Set native count presentModeCount 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.
set_present_modes
Borrow pPresentModes and set checked native count presentModeCount.
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.
push_next
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.
default
Stvk::SwapchainPresentScalingCreateInfoKHR
Contract
Native structure VkSwapchainPresentScalingCreateInfoKHR.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
scaling_behavior
scaling_behavior: PresentScalingFlagsKHRNative field scalingBehavior.
present_gravity_x
present_gravity_x: PresentGravityFlagsKHRNative field presentGravityX.
present_gravity_y
present_gravity_y: PresentGravityFlagsKHRNative field presentGravityY.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_scaling_behavior
Set native field scalingBehavior without native effects.
set_present_gravity_x
Set native field presentGravityX without native effects.
set_present_gravity_y
Set native field presentGravityY without native effects.
push_next
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.
default
Stvk::SwapchainTimeDomainPropertiesEXT
Contract
Native structure VkSwapchainTimeDomainPropertiesEXT.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *mut c_voidNative field pNext.
time_domain_count
time_domain_count: u32Native field timeDomainCount.
p_time_domains
p_time_domains: *mut TimeDomainKHRNative field pTimeDomains.
p_time_domain_ids
p_time_domain_ids: *mut u64Native field pTimeDomainIds.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_time_domain_count
Set native count timeDomainCount 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.
set_time_domains
Borrow parallel arrays sharing native timeDomainCount. Optional arrays may be null.
Mutable arrays retain exclusive borrows of initialized output storage.
This checks lengths only; native valid usage and later raw edits remain caller obligations.
Errors
Returns a construction error for unequal lengths or native count overflow.
push_next
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.
default
Stvk::SwapchainTimingPropertiesEXT
Contract
Native structure VkSwapchainTimingPropertiesEXT.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *mut c_voidNative field pNext.
refresh_duration
refresh_duration: u64Native field refreshDuration.
refresh_interval
refresh_interval: u64Native field refreshInterval.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_refresh_duration
Set native field refreshDuration without native effects.
set_refresh_interval
Set native field refreshInterval without native effects.
push_next
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.
default
Stvk::SysmemColorSpaceFUCHSIA
Contract
Native structure VkSysmemColorSpaceFUCHSIA.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
color_space
color_space: u32Native field colorSpace.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_color_space
Set native field colorSpace without native effects.
push_next
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.
default
Stvk::SystemAllocationScope
Contract
Open integer representation of VkSystemAllocationScope.
Fields
0
0: i32Methods and associated items
COMMAND
Native value VK_SYSTEM_ALLOCATION_SCOPE_COMMAND.
OBJECT
Native value VK_SYSTEM_ALLOCATION_SCOPE_OBJECT.
CACHE
Native value VK_SYSTEM_ALLOCATION_SCOPE_CACHE.
DEVICE
Native value VK_SYSTEM_ALLOCATION_SCOPE_DEVICE.
INSTANCE
Native value VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE.
from_raw
as_raw
empty
clone
fmt
default
hash
eq
self and other values to be equal, and is used by ==.