Realm

vk · Structs · I8

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

StRustExperimental

Stvk::InputAttachmentAspectReference

#[repr(C)]pub struct InputAttachmentAspectReference { pub subpass: u32, pub input_attachment_index: u32, pub aspect_mask: ImageAspectFlags, }
Native structure VkInputAttachmentAspectReference.

Contract

Native structure VkInputAttachmentAspectReference.

Khronos reference: VkInputAttachmentAspectReference

Fields

subpass

Field
subpass: u32

Native field subpass.

input_attachment_index

Field
input_attachment_index: u32

Native field inputAttachmentIndex.

aspect_mask

Field
aspect_mask: ImageAspectFlags

Native field aspectMask.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_subpass

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

Set native field subpass without native effects.

set_input_attachment_index

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

Set native field inputAttachmentIndex without native effects.

set_aspect_mask

Method
pub fn set_aspect_mask(self, value: ImageAspectFlags) -> Self

Set native field aspectMask without native effects.

clone

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

Stvk::InstanceCreateFlagBits

Contract

Open integer representation of VkInstanceCreateFlagBits.

Khronos reference: VkInstanceCreateFlagBits

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

Output-1

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

Output-2

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

clone

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

Output-3

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

eq

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

Stvk::InstanceCreateInfo

pub struct InstanceCreateInfo<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: InstanceCreateFlags, pub p_application_info: *const ApplicationInfo<'a>, pub enabled_layer_count: u32, pub pp_enabled_layer_names: *const *const c_char, pub enabled_extension_count: u32, pub pp_enabled_extension_names: *const *const c_char, /* private fields */ }
Native structure VkInstanceCreateInfo.

Contract

Native structure VkInstanceCreateInfo.

Khronos reference: VkInstanceCreateInfo

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: InstanceCreateFlags

Native field flags.

p_application_info

Field
p_application_info: *const ApplicationInfo<'a>

Native field pApplicationInfo.

enabled_layer_count

Field
enabled_layer_count: u32

Native field enabledLayerCount.

pp_enabled_layer_names

Field
pp_enabled_layer_names: *const *const c_char

Native field ppEnabledLayerNames.

enabled_extension_count

Field
enabled_extension_count: u32

Native field enabledExtensionCount.

pp_enabled_extension_names

Field
pp_enabled_extension_names: *const *const c_char

Native field ppEnabledExtensionNames.

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

Set native field flags without native effects.

set_application_info

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

Set native field pApplicationInfo without native effects.

set_enabled_layer_count

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

Set native count enabledLayerCount 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_enabled_layer_names

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

Borrow ppEnabledLayerNames and set checked native count enabledLayerCount. 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_enabled_extension_count

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

Set native count enabledExtensionCount 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_enabled_extension_names

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

Borrow ppEnabledExtensionNames and set checked native count enabledExtensionCount. 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::InstanceHandle

Contract

Raw Vulkan handle VkInstance.

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

Fields

0

Field
0: *mut c_void
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: &InstanceHandle) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::InternalAllocationType

Contract

Open integer representation of VkInternalAllocationType.

Khronos reference: VkInternalAllocationType

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

eq

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

Stvk::IOSSurfaceCreateFlagsMVK

Contract

Open integer representation of VkIOSSurfaceCreateFlagsMVK.

Khronos reference: VkIOSSurfaceCreateFlagsMVK

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

Output-1

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

Output-2

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

clone

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

Output-3

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

eq

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

Stvk::IOSSurfaceCreateInfoMVK

pub struct IOSSurfaceCreateInfoMVK<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: IOSSurfaceCreateFlagsMVK, pub p_view: *const c_void, /* private fields */ }
Native structure VkIOSSurfaceCreateInfoMVK.

Contract

Native structure VkIOSSurfaceCreateInfoMVK.

Khronos reference: VkIOSSurfaceCreateInfoMVK

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: IOSSurfaceCreateFlagsMVK

Native field flags.

p_view

Field
p_view: *const c_void

Native field pView.

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

Set native field flags without native effects.

set_view

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

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