Realm

vk · Structs · S3

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

StRustExperimental

Stvk::SemaphoreGetFdInfoKHR

pub struct SemaphoreGetFdInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub semaphore: Semaphore, pub handle_type: ExternalSemaphoreHandleTypeFlagBits, /* private fields */ }
Native structure VkSemaphoreGetFdInfoKHR.

Contract

Native structure VkSemaphoreGetFdInfoKHR.

Khronos reference: VkSemaphoreGetFdInfoKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

semaphore

Field
semaphore: Semaphore

Native field semaphore.

handle_type

Field
handle_type: ExternalSemaphoreHandleTypeFlagBits

Native field handleType.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_semaphore

Method
pub fn set_semaphore(self, value: Semaphore) -> Self

Set native field semaphore without native effects.

set_handle_type

Method
pub fn set_handle_type(self, value: ExternalSemaphoreHandleTypeFlagBits) -> Self

Set native field handleType 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::SemaphoreGetWin32HandleInfoKHR

pub struct SemaphoreGetWin32HandleInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub semaphore: Semaphore, pub handle_type: ExternalSemaphoreHandleTypeFlagBits, /* private fields */ }
Native structure VkSemaphoreGetWin32HandleInfoKHR.

Contract

Native structure VkSemaphoreGetWin32HandleInfoKHR.

Khronos reference: VkSemaphoreGetWin32HandleInfoKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

semaphore

Field
semaphore: Semaphore

Native field semaphore.

handle_type

Field
handle_type: ExternalSemaphoreHandleTypeFlagBits

Native field handleType.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_semaphore

Method
pub fn set_semaphore(self, value: Semaphore) -> Self

Set native field semaphore without native effects.

set_handle_type

Method
pub fn set_handle_type(self, value: ExternalSemaphoreHandleTypeFlagBits) -> Self

Set native field handleType 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::SemaphoreGetZirconHandleInfoFUCHSIA

pub struct SemaphoreGetZirconHandleInfoFUCHSIA<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub semaphore: Semaphore, pub handle_type: ExternalSemaphoreHandleTypeFlagBits, /* private fields */ }
Native structure VkSemaphoreGetZirconHandleInfoFUCHSIA.

Contract

Native structure VkSemaphoreGetZirconHandleInfoFUCHSIA.

Khronos reference: VkSemaphoreGetZirconHandleInfoFUCHSIA

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

semaphore

Field
semaphore: Semaphore

Native field semaphore.

handle_type

Field
handle_type: ExternalSemaphoreHandleTypeFlagBits

Native field handleType.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_semaphore

Method
pub fn set_semaphore(self, value: Semaphore) -> Self

Set native field semaphore without native effects.

set_handle_type

Method
pub fn set_handle_type(self, value: ExternalSemaphoreHandleTypeFlagBits) -> Self

Set native field handleType 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::SemaphoreImportFlagBits

Contract

Open integer representation of VkSemaphoreImportFlagBits.

Khronos reference: VkSemaphoreImportFlagBits

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

Output-1

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

Output-2

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

clone

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

Output-3

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

eq

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

Stvk::SemaphoreSignalInfo

pub struct SemaphoreSignalInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub semaphore: Semaphore, pub value: u64, /* private fields */ }
Native structure VkSemaphoreSignalInfo.

Contract

Native structure VkSemaphoreSignalInfo.

Khronos reference: VkSemaphoreSignalInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

semaphore

Field
semaphore: Semaphore

Native field semaphore.

value

Field
value: u64

Native field value.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_semaphore

Method
pub fn set_semaphore(self, value: Semaphore) -> Self

Set native field semaphore without native effects.

set_value

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

Set native field value 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::SemaphoreSubmitInfo

pub struct SemaphoreSubmitInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub semaphore: Semaphore, pub value: u64, pub stage_mask: PipelineStageFlags2, pub device_index: u32, /* private fields */ }
Native structure VkSemaphoreSubmitInfo.

Contract

Native structure VkSemaphoreSubmitInfo.

Khronos reference: VkSemaphoreSubmitInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

semaphore

Field
semaphore: Semaphore

Native field semaphore.

value

Field
value: u64

Native field value.

stage_mask

Field
stage_mask: PipelineStageFlags2

Native field stageMask.

device_index

Field
device_index: u32

Native field deviceIndex.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_semaphore

Method
pub fn set_semaphore(self, value: Semaphore) -> Self

Set native field semaphore without native effects.

set_value

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

Set native field value without native effects.

set_stage_mask

Method
pub fn set_stage_mask(self, value: PipelineStageFlags2) -> Self

Set native field stageMask without native effects.

set_device_index

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

Set native field deviceIndex 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::SemaphoreType

Contract

Open integer representation of VkSemaphoreType.

Khronos reference: VkSemaphoreType

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

eq

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

Stvk::SemaphoreTypeCreateInfo

pub struct SemaphoreTypeCreateInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub semaphore_type: SemaphoreType, pub initial_value: u64, /* private fields */ }
Native structure VkSemaphoreTypeCreateInfo.

Contract

Native structure VkSemaphoreTypeCreateInfo.

Khronos reference: VkSemaphoreTypeCreateInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

semaphore_type

Field
semaphore_type: SemaphoreType

Native field semaphoreType.

initial_value

Field
initial_value: u64

Native field initialValue.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_semaphore_type

Method
pub fn set_semaphore_type(self, value: SemaphoreType) -> Self

Set native field semaphoreType without native effects.

set_initial_value

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

Set native field initialValue 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::SemaphoreWaitFlagBits

Contract

Open integer representation of VkSemaphoreWaitFlagBits.

Khronos reference: VkSemaphoreWaitFlagBits

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

Output-1

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

Output-2

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

clone

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

Output-3

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

eq

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

Stvk::SemaphoreWaitInfo

pub struct SemaphoreWaitInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: SemaphoreWaitFlags, pub semaphore_count: u32, pub p_semaphores: *const Semaphore, pub p_values: *const u64, /* private fields */ }
Native structure VkSemaphoreWaitInfo.

Contract

Native structure VkSemaphoreWaitInfo.

Khronos reference: VkSemaphoreWaitInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: SemaphoreWaitFlags

Native field flags.

semaphore_count

Field
semaphore_count: u32

Native field semaphoreCount.

p_semaphores

Field
p_semaphores: *const Semaphore

Native field pSemaphores.

p_values

Field
p_values: *const u64

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_flags

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

Set native field flags without native effects.

set_semaphore_count

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

Set native count semaphoreCount 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_semaphores

Method
pub fn set_semaphores( self, semaphores: &'a [Semaphore], values: &'a [u64], ) -> Result<Self, ConstructionError>

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

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

pub struct SetDescriptorBufferOffsetsInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub stage_flags: ShaderStageFlags, pub layout: PipelineLayout, pub first_set: u32, pub set_count: u32, pub p_buffer_indices: *const u32, pub p_offsets: *const DeviceSize, /* private fields */ }
Native structure VkSetDescriptorBufferOffsetsInfoEXT.

Contract

Native structure VkSetDescriptorBufferOffsetsInfoEXT.

Khronos reference: VkSetDescriptorBufferOffsetsInfoEXT

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.

first_set

Field
first_set: u32

Native field firstSet.

set_count

Field
set_count: u32

Native field setCount.

p_buffer_indices

Field
p_buffer_indices: *const u32

Native field pBufferIndices.

p_offsets

Field
p_offsets: *const DeviceSize

Native field pOffsets.

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_first_set

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

Set native field firstSet without native effects.

set_set_count

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

Set native count setCount 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_buffer_indices

Method
pub fn set_buffer_indices( self, buffer_indices: &'a [u32], offsets: &'a [DeviceSize], ) -> Result<Self, ConstructionError>

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

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

pub struct SetLatencyMarkerInfoNV<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub present_id: u64, pub marker: LatencyMarkerNV, /* private fields */ }
Native structure VkSetLatencyMarkerInfoNV.

Contract

Native structure VkSetLatencyMarkerInfoNV.

Khronos reference: VkSetLatencyMarkerInfoNV

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.

marker

Field
marker: LatencyMarkerNV

Native field marker.

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_marker

Method
pub fn set_marker(self, value: LatencyMarkerNV) -> Self

Set native field marker 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::SetPresentConfigNV

pub struct SetPresentConfigNV<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub num_frames_per_batch: u32, pub present_config_feedback: u32, /* private fields */ }
Native structure VkSetPresentConfigNV.

Contract

Native structure VkSetPresentConfigNV.

Khronos reference: VkSetPresentConfigNV

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

num_frames_per_batch

Field
num_frames_per_batch: u32

Native field numFramesPerBatch.

present_config_feedback

Field
present_config_feedback: u32

Native field presentConfigFeedback.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_num_frames_per_batch

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

Set native field numFramesPerBatch without native effects.

set_present_config_feedback

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

Set native field presentConfigFeedback 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::SetStateFlagsIndirectCommandNV

Contract

Native structure VkSetStateFlagsIndirectCommandNV.

Khronos reference: VkSetStateFlagsIndirectCommandNV

Fields

data

Field
data: u32

Native field data.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_data

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

Set native field data without native effects.

clone

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

Stvk::ShaderCodeTypeEXT

Contract

Open integer representation of VkShaderCodeTypeEXT.

Khronos reference: VkShaderCodeTypeEXT

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

eq

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

Stvk::ShaderCorePropertiesFlagBitsAMD

Contract

Open integer representation of VkShaderCorePropertiesFlagBitsAMD.

Khronos reference: VkShaderCorePropertiesFlagBitsAMD

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

Output-1

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

Output-2

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

clone

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

Output-3

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

eq

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