Realm

vk · Structs · D14

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

StRustExperimental

Stvk::DrawIndexedIndirectCommand

#[repr(C)]pub struct DrawIndexedIndirectCommand { pub index_count: u32, pub instance_count: u32, pub first_index: u32, pub vertex_offset: i32, pub first_instance: u32, }
Native structure VkDrawIndexedIndirectCommand.

Contract

Native structure VkDrawIndexedIndirectCommand.

Khronos reference: VkDrawIndexedIndirectCommand

Fields

index_count

Field
index_count: u32

Native field indexCount.

instance_count

Field
instance_count: u32

Native field instanceCount.

first_index

Field
first_index: u32

Native field firstIndex.

vertex_offset

Field
vertex_offset: i32

Native field vertexOffset.

first_instance

Field
first_instance: u32

Native field firstInstance.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_index_count

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

Set native field indexCount without native effects.

set_instance_count

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

Set native field instanceCount without native effects.

set_first_index

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

Set native field firstIndex without native effects.

set_vertex_offset

Method
pub fn set_vertex_offset(self, value: i32) -> Self

Set native field vertexOffset without native effects.

set_first_instance

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

Set native field firstInstance without native effects.

clone

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

Stvk::DrawIndirect2InfoKHR

pub struct DrawIndirect2InfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub address_range: StridedDeviceAddressRangeKHR, pub address_flags: AddressCommandFlagsKHR, pub draw_count: u32, /* private fields */ }
Native structure VkDrawIndirect2InfoKHR.

Contract

Native structure VkDrawIndirect2InfoKHR.

Khronos reference: VkDrawIndirect2InfoKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

address_range

Field
address_range: StridedDeviceAddressRangeKHR

Native field addressRange.

address_flags

Field
address_flags: AddressCommandFlagsKHR

Native field addressFlags.

draw_count

Field
draw_count: u32

Native field drawCount.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_address_range

Method
pub fn set_address_range(self, value: StridedDeviceAddressRangeKHR) -> Self

Set native field addressRange without native effects.

set_address_flags

Method
pub fn set_address_flags(self, value: AddressCommandFlagsKHR) -> Self

Set native field addressFlags without native effects.

set_draw_count

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

Set native field drawCount 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::DrawIndirectCommand

Contract

Native structure VkDrawIndirectCommand.

Khronos reference: VkDrawIndirectCommand

Fields

vertex_count

Field
vertex_count: u32

Native field vertexCount.

instance_count

Field
instance_count: u32

Native field instanceCount.

first_vertex

Field
first_vertex: u32

Native field firstVertex.

first_instance

Field
first_instance: u32

Native field firstInstance.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_vertex_count

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

Set native field vertexCount without native effects.

set_instance_count

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

Set native field instanceCount without native effects.

set_first_vertex

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

Set native field firstVertex without native effects.

set_first_instance

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

Set native field firstInstance without native effects.

Stvk::DrawIndirectCount2InfoKHR

pub struct DrawIndirectCount2InfoKHR<'a> { pub s_type: StructureType, pub p_next: *const c_void, pub address_range: StridedDeviceAddressRangeKHR, pub address_flags: AddressCommandFlagsKHR, pub count_address_range: DeviceAddressRangeKHR, pub count_address_flags: AddressCommandFlagsKHR, pub max_draw_count: u32, /* private fields */ }
Native structure VkDrawIndirectCount2InfoKHR.

Contract

Native structure VkDrawIndirectCount2InfoKHR.

Khronos reference: VkDrawIndirectCount2InfoKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *const c_void

Native field pNext.

address_range

Field
address_range: StridedDeviceAddressRangeKHR

Native field addressRange.

address_flags

Field
address_flags: AddressCommandFlagsKHR

Native field addressFlags.

count_address_range

Field
count_address_range: DeviceAddressRangeKHR

Native field countAddressRange.

count_address_flags

Field
count_address_flags: AddressCommandFlagsKHR

Native field countAddressFlags.

max_draw_count

Field
max_draw_count: u32

Native field maxDrawCount.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_address_range

Method
pub fn set_address_range(self, value: StridedDeviceAddressRangeKHR) -> Self

Set native field addressRange without native effects.

set_address_flags

Method
pub fn set_address_flags(self, value: AddressCommandFlagsKHR) -> Self

Set native field addressFlags without native effects.

set_count_address_range

Method
pub fn set_count_address_range(self, value: DeviceAddressRangeKHR) -> Self

Set native field countAddressRange without native effects.

set_count_address_flags

Method
pub fn set_count_address_flags(self, value: AddressCommandFlagsKHR) -> Self

Set native field countAddressFlags without native effects.

set_max_draw_count

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

Set native field maxDrawCount 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::DrawIndirectCountIndirectCommandEXT

#[repr(C)]pub struct DrawIndirectCountIndirectCommandEXT { pub buffer_address: DeviceAddress, pub stride: u32, pub command_count: u32, }
Native structure VkDrawIndirectCountIndirectCommandEXT.

Contract

Native structure VkDrawIndirectCountIndirectCommandEXT.

Khronos reference: VkDrawIndirectCountIndirectCommandEXT

Fields

buffer_address

Field
buffer_address: DeviceAddress

Native field bufferAddress.

stride

Field
stride: u32

Native field stride.

command_count

Field
command_count: u32

Native field commandCount.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_buffer_address

Method
pub fn set_buffer_address(self, value: DeviceAddress) -> Self

Set native field bufferAddress without native effects.

set_stride

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

Set native field stride without native effects.

set_command_count

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

Set native field commandCount without native effects.

clone

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

Stvk::DrawMeshTasksIndirectCommandEXT

Contract

Native structure VkDrawMeshTasksIndirectCommandEXT.

Khronos reference: VkDrawMeshTasksIndirectCommandEXT

Fields

group_count_x

Field
group_count_x: u32

Native field groupCountX.

group_count_y

Field
group_count_y: u32

Native field groupCountY.

group_count_z

Field
group_count_z: u32

Native field groupCountZ.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_group_count_x

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

Set native field groupCountX without native effects.

set_group_count_y

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

Set native field groupCountY without native effects.

set_group_count_z

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

Set native field groupCountZ without native effects.

clone

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

Stvk::DrawMeshTasksIndirectCommandNV

Contract

Native structure VkDrawMeshTasksIndirectCommandNV.

Khronos reference: VkDrawMeshTasksIndirectCommandNV

Fields

task_count

Field
task_count: u32

Native field taskCount.

first_task

Field
first_task: u32

Native field firstTask.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_task_count

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

Set native field taskCount without native effects.

set_first_task

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

Set native field firstTask without native effects.

clone

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

Stvk::DriverId

Contract

Open integer representation of VkDriverId.

Khronos reference: VkDriverId

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: &DriverId) -> bool
Tests for self and other values to be equal, and is used by ==.

Stvk::DrmFormatModifierProperties2EXT

#[repr(C)]pub struct DrmFormatModifierProperties2EXT { pub drm_format_modifier: u64, pub drm_format_modifier_plane_count: u32, pub drm_format_modifier_tiling_features: FormatFeatureFlags2, }
Native structure VkDrmFormatModifierProperties2EXT.

Contract

Native structure VkDrmFormatModifierProperties2EXT.

Khronos reference: VkDrmFormatModifierProperties2EXT

Fields

drm_format_modifier

Field
drm_format_modifier: u64

Native field drmFormatModifier.

drm_format_modifier_plane_count

Field
drm_format_modifier_plane_count: u32

Native field drmFormatModifierPlaneCount.

drm_format_modifier_tiling_features

Field
drm_format_modifier_tiling_features: FormatFeatureFlags2

Native field drmFormatModifierTilingFeatures.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_drm_format_modifier

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

Set native field drmFormatModifier without native effects.

set_drm_format_modifier_plane_count

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

Set native field drmFormatModifierPlaneCount without native effects.

set_drm_format_modifier_tiling_features

Method
pub fn set_drm_format_modifier_tiling_features( self, value: FormatFeatureFlags2, ) -> Self

Set native field drmFormatModifierTilingFeatures without native effects.

clone

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

Stvk::DrmFormatModifierPropertiesEXT

#[repr(C)]pub struct DrmFormatModifierPropertiesEXT { pub drm_format_modifier: u64, pub drm_format_modifier_plane_count: u32, pub drm_format_modifier_tiling_features: FormatFeatureFlags, }
Native structure VkDrmFormatModifierPropertiesEXT.

Contract

Native structure VkDrmFormatModifierPropertiesEXT.

Khronos reference: VkDrmFormatModifierPropertiesEXT

Fields

drm_format_modifier

Field
drm_format_modifier: u64

Native field drmFormatModifier.

drm_format_modifier_plane_count

Field
drm_format_modifier_plane_count: u32

Native field drmFormatModifierPlaneCount.

drm_format_modifier_tiling_features

Field
drm_format_modifier_tiling_features: FormatFeatureFlags

Native field drmFormatModifierTilingFeatures.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_drm_format_modifier

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

Set native field drmFormatModifier without native effects.

set_drm_format_modifier_plane_count

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

Set native field drmFormatModifierPlaneCount without native effects.

set_drm_format_modifier_tiling_features

Method
pub fn set_drm_format_modifier_tiling_features( self, value: FormatFeatureFlags, ) -> Self

Set native field drmFormatModifierTilingFeatures without native effects.

clone

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

Stvk::DrmFormatModifierPropertiesList2EXT

pub struct DrmFormatModifierPropertiesList2EXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub drm_format_modifier_count: u32, pub p_drm_format_modifier_properties: *mut DrmFormatModifierProperties2EXT, /* private fields */ }
Native structure VkDrmFormatModifierPropertiesList2EXT.

Contract

Native structure VkDrmFormatModifierPropertiesList2EXT.

Khronos reference: VkDrmFormatModifierPropertiesList2EXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

drm_format_modifier_count

Field
drm_format_modifier_count: u32

Native field drmFormatModifierCount.

p_drm_format_modifier_properties

Field
p_drm_format_modifier_properties: *mut DrmFormatModifierProperties2EXT

Native field pDrmFormatModifierProperties.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_drm_format_modifier_count

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

Set native count drmFormatModifierCount 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_drm_format_modifier_properties

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

Borrow pDrmFormatModifierProperties and set checked native count drmFormatModifierCount. 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::DrmFormatModifierPropertiesListEXT

pub struct DrmFormatModifierPropertiesListEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub drm_format_modifier_count: u32, pub p_drm_format_modifier_properties: *mut DrmFormatModifierPropertiesEXT, /* private fields */ }
Native structure VkDrmFormatModifierPropertiesListEXT.

Contract

Native structure VkDrmFormatModifierPropertiesListEXT.

Khronos reference: VkDrmFormatModifierPropertiesListEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

drm_format_modifier_count

Field
drm_format_modifier_count: u32

Native field drmFormatModifierCount.

p_drm_format_modifier_properties

Field
p_drm_format_modifier_properties: *mut DrmFormatModifierPropertiesEXT

Native field pDrmFormatModifierProperties.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_drm_format_modifier_count

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

Set native count drmFormatModifierCount 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_drm_format_modifier_properties

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

Borrow pDrmFormatModifierProperties and set checked native count drmFormatModifierCount. 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.