Realm

vk · Structs · S15

16 public declarations with native signatures and source-owned contracts.

StRustExperimental

Stvk::StreamDescriptorSurfaceCreateInfoGGP

pub struct StreamDescriptorSurfaceCreateInfoGGP<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: StreamDescriptorSurfaceCreateFlagsGGP, pub stream_descriptor: GgpStreamDescriptor, /* private fields */ }
Native structure VkStreamDescriptorSurfaceCreateInfoGGP.

Contract

Native structure VkStreamDescriptorSurfaceCreateInfoGGP.

Khronos reference: VkStreamDescriptorSurfaceCreateInfoGGP

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: StreamDescriptorSurfaceCreateFlagsGGP

Native field flags.

stream_descriptor

Field
stream_descriptor: GgpStreamDescriptor

Native field streamDescriptor.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_flags

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

Set native field flags without native effects.

set_stream_descriptor

Method
pub fn set_stream_descriptor(self, value: GgpStreamDescriptor) -> Self

Set native field streamDescriptor without native effects.

push_next

Method
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.

Stvk::StridedDeviceAddressNV

Contract

Native structure VkStridedDeviceAddressNV.

Khronos reference: VkStridedDeviceAddressNV

Fields

start_address

Field
start_address: DeviceAddress

Native field startAddress.

stride_in_bytes

Field
stride_in_bytes: DeviceSize

Native field strideInBytes.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_start_address

Method
pub fn set_start_address(self, value: DeviceAddress) -> Self

Set native field startAddress without native effects.

set_stride_in_bytes

Method
pub fn set_stride_in_bytes(self, value: DeviceSize) -> Self

Set native field strideInBytes without native effects.

clone

Method
fn clone(&self) -> StridedDeviceAddressNV
Returns a duplicate of the value. Read more

Stvk::StridedDeviceAddressRangeKHR

Contract

Native structure VkStridedDeviceAddressRangeKHR.

Khronos reference: VkStridedDeviceAddressRangeKHR

Fields

address

Field
address: DeviceAddress

Native field address.

size

Field
size: DeviceSize

Native field size.

stride

Field
stride: DeviceSize

Native field stride.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_address

Method
pub fn set_address(self, value: DeviceAddress) -> Self

Set native field address without native effects.

set_size

Method
pub fn set_size(self, value: DeviceSize) -> Self

Set native field size without native effects.

set_stride

Method
pub fn set_stride(self, value: DeviceSize) -> Self

Set native field stride without native effects.

clone

Method
fn clone(&self) -> StridedDeviceAddressRangeKHR
Returns a duplicate of the value. Read more

Stvk::StridedDeviceAddressRegionKHR

#[repr(C)]pub struct StridedDeviceAddressRegionKHR { pub device_address: DeviceAddress, pub stride: DeviceSize, pub size: DeviceSize, }
Native structure VkStridedDeviceAddressRegionKHR.

Contract

Native structure VkStridedDeviceAddressRegionKHR.

Khronos reference: VkStridedDeviceAddressRegionKHR

Fields

device_address

Field
device_address: DeviceAddress

Native field deviceAddress.

stride

Field
stride: DeviceSize

Native field stride.

size

Field
size: DeviceSize

Native field size.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_device_address

Method
pub fn set_device_address(self, value: DeviceAddress) -> Self

Set native field deviceAddress without native effects.

set_stride

Method
pub fn set_stride(self, value: DeviceSize) -> Self

Set native field stride without native effects.

set_size

Method
pub fn set_size(self, value: DeviceSize) -> Self

Set native field size without native effects.

clone

Method
fn clone(&self) -> StridedDeviceAddressRegionKHR
Returns a duplicate of the value. Read more

Stvk::SubgroupFeatureFlagBits

Contract

Open integer representation of VkSubgroupFeatureFlagBits.

Khronos reference: VkSubgroupFeatureFlagBits

Fields

0

Field
0: u32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: u32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> u32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

Output

Method
type Output = SubgroupFeatureFlagBits
The resulting type after applying the & operator.

Output-1

Method
type Output = SubgroupFeatureFlagBits
The resulting type after applying the | operator.

Output-2

Method
type Output = SubgroupFeatureFlagBits
The resulting type after applying the ^ operator.

clone

Method
fn clone(&self) -> SubgroupFeatureFlagBits
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> SubgroupFeatureFlagBits
Returns the “default value” for a type. Read more

Output-3

Method
type Output = SubgroupFeatureFlagBits
The resulting type after applying the ! operator.

eq

Method
fn eq(&self, other: &SubgroupFeatureFlagBits) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::SubmitFlagBits

Contract

Open integer representation of VkSubmitFlagBits.

Khronos reference: VkSubmitFlagBits

Fields

0

Field
0: u32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: u32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> u32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

Output

Method
type Output = SubmitFlagBits
The resulting type after applying the & operator.

Output-1

Method
type Output = SubmitFlagBits
The resulting type after applying the | operator.

Output-2

Method
type Output = SubmitFlagBits
The resulting type after applying the ^ operator.

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> SubmitFlagBits
Returns the “default value” for a type. Read more

Output-3

Method
type Output = SubmitFlagBits
The resulting type after applying the ! operator.

eq

Method
fn eq(&self, other: &SubmitFlagBits) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::SubmitInfo

pub struct SubmitInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub wait_semaphore_count: u32, pub p_wait_semaphores: *const Semaphore, pub p_wait_dst_stage_mask: *const PipelineStageFlags, pub command_buffer_count: u32, pub p_command_buffers: *const CommandBuffer, pub signal_semaphore_count: u32, pub p_signal_semaphores: *const Semaphore, /* private fields */ }
Native structure VkSubmitInfo.

Contract

Native structure VkSubmitInfo.

Khronos reference: VkSubmitInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

wait_semaphore_count

Field
wait_semaphore_count: u32

Native field waitSemaphoreCount.

p_wait_semaphores

Field
p_wait_semaphores: *const Semaphore

Native field pWaitSemaphores.

p_wait_dst_stage_mask

Field
p_wait_dst_stage_mask: *const PipelineStageFlags

Native field pWaitDstStageMask.

command_buffer_count

Field
command_buffer_count: u32

Native field commandBufferCount.

p_command_buffers

Field
p_command_buffers: *const CommandBuffer

Native field pCommandBuffers.

signal_semaphore_count

Field
signal_semaphore_count: u32

Native field signalSemaphoreCount.

p_signal_semaphores

Field
p_signal_semaphores: *const Semaphore

Native field pSignalSemaphores.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_wait_semaphore_count

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

Set native count waitSemaphoreCount 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_wait_semaphores

Method
pub fn set_wait_semaphores( self, wait_semaphores: &'a [Semaphore], wait_dst_stage_mask: &'a [PipelineStageFlags], ) -> Result<Self, ConstructionError>

Borrow parallel arrays sharing native waitSemaphoreCount. 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.

set_command_buffer_count

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

Set native count commandBufferCount 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_command_buffers

Method
pub fn set_command_buffers( self, value: &'a [CommandBuffer], ) -> Result<Self, ConstructionError>

Borrow pCommandBuffers and set checked native count commandBufferCount. 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_signal_semaphore_count

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

Set native count signalSemaphoreCount 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_signal_semaphores

Method
pub fn set_signal_semaphores( self, value: &'a [Semaphore], ) -> Result<Self, ConstructionError>

Borrow pSignalSemaphores and set checked native count signalSemaphoreCount. 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

Method
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.

Stvk::SubmitInfo2

pub struct SubmitInfo2<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: SubmitFlags, pub wait_semaphore_info_count: u32, pub p_wait_semaphore_infos: *const SemaphoreSubmitInfo<'a>, pub command_buffer_info_count: u32, pub p_command_buffer_infos: *const CommandBufferSubmitInfo<'a>, pub signal_semaphore_info_count: u32, pub p_signal_semaphore_infos: *const SemaphoreSubmitInfo<'a>, /* private fields */ }
Native structure VkSubmitInfo2.

Contract

Native structure VkSubmitInfo2.

Khronos reference: VkSubmitInfo2

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: SubmitFlags

Native field flags.

wait_semaphore_info_count

Field
wait_semaphore_info_count: u32

Native field waitSemaphoreInfoCount.

p_wait_semaphore_infos

Field
p_wait_semaphore_infos: *const SemaphoreSubmitInfo<'a>

Native field pWaitSemaphoreInfos.

command_buffer_info_count

Field
command_buffer_info_count: u32

Native field commandBufferInfoCount.

p_command_buffer_infos

Field
p_command_buffer_infos: *const CommandBufferSubmitInfo<'a>

Native field pCommandBufferInfos.

signal_semaphore_info_count

Field
signal_semaphore_info_count: u32

Native field signalSemaphoreInfoCount.

p_signal_semaphore_infos

Field
p_signal_semaphore_infos: *const SemaphoreSubmitInfo<'a>

Native field pSignalSemaphoreInfos.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_flags

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

Set native field flags without native effects.

set_wait_semaphore_info_count

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

Set native count waitSemaphoreInfoCount 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_wait_semaphore_infos

Method
pub fn set_wait_semaphore_infos( self, value: &'a [SemaphoreSubmitInfo<'a>], ) -> Result<Self, ConstructionError>

Borrow pWaitSemaphoreInfos and set checked native count waitSemaphoreInfoCount. 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_command_buffer_info_count

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

Set native count commandBufferInfoCount 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_command_buffer_infos

Method
pub fn set_command_buffer_infos( self, value: &'a [CommandBufferSubmitInfo<'a>], ) -> Result<Self, ConstructionError>

Borrow pCommandBufferInfos and set checked native count commandBufferInfoCount. 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_signal_semaphore_info_count

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

Set native count signalSemaphoreInfoCount 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_signal_semaphore_infos

Method
pub fn set_signal_semaphore_infos( self, value: &'a [SemaphoreSubmitInfo<'a>], ) -> Result<Self, ConstructionError>

Borrow pSignalSemaphoreInfos and set checked native count signalSemaphoreInfoCount. 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

Method
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.

Stvk::SubpassBeginInfo

Contract

Native structure VkSubpassBeginInfo.

Khronos reference: VkSubpassBeginInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

contents

Field
contents: SubpassContents

Native field contents.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_contents

Method
pub fn set_contents(self, value: SubpassContents) -> Self

Set native field contents without native effects.

push_next

Method
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.

Stvk::SubpassContents

Contract

Open integer representation of VkSubpassContents.

Khronos reference: VkSubpassContents

Fields

0

Field
0: i32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: i32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> i32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> SubpassContents
Returns the “default value” for a type. Read more

eq

Method
fn eq(&self, other: &SubpassContents) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::SubpassDependency

#[repr(C)]pub struct SubpassDependency { pub src_subpass: u32, pub dst_subpass: u32, pub src_stage_mask: PipelineStageFlags, pub dst_stage_mask: PipelineStageFlags, pub src_access_mask: AccessFlags, pub dst_access_mask: AccessFlags, pub dependency_flags: DependencyFlags, }
Native structure VkSubpassDependency.

Contract

Native structure VkSubpassDependency.

Khronos reference: VkSubpassDependency

Fields

src_subpass

Field
src_subpass: u32

Native field srcSubpass.

dst_subpass

Field
dst_subpass: u32

Native field dstSubpass.

src_stage_mask

Field
src_stage_mask: PipelineStageFlags

Native field srcStageMask.

dst_stage_mask

Field
dst_stage_mask: PipelineStageFlags

Native field dstStageMask.

src_access_mask

Field
src_access_mask: AccessFlags

Native field srcAccessMask.

dst_access_mask

Field
dst_access_mask: AccessFlags

Native field dstAccessMask.

dependency_flags

Field
dependency_flags: DependencyFlags

Native field dependencyFlags.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_src_subpass

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

Set native field srcSubpass without native effects.

set_dst_subpass

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

Set native field dstSubpass without native effects.

set_src_stage_mask

Method
pub fn set_src_stage_mask(self, value: PipelineStageFlags) -> Self

Set native field srcStageMask without native effects.

set_dst_stage_mask

Method
pub fn set_dst_stage_mask(self, value: PipelineStageFlags) -> Self

Set native field dstStageMask without native effects.

set_src_access_mask

Method
pub fn set_src_access_mask(self, value: AccessFlags) -> Self

Set native field srcAccessMask without native effects.

set_dst_access_mask

Method
pub fn set_dst_access_mask(self, value: AccessFlags) -> Self

Set native field dstAccessMask without native effects.

set_dependency_flags

Method
pub fn set_dependency_flags(self, value: DependencyFlags) -> Self

Set native field dependencyFlags without native effects.

Stvk::SubpassDependency2

pub struct SubpassDependency2<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub src_subpass: u32, pub dst_subpass: u32, pub src_stage_mask: PipelineStageFlags, pub dst_stage_mask: PipelineStageFlags, pub src_access_mask: AccessFlags, pub dst_access_mask: AccessFlags, pub dependency_flags: DependencyFlags, pub view_offset: i32, /* private fields */ }
Native structure VkSubpassDependency2.

Contract

Native structure VkSubpassDependency2.

Khronos reference: VkSubpassDependency2

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

src_subpass

Field
src_subpass: u32

Native field srcSubpass.

dst_subpass

Field
dst_subpass: u32

Native field dstSubpass.

src_stage_mask

Field
src_stage_mask: PipelineStageFlags

Native field srcStageMask.

dst_stage_mask

Field
dst_stage_mask: PipelineStageFlags

Native field dstStageMask.

src_access_mask

Field
src_access_mask: AccessFlags

Native field srcAccessMask.

dst_access_mask

Field
dst_access_mask: AccessFlags

Native field dstAccessMask.

dependency_flags

Field
dependency_flags: DependencyFlags

Native field dependencyFlags.

view_offset

Field
view_offset: i32

Native field viewOffset.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_src_subpass

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

Set native field srcSubpass without native effects.

set_dst_subpass

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

Set native field dstSubpass without native effects.

set_src_stage_mask

Method
pub fn set_src_stage_mask(self, value: PipelineStageFlags) -> Self

Set native field srcStageMask without native effects.

set_dst_stage_mask

Method
pub fn set_dst_stage_mask(self, value: PipelineStageFlags) -> Self

Set native field dstStageMask without native effects.

set_src_access_mask

Method
pub fn set_src_access_mask(self, value: AccessFlags) -> Self

Set native field srcAccessMask without native effects.

set_dst_access_mask

Method
pub fn set_dst_access_mask(self, value: AccessFlags) -> Self

Set native field dstAccessMask without native effects.

set_dependency_flags

Method
pub fn set_dependency_flags(self, value: DependencyFlags) -> Self

Set native field dependencyFlags without native effects.

set_view_offset

Method
pub fn set_view_offset(self, value: i32) -> Self

Set native field viewOffset without native effects.

push_next

Method
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.

Stvk::SubpassDescription

pub struct SubpassDescription<'a> { pub flags: SubpassDescriptionFlags, pub pipeline_bind_point: PipelineBindPoint, pub input_attachment_count: u32, pub p_input_attachments: *const AttachmentReference, pub color_attachment_count: u32, pub p_color_attachments: *const AttachmentReference, pub p_resolve_attachments: *const AttachmentReference, pub p_depth_stencil_attachment: *const AttachmentReference, pub preserve_attachment_count: u32, pub p_preserve_attachments: *const u32, /* private fields */ }
Native structure VkSubpassDescription.

Contract

Native structure VkSubpassDescription.

Khronos reference: VkSubpassDescription

Fields

flags

Field
flags: SubpassDescriptionFlags

Native field flags.

pipeline_bind_point

Field
pipeline_bind_point: PipelineBindPoint

Native field pipelineBindPoint.

input_attachment_count

Field
input_attachment_count: u32

Native field inputAttachmentCount.

p_input_attachments

Field
p_input_attachments: *const AttachmentReference

Native field pInputAttachments.

color_attachment_count

Field
color_attachment_count: u32

Native field colorAttachmentCount.

p_color_attachments

Field
p_color_attachments: *const AttachmentReference

Native field pColorAttachments.

p_resolve_attachments

Field
p_resolve_attachments: *const AttachmentReference

Native field pResolveAttachments.

p_depth_stencil_attachment

Field
p_depth_stencil_attachment: *const AttachmentReference

Native field pDepthStencilAttachment.

preserve_attachment_count

Field
preserve_attachment_count: u32

Native field preserveAttachmentCount.

p_preserve_attachments

Field
p_preserve_attachments: *const u32

Native field pPreserveAttachments.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_flags

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

Set native field flags without native effects.

set_pipeline_bind_point

Method
pub fn set_pipeline_bind_point(self, value: PipelineBindPoint) -> Self

Set native field pipelineBindPoint without native effects.

set_input_attachment_count

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

Set native count inputAttachmentCount 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_input_attachments

Method
pub fn set_input_attachments( self, value: &'a [AttachmentReference], ) -> Result<Self, ConstructionError>

Borrow pInputAttachments and set checked native count inputAttachmentCount. 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_color_attachment_count

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

Set native count colorAttachmentCount 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_color_attachments

Method
pub fn set_color_attachments( self, color_attachments: &'a [AttachmentReference], resolve_attachments: Option<&'a [AttachmentReference]>, ) -> Result<Self, ConstructionError>

Borrow parallel arrays sharing native colorAttachmentCount. 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.

set_depth_stencil_attachment

Method
pub fn set_depth_stencil_attachment( self, value: &'a AttachmentReference, ) -> Self

Set native field pDepthStencilAttachment without native effects.

set_preserve_attachment_count

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

Set native count preserveAttachmentCount 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_preserve_attachments

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

Borrow pPreserveAttachments and set checked native count preserveAttachmentCount. 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.

clone

Method
fn clone(&self) -> SubpassDescription<'a>
Returns a duplicate of the value. Read more

Stvk::SubpassDescription2

pub struct SubpassDescription2<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: SubpassDescriptionFlags, pub pipeline_bind_point: PipelineBindPoint, pub view_mask: u32, pub input_attachment_count: u32, pub p_input_attachments: *const AttachmentReference2<'a>, pub color_attachment_count: u32, pub p_color_attachments: *const AttachmentReference2<'a>, pub p_resolve_attachments: *const AttachmentReference2<'a>, pub p_depth_stencil_attachment: *const AttachmentReference2<'a>, pub preserve_attachment_count: u32, pub p_preserve_attachments: *const u32, /* private fields */ }
Native structure VkSubpassDescription2.

Contract

Native structure VkSubpassDescription2.

Khronos reference: VkSubpassDescription2

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: SubpassDescriptionFlags

Native field flags.

pipeline_bind_point

Field
pipeline_bind_point: PipelineBindPoint

Native field pipelineBindPoint.

view_mask

Field
view_mask: u32

Native field viewMask.

input_attachment_count

Field
input_attachment_count: u32

Native field inputAttachmentCount.

p_input_attachments

Field
p_input_attachments: *const AttachmentReference2<'a>

Native field pInputAttachments.

color_attachment_count

Field
color_attachment_count: u32

Native field colorAttachmentCount.

p_color_attachments

Field
p_color_attachments: *const AttachmentReference2<'a>

Native field pColorAttachments.

p_resolve_attachments

Field
p_resolve_attachments: *const AttachmentReference2<'a>

Native field pResolveAttachments.

p_depth_stencil_attachment

Field
p_depth_stencil_attachment: *const AttachmentReference2<'a>

Native field pDepthStencilAttachment.

preserve_attachment_count

Field
preserve_attachment_count: u32

Native field preserveAttachmentCount.

p_preserve_attachments

Field
p_preserve_attachments: *const u32

Native field pPreserveAttachments.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_flags

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

Set native field flags without native effects.

set_pipeline_bind_point

Method
pub fn set_pipeline_bind_point(self, value: PipelineBindPoint) -> Self

Set native field pipelineBindPoint without native effects.

set_view_mask

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

Set native field viewMask without native effects.

set_input_attachment_count

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

Set native count inputAttachmentCount 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_input_attachments

Method
pub fn set_input_attachments( self, value: &'a [AttachmentReference2<'a>], ) -> Result<Self, ConstructionError>

Borrow pInputAttachments and set checked native count inputAttachmentCount. 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_color_attachment_count

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

Set native count colorAttachmentCount 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_color_attachments

Method
pub fn set_color_attachments( self, color_attachments: &'a [AttachmentReference2<'a>], resolve_attachments: Option<&'a [AttachmentReference2<'a>]>, ) -> Result<Self, ConstructionError>

Borrow parallel arrays sharing native colorAttachmentCount. 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.

set_depth_stencil_attachment

Method
pub fn set_depth_stencil_attachment( self, value: &'a AttachmentReference2<'a>, ) -> Self

Set native field pDepthStencilAttachment without native effects.

set_preserve_attachment_count

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

Set native count preserveAttachmentCount 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_preserve_attachments

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

Borrow pPreserveAttachments and set checked native count preserveAttachmentCount. 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

Method
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.

Stvk::SubpassDescriptionDepthStencilResolve

pub struct SubpassDescriptionDepthStencilResolve<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub depth_resolve_mode: ResolveModeFlagBits, pub stencil_resolve_mode: ResolveModeFlagBits, pub p_depth_stencil_resolve_attachment: *const AttachmentReference2<'a>, /* private fields */ }
Native structure VkSubpassDescriptionDepthStencilResolve.

Contract

Native structure VkSubpassDescriptionDepthStencilResolve.

Khronos reference: VkSubpassDescriptionDepthStencilResolve

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

depth_resolve_mode

Field
depth_resolve_mode: ResolveModeFlagBits

Native field depthResolveMode.

stencil_resolve_mode

Field
stencil_resolve_mode: ResolveModeFlagBits

Native field stencilResolveMode.

p_depth_stencil_resolve_attachment

Field
p_depth_stencil_resolve_attachment: *const AttachmentReference2<'a>

Native field pDepthStencilResolveAttachment.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_depth_resolve_mode

Method
pub fn set_depth_resolve_mode(self, value: ResolveModeFlagBits) -> Self

Set native field depthResolveMode without native effects.

set_stencil_resolve_mode

Method
pub fn set_stencil_resolve_mode(self, value: ResolveModeFlagBits) -> Self

Set native field stencilResolveMode without native effects.

set_depth_stencil_resolve_attachment

Method
pub fn set_depth_stencil_resolve_attachment( self, value: &'a AttachmentReference2<'a>, ) -> Self

Set native field pDepthStencilResolveAttachment without native effects.

push_next

Method
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.

Stvk::SubpassDescriptionFlagBits

Contract

Open integer representation of VkSubpassDescriptionFlagBits.

Khronos reference: VkSubpassDescriptionFlagBits

Fields

0

Field
0: u32
No public source comment is attached to this declaration.

Methods and associated items

from_raw

Method
pub const fn from_raw(value: u32) -> Self
No public source comment is attached to this declaration.

as_raw

Method
pub const fn as_raw(self) -> u32
No public source comment is attached to this declaration.

empty

Method
pub const fn empty() -> Self
No public source comment is attached to this declaration.

Output

Method
type Output = SubpassDescriptionFlagBits
The resulting type after applying the & operator.

Output-1

Method
type Output = SubpassDescriptionFlagBits
The resulting type after applying the | operator.

Output-2

Method
type Output = SubpassDescriptionFlagBits
The resulting type after applying the ^ operator.

clone

Method
fn clone(&self) -> SubpassDescriptionFlagBits
Returns a duplicate of the value. Read more

fmt

Method
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Formats the value using the given formatter. Read more

default

Method
fn default() -> SubpassDescriptionFlagBits
Returns the “default value” for a type. Read more

Output-3

Method
type Output = SubpassDescriptionFlagBits
The resulting type after applying the ! operator.

eq

Method
fn eq(&self, other: &SubpassDescriptionFlagBits) -> bool
Tests for self and other values to be equal, and is used by ==.