Realm

vk · Structs · P38

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

StRustExperimental

Stvk::PresentTimingsInfoEXT

pub struct PresentTimingsInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub swapchain_count: u32, pub p_timing_infos: *const PresentTimingInfoEXT<'a>, /* private fields */ }
Native structure VkPresentTimingsInfoEXT.

Contract

Native structure VkPresentTimingsInfoEXT.

Khronos reference: VkPresentTimingsInfoEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

swapchain_count

Field
swapchain_count: u32

Native field swapchainCount.

p_timing_infos

Field
p_timing_infos: *const PresentTimingInfoEXT<'a>

Native field pTimingInfos.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_swapchain_count

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

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_timing_infos

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

Borrow pTimingInfos 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

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::PresentTimingSurfaceCapabilitiesEXT

pub struct PresentTimingSurfaceCapabilitiesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub present_timing_supported: Bool32, pub present_at_absolute_time_supported: Bool32, pub present_at_relative_time_supported: Bool32, pub present_stage_queries: PresentStageFlagsEXT, /* private fields */ }
Native structure VkPresentTimingSurfaceCapabilitiesEXT.

Contract

Native structure VkPresentTimingSurfaceCapabilitiesEXT.

Khronos reference: VkPresentTimingSurfaceCapabilitiesEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

present_timing_supported

Field
present_timing_supported: Bool32

Native field presentTimingSupported.

present_at_absolute_time_supported

Field
present_at_absolute_time_supported: Bool32

Native field presentAtAbsoluteTimeSupported.

present_at_relative_time_supported

Field
present_at_relative_time_supported: Bool32

Native field presentAtRelativeTimeSupported.

present_stage_queries

Field
present_stage_queries: PresentStageFlagsEXT

Native field presentStageQueries.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_present_timing_supported

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

Set native field presentTimingSupported without native effects.

set_present_at_absolute_time_supported

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

Set native field presentAtAbsoluteTimeSupported without native effects.

set_present_at_relative_time_supported

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

Set native field presentAtRelativeTimeSupported without native effects.

set_present_stage_queries

Method
pub fn set_present_stage_queries(self, value: PresentStageFlagsEXT) -> Self

Set native field presentStageQueries 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::PresentWait2InfoKHR

pub struct PresentWait2InfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub present_id: u64, pub timeout: u64, /* private fields */ }
Native structure VkPresentWait2InfoKHR.

Contract

Native structure VkPresentWait2InfoKHR.

Khronos reference: VkPresentWait2InfoKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

present_id

Field
present_id: u64

Native field presentId.

timeout

Field
timeout: u64

Native field timeout.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_present_id

Method
pub fn set_present_id(self, value: u64) -> Self

Set native field presentId without native effects.

set_timeout

Method
pub fn set_timeout(self, value: u64) -> Self

Set native field timeout 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::PrimitiveTopology

Contract

Open integer representation of VkPrimitiveTopology.

Khronos reference: VkPrimitiveTopology

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() -> PrimitiveTopology
Returns the “default value” for a type. Read more

eq

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

Stvk::PrivateDataSlot

Contract

Raw Vulkan handle VkPrivateDataSlot.

Khronos reference: VkPrivateDataSlot Calls using this identity must satisfy Vulkan lifetime and synchronization rules.

Fields

0

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

Methods and associated items

NULL

Method
pub const NULL: Self
No public source comment is attached to this declaration.

is_null

Method
pub fn is_null(self) -> bool
No public source comment is attached to this declaration.

from_raw

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

as_raw

Method
pub fn as_raw(self) -> u64
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

eq

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

Stvk::PrivateDataSlotCreateFlagBits

Contract

Open integer representation of VkPrivateDataSlotCreateFlagBits.

Khronos reference: VkPrivateDataSlotCreateFlagBits

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 = PrivateDataSlotCreateFlagBits
The resulting type after applying the & operator.

Output-1

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

Output-2

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

clone

Method
fn clone(&self) -> PrivateDataSlotCreateFlagBits
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() -> PrivateDataSlotCreateFlagBits
Returns the “default value” for a type. Read more

Output-3

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

eq

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

Stvk::PrivateDataSlotCreateInfo

pub struct PrivateDataSlotCreateInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: PrivateDataSlotCreateFlags, /* private fields */ }
Native structure VkPrivateDataSlotCreateInfo.

Contract

Native structure VkPrivateDataSlotCreateInfo.

Khronos reference: VkPrivateDataSlotCreateInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: PrivateDataSlotCreateFlags

Native field flags.

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: PrivateDataSlotCreateFlags) -> Self

Set native field flags 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::ProtectedSubmitInfo

Contract

Native structure VkProtectedSubmitInfo.

Khronos reference: VkProtectedSubmitInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

protected_submit

Field
protected_submit: Bool32

Native field protectedSubmit.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_protected_submit

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

Set native field protectedSubmit 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::ProvokingVertexModeEXT

Contract

Open integer representation of VkProvokingVertexModeEXT.

Khronos reference: VkProvokingVertexModeEXT

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.

clone

Method
fn clone(&self) -> ProvokingVertexModeEXT
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() -> ProvokingVertexModeEXT
Returns the “default value” for a type. Read more

eq

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

Stvk::PushConstantBankInfoNV

Contract

Native structure VkPushConstantBankInfoNV.

Khronos reference: VkPushConstantBankInfoNV

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

bank

Field
bank: u32

Native field bank.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_bank

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

Set native field bank 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::PushConstantRange

Contract

Native structure VkPushConstantRange.

Khronos reference: VkPushConstantRange

Fields

stage_flags

Field
stage_flags: ShaderStageFlags

Native field stageFlags.

offset

Field
offset: u32

Native field offset.

size

Field
size: u32

Native field size.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_stage_flags

Method
pub fn set_stage_flags(self, value: ShaderStageFlags) -> Self

Set native field stageFlags without native effects.

set_offset

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

Set native field offset without native effects.

set_size

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

Set native field size without native effects.

Stvk::PushConstantsInfo

pub struct PushConstantsInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub layout: PipelineLayout, pub stage_flags: ShaderStageFlags, pub offset: u32, pub size: u32, pub p_values: *const c_void, /* private fields */ }
Native structure VkPushConstantsInfo.

Contract

Native structure VkPushConstantsInfo.

Khronos reference: VkPushConstantsInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

layout

Field
layout: PipelineLayout

Native field layout.

stage_flags

Field
stage_flags: ShaderStageFlags

Native field stageFlags.

offset

Field
offset: u32

Native field offset.

size

Field
size: u32

Native field size.

p_values

Field
p_values: *const c_void

Native field pValues.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_layout

Method
pub fn set_layout(self, value: PipelineLayout) -> Self

Set native field layout without native effects.

set_stage_flags

Method
pub fn set_stage_flags(self, value: ShaderStageFlags) -> Self

Set native field stageFlags without native effects.

set_offset

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

Set native field offset without native effects.

set_size

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

Set native count size 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_values

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

Borrow pValues and set checked native byte size size. 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::PushDataInfoEXT

pub struct PushDataInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub offset: u32, pub data: HostAddressRangeConstEXT<'a>, /* private fields */ }
Native structure VkPushDataInfoEXT.

Contract

Native structure VkPushDataInfoEXT.

Khronos reference: VkPushDataInfoEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

offset

Field
offset: u32

Native field offset.

data

Field
data: HostAddressRangeConstEXT<'a>

Native field data.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_offset

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

Set native field offset without native effects.

set_data

Method
pub fn set_data(self, value: HostAddressRangeConstEXT<'a>) -> Self

Set native field data 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::PushDescriptorSetInfo

pub struct PushDescriptorSetInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub stage_flags: ShaderStageFlags, pub layout: PipelineLayout, pub set: u32, pub descriptor_write_count: u32, pub p_descriptor_writes: *const WriteDescriptorSet<'a>, /* private fields */ }
Native structure VkPushDescriptorSetInfo.

Contract

Native structure VkPushDescriptorSetInfo.

Khronos reference: VkPushDescriptorSetInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

stage_flags

Field
stage_flags: ShaderStageFlags

Native field stageFlags.

layout

Field
layout: PipelineLayout

Native field layout.

set

Field
set: u32

Native field set.

descriptor_write_count

Field
descriptor_write_count: u32

Native field descriptorWriteCount.

p_descriptor_writes

Field
p_descriptor_writes: *const WriteDescriptorSet<'a>

Native field pDescriptorWrites.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_stage_flags

Method
pub fn set_stage_flags(self, value: ShaderStageFlags) -> Self

Set native field stageFlags without native effects.

set_layout

Method
pub fn set_layout(self, value: PipelineLayout) -> Self

Set native field layout without native effects.

set_set

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

Set native field set without native effects.

set_descriptor_write_count

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

Set native count descriptorWriteCount 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_descriptor_writes

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

Borrow pDescriptorWrites and set checked native count descriptorWriteCount. 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::PushDescriptorSetWithTemplateInfo

pub struct PushDescriptorSetWithTemplateInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub descriptor_update_template: DescriptorUpdateTemplate, pub layout: PipelineLayout, pub set: u32, pub p_data: *const c_void, /* private fields */ }
Native structure VkPushDescriptorSetWithTemplateInfo.

Contract

Native structure VkPushDescriptorSetWithTemplateInfo.

Khronos reference: VkPushDescriptorSetWithTemplateInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

descriptor_update_template

Field
descriptor_update_template: DescriptorUpdateTemplate

Native field descriptorUpdateTemplate.

layout

Field
layout: PipelineLayout

Native field layout.

set

Field
set: u32

Native field set.

p_data

Field
p_data: *const c_void

Native field pData.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_descriptor_update_template

Method
pub fn set_descriptor_update_template( self, value: DescriptorUpdateTemplate, ) -> Self

Set native field descriptorUpdateTemplate without native effects.

set_layout

Method
pub fn set_layout(self, value: PipelineLayout) -> Self

Set native field layout without native effects.

set_set

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

Set native field set without native effects.

set_data

Method
pub unsafe fn set_data(self, value: *const c_void) -> Self

Set native pointer pData explicitly. No borrow or extent is inferred.

Safety

The caller must establish pointee validity, extent, alignment, aliasing and the full native retention lifetime before using this record in a native call. Callback, external-object and nested-pointer contracts remain caller obligations.

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.