Realm

vk · Structs · L1

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

StRustExperimental

Stvk::LatencyMarkerNV

Contract

Open integer representation of VkLatencyMarkerNV.

Khronos reference: VkLatencyMarkerNV

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

eq

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

Stvk::LatencySleepInfoNV

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

Contract

Native structure VkLatencySleepInfoNV.

Khronos reference: VkLatencySleepInfoNV

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

signal_semaphore

Field
signal_semaphore: Semaphore

Native field signalSemaphore.

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_signal_semaphore

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

Set native field signalSemaphore 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::LatencySleepModeInfoNV

pub struct LatencySleepModeInfoNV<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub low_latency_mode: Bool32, pub low_latency_boost: Bool32, pub minimum_interval_us: u32, /* private fields */ }
Native structure VkLatencySleepModeInfoNV.

Contract

Native structure VkLatencySleepModeInfoNV.

Khronos reference: VkLatencySleepModeInfoNV

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

low_latency_mode

Field
low_latency_mode: Bool32

Native field lowLatencyMode.

low_latency_boost

Field
low_latency_boost: Bool32

Native field lowLatencyBoost.

minimum_interval_us

Field
minimum_interval_us: u32

Native field minimumIntervalUs.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_low_latency_mode

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

Set native field lowLatencyMode without native effects.

set_low_latency_boost

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

Set native field lowLatencyBoost without native effects.

set_minimum_interval_us

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

Set native field minimumIntervalUs 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::LatencySubmissionPresentIdNV

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

Contract

Native structure VkLatencySubmissionPresentIdNV.

Khronos reference: VkLatencySubmissionPresentIdNV

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.

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.

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

pub struct LatencySurfaceCapabilitiesNV<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub present_mode_count: u32, pub p_present_modes: *mut PresentModeKHR, /* private fields */ }
Native structure VkLatencySurfaceCapabilitiesNV.

Contract

Native structure VkLatencySurfaceCapabilitiesNV.

Khronos reference: VkLatencySurfaceCapabilitiesNV

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

present_mode_count

Field
present_mode_count: u32

Native field presentModeCount.

p_present_modes

Field
p_present_modes: *mut PresentModeKHR

Native field pPresentModes.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_present_mode_count

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

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

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

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

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

pub struct LatencyTimingsFrameReportNV<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub present_id: u64, pub input_sample_time_us: u64, pub sim_start_time_us: u64, pub sim_end_time_us: u64, pub render_submit_start_time_us: u64, pub render_submit_end_time_us: u64, pub present_start_time_us: u64, pub present_end_time_us: u64, pub driver_start_time_us: u64, pub driver_end_time_us: u64, pub os_render_queue_start_time_us: u64, pub os_render_queue_end_time_us: u64, pub gpu_render_start_time_us: u64, pub gpu_render_end_time_us: u64, /* private fields */ }
Native structure VkLatencyTimingsFrameReportNV.

Contract

Native structure VkLatencyTimingsFrameReportNV.

Khronos reference: VkLatencyTimingsFrameReportNV

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

present_id

Field
present_id: u64

Native field presentID.

input_sample_time_us

Field
input_sample_time_us: u64

Native field inputSampleTimeUs.

sim_start_time_us

Field
sim_start_time_us: u64

Native field simStartTimeUs.

sim_end_time_us

Field
sim_end_time_us: u64

Native field simEndTimeUs.

render_submit_start_time_us

Field
render_submit_start_time_us: u64

Native field renderSubmitStartTimeUs.

render_submit_end_time_us

Field
render_submit_end_time_us: u64

Native field renderSubmitEndTimeUs.

present_start_time_us

Field
present_start_time_us: u64

Native field presentStartTimeUs.

present_end_time_us

Field
present_end_time_us: u64

Native field presentEndTimeUs.

driver_start_time_us

Field
driver_start_time_us: u64

Native field driverStartTimeUs.

driver_end_time_us

Field
driver_end_time_us: u64

Native field driverEndTimeUs.

os_render_queue_start_time_us

Field
os_render_queue_start_time_us: u64

Native field osRenderQueueStartTimeUs.

os_render_queue_end_time_us

Field
os_render_queue_end_time_us: u64

Native field osRenderQueueEndTimeUs.

gpu_render_start_time_us

Field
gpu_render_start_time_us: u64

Native field gpuRenderStartTimeUs.

gpu_render_end_time_us

Field
gpu_render_end_time_us: u64

Native field gpuRenderEndTimeUs.

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_input_sample_time_us

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

Set native field inputSampleTimeUs without native effects.

set_sim_start_time_us

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

Set native field simStartTimeUs without native effects.

set_sim_end_time_us

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

Set native field simEndTimeUs without native effects.

set_render_submit_start_time_us

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

Set native field renderSubmitStartTimeUs without native effects.

set_render_submit_end_time_us

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

Set native field renderSubmitEndTimeUs without native effects.

set_present_start_time_us

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

Set native field presentStartTimeUs without native effects.

set_present_end_time_us

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

Set native field presentEndTimeUs without native effects.

set_driver_start_time_us

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

Set native field driverStartTimeUs without native effects.

set_driver_end_time_us

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

Set native field driverEndTimeUs without native effects.

set_os_render_queue_start_time_us

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

Set native field osRenderQueueStartTimeUs without native effects.

set_os_render_queue_end_time_us

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

Set native field osRenderQueueEndTimeUs without native effects.

set_gpu_render_start_time_us

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

Set native field gpuRenderStartTimeUs without native effects.

set_gpu_render_end_time_us

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

Set native field gpuRenderEndTimeUs 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::LayeredDriverUnderlyingApiMSFT

Contract

Open integer representation of VkLayeredDriverUnderlyingApiMSFT.

Khronos reference: VkLayeredDriverUnderlyingApiMSFT

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

eq

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

Stvk::LayerProperties

#[repr(C)]pub struct LayerProperties { pub layer_name: [c_char; 256], pub spec_version: u32, pub implementation_version: u32, pub description: [c_char; 256], }
Native structure VkLayerProperties.

Contract

Native structure VkLayerProperties.

Khronos reference: VkLayerProperties

Fields

layer_name

Field
layer_name: [c_char; 256]

Native field layerName.

spec_version

Field
spec_version: u32

Native field specVersion.

implementation_version

Field
implementation_version: u32

Native field implementationVersion.

description

Field
description: [c_char; 256]

Native field description.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_layer_name

Method
pub fn set_layer_name(self, value: [c_char; 256]) -> Self

Set native field layerName without native effects.

set_spec_version

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

Set native field specVersion without native effects.

set_implementation_version

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

Set native field implementationVersion without native effects.

set_description

Method
pub fn set_description(self, value: [c_char; 256]) -> Self

Set native field description without native effects.

Stvk::LayerSettingEXT

pub struct LayerSettingEXT<'a> { pub p_layer_name: *const c_char, pub p_setting_name: *const c_char, pub type: LayerSettingTypeEXT, pub value_count: u32, pub p_values: *const c_void, /* private fields */ }
Native structure VkLayerSettingEXT.

Contract

Native structure VkLayerSettingEXT.

Khronos reference: VkLayerSettingEXT

Fields

p_layer_name

Field
p_layer_name: *const c_char

Native field pLayerName.

p_setting_name

Field
p_setting_name: *const c_char

Native field pSettingName.

type

Field
type: LayerSettingTypeEXT

Native field type.

value_count

Field
value_count: u32

Native field valueCount.

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 default native state.

set_layer_name

Method
pub fn set_layer_name(self, value: &'a CStr) -> Self

Set native field pLayerName without native effects.

set_setting_name

Method
pub fn set_setting_name(self, value: &'a CStr) -> Self

Set native field pSettingName without native effects.

set_type

Method
pub fn set_type(self, value: LayerSettingTypeEXT) -> Self

Set native field type without native effects.

set_value_count

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

Set native count valueCount 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 unsafe fn set_values(self, value: *const c_void) -> Self

Set native pointer pValues 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.

set_values_bool32

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

Borrow typed layer values and set their native type and element count. For strings the borrow covers the pointer table, not the strings it names.

Errors

Returns a construction error if the element count exceeds u32.

set_values_int32

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

Borrow typed layer values and set their native type and element count. For strings the borrow covers the pointer table, not the strings it names.

Errors

Returns a construction error if the element count exceeds u32.

set_values_int64

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

Borrow typed layer values and set their native type and element count. For strings the borrow covers the pointer table, not the strings it names.

Errors

Returns a construction error if the element count exceeds u32.

set_values_uint32

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

Borrow typed layer values and set their native type and element count. For strings the borrow covers the pointer table, not the strings it names.

Errors

Returns a construction error if the element count exceeds u32.

set_values_uint64

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

Borrow typed layer values and set their native type and element count. For strings the borrow covers the pointer table, not the strings it names.

Errors

Returns a construction error if the element count exceeds u32.

set_values_float32

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

Borrow typed layer values and set their native type and element count. For strings the borrow covers the pointer table, not the strings it names.

Errors

Returns a construction error if the element count exceeds u32.

set_values_float64

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

Borrow typed layer values and set their native type and element count. For strings the borrow covers the pointer table, not the strings it names.

Errors

Returns a construction error if the element count exceeds u32.

set_values_strings

Method
pub fn set_values_strings( self, value: &'a [*const c_char], ) -> Result<Self, ConstructionError>

Borrow typed layer values and set their native type and element count. For strings the borrow covers the pointer table, not the strings it names.

Errors

Returns a construction error if the element count exceeds u32.

Stvk::LayerSettingsCreateInfoEXT

pub struct LayerSettingsCreateInfoEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub setting_count: u32, pub p_settings: *const LayerSettingEXT<'a>, /* private fields */ }
Native structure VkLayerSettingsCreateInfoEXT.

Contract

Native structure VkLayerSettingsCreateInfoEXT.

Khronos reference: VkLayerSettingsCreateInfoEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

setting_count

Field
setting_count: u32

Native field settingCount.

p_settings

Field
p_settings: *const LayerSettingEXT<'a>

Native field pSettings.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_setting_count

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

Set native count settingCount 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_settings

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

Borrow pSettings and set checked native count settingCount. 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::LayerSettingTypeEXT

Contract

Open integer representation of VkLayerSettingTypeEXT.

Khronos reference: VkLayerSettingTypeEXT

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

eq

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

Stvk::LineRasterizationMode

Contract

Open integer representation of VkLineRasterizationMode.

Khronos reference: VkLineRasterizationMode

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

eq

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

Stvk::LogicOp

Contract

Open integer representation of VkLogicOp.

Khronos reference: VkLogicOp

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

eq

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