Realm

vk · Structs · W1

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

StRustExperimental

Stvk::WaylandSurfaceCreateFlagsKHR

Contract

Open integer representation of VkWaylandSurfaceCreateFlagsKHR.

Khronos reference: VkWaylandSurfaceCreateFlagsKHR

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

Output-1

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

Output-2

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

clone

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

Output-3

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

eq

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

Stvk::WaylandSurfaceCreateInfoKHR

pub struct WaylandSurfaceCreateInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: WaylandSurfaceCreateFlagsKHR, pub display: *mut wl_display, pub surface: *mut wl_surface, /* private fields */ }
Native structure VkWaylandSurfaceCreateInfoKHR.

Contract

Native structure VkWaylandSurfaceCreateInfoKHR.

Khronos reference: VkWaylandSurfaceCreateInfoKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: WaylandSurfaceCreateFlagsKHR

Native field flags.

display

Field
display: *mut wl_display

Native field display.

surface

Field
surface: *mut wl_surface

Native field surface.

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

Set native field flags without native effects.

set_display

Method
pub unsafe fn set_display(self, value: *mut wl_display) -> Self

Set native pointer display 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_surface

Method
pub unsafe fn set_surface(self, value: *mut wl_surface) -> Self

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

Stvk::Win32KeyedMutexAcquireReleaseInfoKHR

pub struct Win32KeyedMutexAcquireReleaseInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub acquire_count: u32, pub p_acquire_syncs: *const DeviceMemory, pub p_acquire_keys: *const u64, pub p_acquire_timeouts: *const u32, pub release_count: u32, pub p_release_syncs: *const DeviceMemory, pub p_release_keys: *const u64, /* private fields */ }
Native structure VkWin32KeyedMutexAcquireReleaseInfoKHR.

Contract

Native structure VkWin32KeyedMutexAcquireReleaseInfoKHR.

Khronos reference: VkWin32KeyedMutexAcquireReleaseInfoKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

acquire_count

Field
acquire_count: u32

Native field acquireCount.

p_acquire_syncs

Field
p_acquire_syncs: *const DeviceMemory

Native field pAcquireSyncs.

p_acquire_keys

Field
p_acquire_keys: *const u64

Native field pAcquireKeys.

p_acquire_timeouts

Field
p_acquire_timeouts: *const u32

Native field pAcquireTimeouts.

release_count

Field
release_count: u32

Native field releaseCount.

p_release_syncs

Field
p_release_syncs: *const DeviceMemory

Native field pReleaseSyncs.

p_release_keys

Field
p_release_keys: *const u64

Native field pReleaseKeys.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_acquire_count

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

Set native count acquireCount 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_acquire_syncs

Method
pub fn set_acquire_syncs( self, acquire_syncs: &'a [DeviceMemory], acquire_keys: &'a [u64], acquire_timeouts: &'a [u32], ) -> Result<Self, ConstructionError>

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

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

Set native count releaseCount 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_release_syncs

Method
pub fn set_release_syncs( self, release_syncs: &'a [DeviceMemory], release_keys: &'a [u64], ) -> Result<Self, ConstructionError>

Borrow parallel arrays sharing native releaseCount. 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::Win32KeyedMutexAcquireReleaseInfoNV

pub struct Win32KeyedMutexAcquireReleaseInfoNV<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub acquire_count: u32, pub p_acquire_syncs: *const DeviceMemory, pub p_acquire_keys: *const u64, pub p_acquire_timeout_milliseconds: *const u32, pub release_count: u32, pub p_release_syncs: *const DeviceMemory, pub p_release_keys: *const u64, /* private fields */ }
Native structure VkWin32KeyedMutexAcquireReleaseInfoNV.

Contract

Native structure VkWin32KeyedMutexAcquireReleaseInfoNV.

Khronos reference: VkWin32KeyedMutexAcquireReleaseInfoNV

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

acquire_count

Field
acquire_count: u32

Native field acquireCount.

p_acquire_syncs

Field
p_acquire_syncs: *const DeviceMemory

Native field pAcquireSyncs.

p_acquire_keys

Field
p_acquire_keys: *const u64

Native field pAcquireKeys.

p_acquire_timeout_milliseconds

Field
p_acquire_timeout_milliseconds: *const u32

Native field pAcquireTimeoutMilliseconds.

release_count

Field
release_count: u32

Native field releaseCount.

p_release_syncs

Field
p_release_syncs: *const DeviceMemory

Native field pReleaseSyncs.

p_release_keys

Field
p_release_keys: *const u64

Native field pReleaseKeys.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_acquire_count

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

Set native count acquireCount 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_acquire_syncs

Method
pub fn set_acquire_syncs( self, acquire_syncs: &'a [DeviceMemory], acquire_keys: &'a [u64], acquire_timeout_milliseconds: &'a [u32], ) -> Result<Self, ConstructionError>

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

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

Set native count releaseCount 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_release_syncs

Method
pub fn set_release_syncs( self, release_syncs: &'a [DeviceMemory], release_keys: &'a [u64], ) -> Result<Self, ConstructionError>

Borrow parallel arrays sharing native releaseCount. 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::Win32SurfaceCreateFlagsKHR

Contract

Open integer representation of VkWin32SurfaceCreateFlagsKHR.

Khronos reference: VkWin32SurfaceCreateFlagsKHR

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

Output-1

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

Output-2

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

clone

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

Output-3

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

eq

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

Stvk::Win32SurfaceCreateInfoKHR

pub struct Win32SurfaceCreateInfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub flags: Win32SurfaceCreateFlagsKHR, pub hinstance: HINSTANCE, pub hwnd: HWND, /* private fields */ }
Native structure VkWin32SurfaceCreateInfoKHR.

Contract

Native structure VkWin32SurfaceCreateInfoKHR.

Khronos reference: VkWin32SurfaceCreateInfoKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

flags

Field
flags: Win32SurfaceCreateFlagsKHR

Native field flags.

hinstance

Field
hinstance: HINSTANCE

Native field hinstance.

hwnd

Field
hwnd: HWND

Native field hwnd.

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

Set native field flags without native effects.

set_hinstance

Method
pub fn set_hinstance(self, value: HINSTANCE) -> Self

Set native field hinstance without native effects.

set_hwnd

Method
pub fn set_hwnd(self, value: HWND) -> Self

Set native field hwnd 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::wl_display

Contract

Native type wl_display.

Khronos registry source: wl_display

Stvk::wl_surface

Contract

Native type wl_surface.

Khronos registry source: wl_surface

Stvk::WriteDescriptorSet

pub struct WriteDescriptorSet<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub dst_set: DescriptorSet, pub dst_binding: u32, pub dst_array_element: u32, pub descriptor_count: u32, pub descriptor_type: DescriptorType, pub p_image_info: *const DescriptorImageInfo, pub p_buffer_info: *const DescriptorBufferInfo, pub p_texel_buffer_view: *const BufferView, /* private fields */ }
Native structure VkWriteDescriptorSet.

Contract

Native structure VkWriteDescriptorSet.

Khronos reference: VkWriteDescriptorSet

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

dst_set

Field
dst_set: DescriptorSet

Native field dstSet.

dst_binding

Field
dst_binding: u32

Native field dstBinding.

dst_array_element

Field
dst_array_element: u32

Native field dstArrayElement.

descriptor_count

Field
descriptor_count: u32

Native field descriptorCount.

descriptor_type

Field
descriptor_type: DescriptorType

Native field descriptorType.

p_image_info

Field
p_image_info: *const DescriptorImageInfo

Native field pImageInfo.

p_buffer_info

Field
p_buffer_info: *const DescriptorBufferInfo

Native field pBufferInfo.

p_texel_buffer_view

Field
p_texel_buffer_view: *const BufferView

Native field pTexelBufferView.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_dst_set

Method
pub fn set_dst_set(self, value: DescriptorSet) -> Self

Set native field dstSet without native effects.

set_dst_binding

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

Set native field dstBinding without native effects.

set_dst_array_element

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

Set native field dstArrayElement without native effects.

set_descriptor_count

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

Set native count descriptorCount 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_type

Method
pub fn set_descriptor_type(self, value: DescriptorType) -> Self

Set native field descriptorType without native effects.

set_image_info

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

Borrow pImageInfo and set checked native count descriptorCount. 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_buffer_info

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

Borrow pBufferInfo and set checked native count descriptorCount. 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_texel_buffer_view

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

Borrow pTexelBufferView and set checked native count descriptorCount. 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::WriteDescriptorSetAccelerationStructureKHR

pub struct WriteDescriptorSetAccelerationStructureKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub acceleration_structure_count: u32, pub p_acceleration_structures: *const AccelerationStructureKHR, /* private fields */ }
Native structure VkWriteDescriptorSetAccelerationStructureKHR.

Contract

Native structure VkWriteDescriptorSetAccelerationStructureKHR.

Khronos reference: VkWriteDescriptorSetAccelerationStructureKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

acceleration_structure_count

Field
acceleration_structure_count: u32

Native field accelerationStructureCount.

p_acceleration_structures

Field
p_acceleration_structures: *const AccelerationStructureKHR

Native field pAccelerationStructures.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_acceleration_structure_count

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

Set native count accelerationStructureCount 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_acceleration_structures

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

Borrow pAccelerationStructures and set checked native count accelerationStructureCount. 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::WriteDescriptorSetAccelerationStructureNV

pub struct WriteDescriptorSetAccelerationStructureNV<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub acceleration_structure_count: u32, pub p_acceleration_structures: *const AccelerationStructureNV, /* private fields */ }
Native structure VkWriteDescriptorSetAccelerationStructureNV.

Contract

Native structure VkWriteDescriptorSetAccelerationStructureNV.

Khronos reference: VkWriteDescriptorSetAccelerationStructureNV

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

acceleration_structure_count

Field
acceleration_structure_count: u32

Native field accelerationStructureCount.

p_acceleration_structures

Field
p_acceleration_structures: *const AccelerationStructureNV

Native field pAccelerationStructures.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_acceleration_structure_count

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

Set native count accelerationStructureCount 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_acceleration_structures

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

Borrow pAccelerationStructures and set checked native count accelerationStructureCount. 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::WriteDescriptorSetInlineUniformBlock

pub struct WriteDescriptorSetInlineUniformBlock<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub data_size: u32, pub p_data: *const c_void, /* private fields */ }
Native structure VkWriteDescriptorSetInlineUniformBlock.

Contract

Native structure VkWriteDescriptorSetInlineUniformBlock.

Khronos reference: VkWriteDescriptorSetInlineUniformBlock

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

data_size

Field
data_size: u32

Native field dataSize.

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_data_size

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

Set native count dataSize 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_data

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

Borrow pData and set checked native byte size dataSize. 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::WriteDescriptorSetPartitionedAccelerationStructureNV

pub struct WriteDescriptorSetPartitionedAccelerationStructureNV<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub acceleration_structure_count: u32, pub p_acceleration_structures: *const DeviceAddress, /* private fields */ }
Native structure VkWriteDescriptorSetPartitionedAccelerationStructureNV.

Contract

Native structure VkWriteDescriptorSetPartitionedAccelerationStructureNV.

Khronos reference: VkWriteDescriptorSetPartitionedAccelerationStructureNV

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

acceleration_structure_count

Field
acceleration_structure_count: u32

Native field accelerationStructureCount.

p_acceleration_structures

Field
p_acceleration_structures: *const DeviceAddress

Native field pAccelerationStructures.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_acceleration_structure_count

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

Set native count accelerationStructureCount 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_acceleration_structures

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

Borrow pAccelerationStructures and set checked native count accelerationStructureCount. 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::WriteDescriptorSetTensorARM

pub struct WriteDescriptorSetTensorARM<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub tensor_view_count: u32, pub p_tensor_views: *const TensorViewARM, /* private fields */ }
Native structure VkWriteDescriptorSetTensorARM.

Contract

Native structure VkWriteDescriptorSetTensorARM.

Khronos reference: VkWriteDescriptorSetTensorARM

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

tensor_view_count

Field
tensor_view_count: u32

Native field tensorViewCount.

p_tensor_views

Field
p_tensor_views: *const TensorViewARM

Native field pTensorViews.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_tensor_view_count

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

Set native count tensorViewCount 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_tensor_views

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

Borrow pTensorViews and set checked native count tensorViewCount. 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::WriteIndirectExecutionSetPipelineEXT

pub struct WriteIndirectExecutionSetPipelineEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub index: u32, pub pipeline: Pipeline, /* private fields */ }
Native structure VkWriteIndirectExecutionSetPipelineEXT.

Contract

Native structure VkWriteIndirectExecutionSetPipelineEXT.

Khronos reference: VkWriteIndirectExecutionSetPipelineEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

index

Field
index: u32

Native field index.

pipeline

Field
pipeline: Pipeline

Native field pipeline.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_index

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

Set native field index without native effects.

set_pipeline

Method
pub fn set_pipeline(self, value: Pipeline) -> Self

Set native field pipeline 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::WriteIndirectExecutionSetShaderEXT

pub struct WriteIndirectExecutionSetShaderEXT<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub index: u32, pub shader: ShaderEXT, /* private fields */ }
Native structure VkWriteIndirectExecutionSetShaderEXT.

Contract

Native structure VkWriteIndirectExecutionSetShaderEXT.

Khronos reference: VkWriteIndirectExecutionSetShaderEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

index

Field
index: u32

Native field index.

shader

Field
shader: ShaderEXT

Native field shader.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_index

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

Set native field index without native effects.

set_shader

Method
pub fn set_shader(self, value: ShaderEXT) -> Self

Set native field shader 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.