vk · Structs · M3
16 public declarations with native signatures and source-owned contracts.
Stvk::MemoryPropertyFlagBits
Contract
Open integer representation of VkMemoryPropertyFlagBits.
Fields
0
0: u32Methods and associated items
DEVICE_LOCAL_BIT
Native value VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT.
HOST_VISIBLE_BIT
Native value VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT.
HOST_COHERENT_BIT
Native value VK_MEMORY_PROPERTY_HOST_COHERENT_BIT.
HOST_CACHED_BIT
Native value VK_MEMORY_PROPERTY_HOST_CACHED_BIT.
LAZILY_ALLOCATED_BIT
Native value VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT.
PROTECTED_BIT
Native value VK_MEMORY_PROPERTY_PROTECTED_BIT.
DEVICE_COHERENT_BIT_AMD
Native value VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD.
Khronos reference: VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
DEVICE_UNCACHED_BIT_AMD
Native value VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD.
Khronos reference: VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
RDMA_CAPABLE_BIT_NV
Native value VK_MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV.
from_raw
as_raw
empty
Output
& operator.bitand
& operation. Read moreOutput-1
| operator.bitor
| operation. Read moreOutput-2
^ operator.bitxor
^ operation. Read moreclone
fmt
default
hash
Output-3
! operator.not
! operation. Read moreeq
self and other values to be equal, and is used by ==.Stvk::MemoryRangeBarrierKHR
pub struct MemoryRangeBarrierKHR<'a> {
pub s_type: StructureType,
pub p_next: *const c_void,
pub src_stage_mask: PipelineStageFlags2,
pub src_access_mask: AccessFlags2,
pub dst_stage_mask: PipelineStageFlags2,
pub dst_access_mask: AccessFlags2,
pub src_queue_family_index: u32,
pub dst_queue_family_index: u32,
pub address_range: DeviceAddressRangeKHR,
pub address_flags: AddressCommandFlagsKHR,
/* private fields */
}Contract
Native structure VkMemoryRangeBarrierKHR.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
src_stage_mask
src_stage_mask: PipelineStageFlags2Native field srcStageMask.
src_access_mask
src_access_mask: AccessFlags2Native field srcAccessMask.
dst_stage_mask
dst_stage_mask: PipelineStageFlags2Native field dstStageMask.
dst_access_mask
dst_access_mask: AccessFlags2Native field dstAccessMask.
src_queue_family_index
src_queue_family_index: u32Native field srcQueueFamilyIndex.
dst_queue_family_index
dst_queue_family_index: u32Native field dstQueueFamilyIndex.
address_range
address_range: DeviceAddressRangeKHRNative field addressRange.
address_flags
address_flags: AddressCommandFlagsKHRNative field addressFlags.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_src_stage_mask
Set native field srcStageMask without native effects.
set_src_access_mask
Set native field srcAccessMask without native effects.
set_dst_stage_mask
Set native field dstStageMask without native effects.
set_dst_access_mask
Set native field dstAccessMask without native effects.
set_src_queue_family_index
Set native field srcQueueFamilyIndex without native effects.
set_dst_queue_family_index
Set native field dstQueueFamilyIndex without native effects.
set_address_range
Set native field addressRange without native effects.
set_address_flags
Set native field addressFlags without native effects.
push_next
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.
default
Stvk::MemoryRangeBarriersInfoKHR
Contract
Native structure VkMemoryRangeBarriersInfoKHR.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
memory_range_barrier_count
memory_range_barrier_count: u32Native field memoryRangeBarrierCount.
p_memory_range_barriers
p_memory_range_barriers: *const MemoryRangeBarrierKHR<'a>Native field pMemoryRangeBarriers.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_memory_range_barrier_count
Set native count memoryRangeBarrierCount 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_memory_range_barriers
Borrow pMemoryRangeBarriers and set checked native count memoryRangeBarrierCount.
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
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.
default
Stvk::MemoryRequirements
Contract
Native structure VkMemoryRequirements.
Fields
size
size: DeviceSizeNative field size.
alignment
alignment: DeviceSizeNative field alignment.
memory_type_bits
memory_type_bits: u32Native field memoryTypeBits.
Methods and associated items
new
Construct the record with its default native state.
set_size
Set native field size without native effects.
set_alignment
Set native field alignment without native effects.
set_memory_type_bits
Set native field memoryTypeBits without native effects.
clone
default
Stvk::MemoryRequirements2
Contract
Native structure VkMemoryRequirements2.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *mut c_voidNative field pNext.
memory_requirements
memory_requirements: MemoryRequirementsNative field memoryRequirements.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_memory_requirements
Set native field memoryRequirements without native effects.
push_next
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.
default
Stvk::MemoryToImageCopy
pub struct MemoryToImageCopy<'a> {
pub s_type: StructureType,
pub p_next: *const c_void,
pub p_host_pointer: *const c_void,
pub memory_row_length: u32,
pub memory_image_height: u32,
pub image_subresource: ImageSubresourceLayers,
pub image_offset: Offset3D,
pub image_extent: Extent3D,
/* private fields */
}Contract
Native structure VkMemoryToImageCopy.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
p_host_pointer
p_host_pointer: *const c_voidNative field pHostPointer.
memory_row_length
memory_row_length: u32Native field memoryRowLength.
memory_image_height
memory_image_height: u32Native field memoryImageHeight.
image_subresource
image_subresource: ImageSubresourceLayersNative field imageSubresource.
image_offset
image_offset: Offset3DNative field imageOffset.
image_extent
image_extent: Extent3DNative field imageExtent.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_host_pointer
Set native pointer pHostPointer 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_memory_row_length
Set native field memoryRowLength without native effects.
set_memory_image_height
Set native field memoryImageHeight without native effects.
set_image_subresource
Set native field imageSubresource without native effects.
set_image_offset
Set native field imageOffset without native effects.
set_image_extent
Set native field imageExtent without native effects.
push_next
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.
default
Stvk::MemoryType
Contract
Native structure VkMemoryType.
Fields
property_flags
property_flags: MemoryPropertyFlagsNative field propertyFlags.
heap_index
heap_index: u32Native field heapIndex.
Methods and associated items
new
Construct the record with its default native state.
set_property_flags
Set native field propertyFlags without native effects.
set_heap_index
Set native field heapIndex without native effects.
clone
default
Stvk::MemoryUnmapFlagBits
Contract
Open integer representation of VkMemoryUnmapFlagBits.
Fields
0
0: u32Methods and associated items
RESERVE_BIT_EXT
Native value VK_MEMORY_UNMAP_RESERVE_BIT_EXT.
from_raw
as_raw
empty
Output
& operator.bitand
& operation. Read moreOutput-1
| operator.bitor
| operation. Read moreOutput-2
^ operator.bitxor
^ operation. Read moreclone
fmt
default
hash
Output-3
! operator.not
! operation. Read moreeq
self and other values to be equal, and is used by ==.Stvk::MemoryUnmapInfo
Contract
Native structure VkMemoryUnmapInfo.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
flags
flags: MemoryUnmapFlagsNative field flags.
memory
memory: DeviceMemoryNative field memory.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_flags
Set native field flags without native effects.
set_memory
Set native field memory without native effects.
push_next
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.
default
Stvk::MemoryWin32HandlePropertiesKHR
Contract
Native structure VkMemoryWin32HandlePropertiesKHR.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *mut c_voidNative field pNext.
memory_type_bits
memory_type_bits: u32Native field memoryTypeBits.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_memory_type_bits
Set native field memoryTypeBits without native effects.
push_next
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.
default
Stvk::MemoryZirconHandlePropertiesFUCHSIA
Contract
Native structure VkMemoryZirconHandlePropertiesFUCHSIA.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *mut c_voidNative field pNext.
memory_type_bits
memory_type_bits: u32Native field memoryTypeBits.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_memory_type_bits
Set native field memoryTypeBits without native effects.
push_next
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.
default
Stvk::MetalSurfaceCreateFlagsEXT
Contract
Open integer representation of VkMetalSurfaceCreateFlagsEXT.
Fields
0
0: u32Methods and associated items
from_raw
as_raw
empty
Output
& operator.bitand
& operation. Read moreOutput-1
| operator.bitor
| operation. Read moreOutput-2
^ operator.bitxor
^ operation. Read moreclone
fmt
default
hash
Output-3
! operator.not
! operation. Read moreeq
self and other values to be equal, and is used by ==.Stvk::MetalSurfaceCreateInfoEXT
Contract
Native structure VkMetalSurfaceCreateInfoEXT.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
flags
flags: MetalSurfaceCreateFlagsEXTNative field flags.
p_layer
p_layer: *const CAMetalLayerNative field pLayer.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_flags
Set native field flags without native effects.
set_layer
Set native pointer pLayer 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
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.
default
Stvk::MicromapBuildInfoEXT
pub struct MicromapBuildInfoEXT<'a> {
pub s_type: StructureType,
pub p_next: *const c_void,
pub type: MicromapTypeEXT,
pub flags: BuildMicromapFlagsEXT,
pub mode: BuildMicromapModeEXT,
pub dst_micromap: MicromapEXT,
pub usage_counts_count: u32,
pub p_usage_counts: *const MicromapUsageEXT,
pub pp_usage_counts: *const *const MicromapUsageEXT,
pub data: DeviceOrHostAddressConstKHR,
pub scratch_data: DeviceOrHostAddressKHR,
pub triangle_array: DeviceOrHostAddressConstKHR,
pub triangle_array_stride: DeviceSize,
/* private fields */
}Contract
Native structure VkMicromapBuildInfoEXT.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
type
type: MicromapTypeEXTNative field type.
flags
flags: BuildMicromapFlagsEXTNative field flags.
mode
mode: BuildMicromapModeEXTNative field mode.
dst_micromap
dst_micromap: MicromapEXTNative field dstMicromap.
usage_counts_count
usage_counts_count: u32Native field usageCountsCount.
p_usage_counts
p_usage_counts: *const MicromapUsageEXTNative field pUsageCounts.
pp_usage_counts
pp_usage_counts: *const *const MicromapUsageEXTNative field ppUsageCounts.
data
data: DeviceOrHostAddressConstKHRNative field data.
scratch_data
scratch_data: DeviceOrHostAddressKHRNative field scratchData.
triangle_array
triangle_array: DeviceOrHostAddressConstKHRNative field triangleArray.
triangle_array_stride
triangle_array_stride: DeviceSizeNative field triangleArrayStride.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_type
Set native field type without native effects.
set_flags
Set native field flags without native effects.
set_mode
Set native field mode without native effects.
set_dst_micromap
Set native field dstMicromap without native effects.
set_usage_counts_count
Set native count usageCountsCount 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_usage_counts
Borrow pUsageCounts and set checked native count usageCountsCount.
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_pp_usage_counts
Borrow ppUsageCounts and set checked native count usageCountsCount.
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_data
Set native field data without native effects.
set_scratch_data
Set native field scratchData without native effects.
set_triangle_array
Set native field triangleArray without native effects.
set_triangle_array_stride
Set native field triangleArrayStride without native effects.
push_next
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.
default
Stvk::MicromapBuildSizesInfoEXT
Contract
Native structure VkMicromapBuildSizesInfoEXT.
Fields
s_type
s_type: StructureTypeNative field sType.
p_next
p_next: *const c_voidNative field pNext.
micromap_size
micromap_size: DeviceSizeNative field micromapSize.
build_scratch_size
build_scratch_size: DeviceSizeNative field buildScratchSize.
discardable
discardable: Bool32Native field discardable.
Methods and associated items
new
Construct the record with its canonical sType tag and default native state.
set_micromap_size
Set native field micromapSize without native effects.
set_build_scratch_size
Set native field buildScratchSize without native effects.
set_discardable
Set native field discardable without native effects.
push_next
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.
default
Stvk::MicromapCreateFlagBitsEXT
Contract
Open integer representation of VkMicromapCreateFlagBitsEXT.
Fields
0
0: u32Methods and associated items
DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT
Native value VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT.
Khronos reference: VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT
from_raw
as_raw
empty
Output
& operator.bitand
& operation. Read moreOutput-1
| operator.bitor
| operation. Read moreOutput-2
^ operator.bitxor
^ operation. Read moreclone
fmt
default
hash
Output-3
! operator.not
! operation. Read moreeq
self and other values to be equal, and is used by ==.