Realm

vk · Structs · P16

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

StRustExperimental

Stvk::PhysicalDeviceMaintenance7FeaturesKHR

pub struct PhysicalDeviceMaintenance7FeaturesKHR<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub maintenance7: Bool32, /* private fields */ }
Native structure VkPhysicalDeviceMaintenance7FeaturesKHR.

Contract

Native structure VkPhysicalDeviceMaintenance7FeaturesKHR.

Khronos reference: VkPhysicalDeviceMaintenance7FeaturesKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

maintenance7

Field
maintenance7: Bool32

Native field maintenance7.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_maintenance7

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

Set native field maintenance7 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::PhysicalDeviceMaintenance7PropertiesKHR

pub struct PhysicalDeviceMaintenance7PropertiesKHR<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub robust_fragment_shading_rate_attachment_access: Bool32, pub separate_depth_stencil_attachment_access: Bool32, pub max_descriptor_set_total_uniform_buffers_dynamic: u32, pub max_descriptor_set_total_storage_buffers_dynamic: u32, pub max_descriptor_set_total_buffers_dynamic: u32, pub max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32, pub max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32, pub max_descriptor_set_update_after_bind_total_buffers_dynamic: u32, /* private fields */ }
Native structure VkPhysicalDeviceMaintenance7PropertiesKHR.

Contract

Native structure VkPhysicalDeviceMaintenance7PropertiesKHR.

Khronos reference: VkPhysicalDeviceMaintenance7PropertiesKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

robust_fragment_shading_rate_attachment_access

Field
robust_fragment_shading_rate_attachment_access: Bool32

Native field robustFragmentShadingRateAttachmentAccess.

separate_depth_stencil_attachment_access

Field
separate_depth_stencil_attachment_access: Bool32

Native field separateDepthStencilAttachmentAccess.

max_descriptor_set_total_uniform_buffers_dynamic

Field
max_descriptor_set_total_uniform_buffers_dynamic: u32

Native field maxDescriptorSetTotalUniformBuffersDynamic.

max_descriptor_set_total_storage_buffers_dynamic

Field
max_descriptor_set_total_storage_buffers_dynamic: u32

Native field maxDescriptorSetTotalStorageBuffersDynamic.

max_descriptor_set_total_buffers_dynamic

Field
max_descriptor_set_total_buffers_dynamic: u32

Native field maxDescriptorSetTotalBuffersDynamic.

max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic

Field
max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32

Native field maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic.

max_descriptor_set_update_after_bind_total_storage_buffers_dynamic

Field
max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32

Native field maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic.

max_descriptor_set_update_after_bind_total_buffers_dynamic

Field
max_descriptor_set_update_after_bind_total_buffers_dynamic: u32

Native field maxDescriptorSetUpdateAfterBindTotalBuffersDynamic.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_robust_fragment_shading_rate_attachment_access

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

Set native field robustFragmentShadingRateAttachmentAccess without native effects.

set_separate_depth_stencil_attachment_access

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

Set native field separateDepthStencilAttachmentAccess without native effects.

set_max_descriptor_set_total_uniform_buffers_dynamic

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

Set native field maxDescriptorSetTotalUniformBuffersDynamic without native effects.

set_max_descriptor_set_total_storage_buffers_dynamic

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

Set native field maxDescriptorSetTotalStorageBuffersDynamic without native effects.

set_max_descriptor_set_total_buffers_dynamic

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

Set native field maxDescriptorSetTotalBuffersDynamic without native effects.

set_max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic

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

Set native field maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic without native effects.

set_max_descriptor_set_update_after_bind_total_storage_buffers_dynamic

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

Set native field maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic without native effects.

set_max_descriptor_set_update_after_bind_total_buffers_dynamic

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

Set native field maxDescriptorSetUpdateAfterBindTotalBuffersDynamic 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::PhysicalDeviceMaintenance8FeaturesKHR

pub struct PhysicalDeviceMaintenance8FeaturesKHR<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub maintenance8: Bool32, /* private fields */ }
Native structure VkPhysicalDeviceMaintenance8FeaturesKHR.

Contract

Native structure VkPhysicalDeviceMaintenance8FeaturesKHR.

Khronos reference: VkPhysicalDeviceMaintenance8FeaturesKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

maintenance8

Field
maintenance8: Bool32

Native field maintenance8.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_maintenance8

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

Set native field maintenance8 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::PhysicalDeviceMaintenance9FeaturesKHR

pub struct PhysicalDeviceMaintenance9FeaturesKHR<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub maintenance9: Bool32, /* private fields */ }
Native structure VkPhysicalDeviceMaintenance9FeaturesKHR.

Contract

Native structure VkPhysicalDeviceMaintenance9FeaturesKHR.

Khronos reference: VkPhysicalDeviceMaintenance9FeaturesKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

maintenance9

Field
maintenance9: Bool32

Native field maintenance9.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_maintenance9

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

Set native field maintenance9 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::PhysicalDeviceMaintenance9PropertiesKHR

pub struct PhysicalDeviceMaintenance9PropertiesKHR<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub image2_d_view_of3_d_sparse: Bool32, pub default_vertex_attribute_value: DefaultVertexAttributeValueKHR, /* private fields */ }
Native structure VkPhysicalDeviceMaintenance9PropertiesKHR.

Contract

Native structure VkPhysicalDeviceMaintenance9PropertiesKHR.

Khronos reference: VkPhysicalDeviceMaintenance9PropertiesKHR

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

image2_d_view_of3_d_sparse

Field
image2_d_view_of3_d_sparse: Bool32

Native field image2DViewOf3DSparse.

default_vertex_attribute_value

Field
default_vertex_attribute_value: DefaultVertexAttributeValueKHR

Native field defaultVertexAttributeValue.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_image2_d_view_of3_d_sparse

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

Set native field image2DViewOf3DSparse without native effects.

set_default_vertex_attribute_value

Method
pub fn set_default_vertex_attribute_value( self, value: DefaultVertexAttributeValueKHR, ) -> Self

Set native field defaultVertexAttributeValue 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::PhysicalDeviceMapMemoryPlacedFeaturesEXT

pub struct PhysicalDeviceMapMemoryPlacedFeaturesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub memory_map_placed: Bool32, pub memory_map_range_placed: Bool32, pub memory_unmap_reserve: Bool32, /* private fields */ }
Native structure VkPhysicalDeviceMapMemoryPlacedFeaturesEXT.

Contract

Native structure VkPhysicalDeviceMapMemoryPlacedFeaturesEXT.

Khronos reference: VkPhysicalDeviceMapMemoryPlacedFeaturesEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

memory_map_placed

Field
memory_map_placed: Bool32

Native field memoryMapPlaced.

memory_map_range_placed

Field
memory_map_range_placed: Bool32

Native field memoryMapRangePlaced.

memory_unmap_reserve

Field
memory_unmap_reserve: Bool32

Native field memoryUnmapReserve.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_memory_map_placed

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

Set native field memoryMapPlaced without native effects.

set_memory_map_range_placed

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

Set native field memoryMapRangePlaced without native effects.

set_memory_unmap_reserve

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

Set native field memoryUnmapReserve 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::PhysicalDeviceMapMemoryPlacedPropertiesEXT

pub struct PhysicalDeviceMapMemoryPlacedPropertiesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub min_placed_memory_map_alignment: DeviceSize, /* private fields */ }
Native structure VkPhysicalDeviceMapMemoryPlacedPropertiesEXT.

Contract

Native structure VkPhysicalDeviceMapMemoryPlacedPropertiesEXT.

Khronos reference: VkPhysicalDeviceMapMemoryPlacedPropertiesEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

min_placed_memory_map_alignment

Field
min_placed_memory_map_alignment: DeviceSize

Native field minPlacedMemoryMapAlignment.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_min_placed_memory_map_alignment

Method
pub fn set_min_placed_memory_map_alignment(self, value: DeviceSize) -> Self

Set native field minPlacedMemoryMapAlignment 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::PhysicalDeviceMemoryBudgetPropertiesEXT

pub struct PhysicalDeviceMemoryBudgetPropertiesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub heap_budget: [DeviceSize; 16], pub heap_usage: [DeviceSize; 16], /* private fields */ }
Native structure VkPhysicalDeviceMemoryBudgetPropertiesEXT.

Contract

Native structure VkPhysicalDeviceMemoryBudgetPropertiesEXT.

Khronos reference: VkPhysicalDeviceMemoryBudgetPropertiesEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

heap_budget

Field
heap_budget: [DeviceSize; 16]

Native field heapBudget.

heap_usage

Field
heap_usage: [DeviceSize; 16]

Native field heapUsage.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_heap_budget

Method
pub fn set_heap_budget(self, value: [DeviceSize; 16]) -> Self

Set native field heapBudget without native effects.

set_heap_usage

Method
pub fn set_heap_usage(self, value: [DeviceSize; 16]) -> Self

Set native field heapUsage 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::PhysicalDeviceMemoryDecompressionFeaturesEXT

pub struct PhysicalDeviceMemoryDecompressionFeaturesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub memory_decompression: Bool32, /* private fields */ }
Native structure VkPhysicalDeviceMemoryDecompressionFeaturesEXT.

Contract

Native structure VkPhysicalDeviceMemoryDecompressionFeaturesEXT.

Khronos reference: VkPhysicalDeviceMemoryDecompressionFeaturesEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

memory_decompression

Field
memory_decompression: Bool32

Native field memoryDecompression.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_memory_decompression

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

Set native field memoryDecompression 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::PhysicalDeviceMemoryDecompressionPropertiesEXT

pub struct PhysicalDeviceMemoryDecompressionPropertiesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub decompression_methods: MemoryDecompressionMethodFlagsEXT, pub max_decompression_indirect_count: u64, /* private fields */ }
Native structure VkPhysicalDeviceMemoryDecompressionPropertiesEXT.

Contract

Native structure VkPhysicalDeviceMemoryDecompressionPropertiesEXT.

Khronos reference: VkPhysicalDeviceMemoryDecompressionPropertiesEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

decompression_methods

Field
decompression_methods: MemoryDecompressionMethodFlagsEXT

Native field decompressionMethods.

max_decompression_indirect_count

Field
max_decompression_indirect_count: u64

Native field maxDecompressionIndirectCount.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_decompression_methods

Method
pub fn set_decompression_methods( self, value: MemoryDecompressionMethodFlagsEXT, ) -> Self

Set native field decompressionMethods without native effects.

set_max_decompression_indirect_count

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

Set native field maxDecompressionIndirectCount 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::PhysicalDeviceMemoryPriorityFeaturesEXT

pub struct PhysicalDeviceMemoryPriorityFeaturesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub memory_priority: Bool32, /* private fields */ }
Native structure VkPhysicalDeviceMemoryPriorityFeaturesEXT.

Contract

Native structure VkPhysicalDeviceMemoryPriorityFeaturesEXT.

Khronos reference: VkPhysicalDeviceMemoryPriorityFeaturesEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

memory_priority

Field
memory_priority: Bool32

Native field memoryPriority.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_memory_priority

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

Set native field memoryPriority 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::PhysicalDeviceMemoryProperties

#[repr(C)]pub struct PhysicalDeviceMemoryProperties { pub memory_type_count: u32, pub memory_types: [MemoryType; 32], pub memory_heap_count: u32, pub memory_heaps: [MemoryHeap; 16], }
Native structure VkPhysicalDeviceMemoryProperties.

Contract

Native structure VkPhysicalDeviceMemoryProperties.

Khronos reference: VkPhysicalDeviceMemoryProperties

Fields

memory_type_count

Field
memory_type_count: u32

Native field memoryTypeCount.

memory_types

Field
memory_types: [MemoryType; 32]

Native field memoryTypes.

memory_heap_count

Field
memory_heap_count: u32

Native field memoryHeapCount.

memory_heaps

Field
memory_heaps: [MemoryHeap; 16]

Native field memoryHeaps.

Methods and associated items

new

Method
pub fn new() -> Self

Construct the record with its default native state.

set_memory_type_count

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

Set native count memoryTypeCount 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_types

Method
pub fn set_memory_types(self, value: [MemoryType; 32]) -> Self

Set native field memoryTypes without native effects.

set_memory_heap_count

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

Set native count memoryHeapCount 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_heaps

Method
pub fn set_memory_heaps(self, value: [MemoryHeap; 16]) -> Self

Set native field memoryHeaps without native effects.

clone

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

Stvk::PhysicalDeviceMemoryProperties2

pub struct PhysicalDeviceMemoryProperties2<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub memory_properties: PhysicalDeviceMemoryProperties, /* private fields */ }
Native structure VkPhysicalDeviceMemoryProperties2.

Contract

Native structure VkPhysicalDeviceMemoryProperties2.

Khronos reference: VkPhysicalDeviceMemoryProperties2

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

memory_properties

Field
memory_properties: PhysicalDeviceMemoryProperties

Native field memoryProperties.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_memory_properties

Method
pub fn set_memory_properties( self, value: PhysicalDeviceMemoryProperties, ) -> Self

Set native field memoryProperties 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::PhysicalDeviceMeshShaderFeaturesEXT

pub struct PhysicalDeviceMeshShaderFeaturesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub task_shader: Bool32, pub mesh_shader: Bool32, pub multiview_mesh_shader: Bool32, pub primitive_fragment_shading_rate_mesh_shader: Bool32, pub mesh_shader_queries: Bool32, /* private fields */ }
Native structure VkPhysicalDeviceMeshShaderFeaturesEXT.

Contract

Native structure VkPhysicalDeviceMeshShaderFeaturesEXT.

Khronos reference: VkPhysicalDeviceMeshShaderFeaturesEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

task_shader

Field
task_shader: Bool32

Native field taskShader.

mesh_shader

Field
mesh_shader: Bool32

Native field meshShader.

multiview_mesh_shader

Field
multiview_mesh_shader: Bool32

Native field multiviewMeshShader.

primitive_fragment_shading_rate_mesh_shader

Field
primitive_fragment_shading_rate_mesh_shader: Bool32

Native field primitiveFragmentShadingRateMeshShader.

mesh_shader_queries

Field
mesh_shader_queries: Bool32

Native field meshShaderQueries.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_task_shader

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

Set native field taskShader without native effects.

set_mesh_shader

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

Set native field meshShader without native effects.

set_multiview_mesh_shader

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

Set native field multiviewMeshShader without native effects.

set_primitive_fragment_shading_rate_mesh_shader

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

Set native field primitiveFragmentShadingRateMeshShader without native effects.

set_mesh_shader_queries

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

Set native field meshShaderQueries 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::PhysicalDeviceMeshShaderFeaturesNV

pub struct PhysicalDeviceMeshShaderFeaturesNV<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub task_shader: Bool32, pub mesh_shader: Bool32, /* private fields */ }
Native structure VkPhysicalDeviceMeshShaderFeaturesNV.

Contract

Native structure VkPhysicalDeviceMeshShaderFeaturesNV.

Khronos reference: VkPhysicalDeviceMeshShaderFeaturesNV

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

task_shader

Field
task_shader: Bool32

Native field taskShader.

mesh_shader

Field
mesh_shader: Bool32

Native field meshShader.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_task_shader

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

Set native field taskShader without native effects.

set_mesh_shader

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

Set native field meshShader 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::PhysicalDeviceMeshShaderPropertiesEXT

pub struct PhysicalDeviceMeshShaderPropertiesEXT<'a> { pub s_type: StructureType, pub p_next: *mut c_void, pub max_task_work_group_total_count: u32, pub max_task_work_group_count: [u32; 3], pub max_task_work_group_invocations: u32, pub max_task_work_group_size: [u32; 3], pub max_task_payload_size: u32, pub max_task_shared_memory_size: u32, pub max_task_payload_and_shared_memory_size: u32, pub max_mesh_work_group_total_count: u32, pub max_mesh_work_group_count: [u32; 3], pub max_mesh_work_group_invocations: u32, pub max_mesh_work_group_size: [u32; 3], pub max_mesh_shared_memory_size: u32, pub max_mesh_payload_and_shared_memory_size: u32, pub max_mesh_output_memory_size: u32, pub max_mesh_payload_and_output_memory_size: u32, pub max_mesh_output_components: u32, pub max_mesh_output_vertices: u32, pub max_mesh_output_primitives: u32, pub max_mesh_output_layers: u32, pub max_mesh_multiview_view_count: u32, pub mesh_output_per_vertex_granularity: u32, pub mesh_output_per_primitive_granularity: u32, pub max_preferred_task_work_group_invocations: u32, pub max_preferred_mesh_work_group_invocations: u32, pub prefers_local_invocation_vertex_output: Bool32, pub prefers_local_invocation_primitive_output: Bool32, pub prefers_compact_vertex_output: Bool32, pub prefers_compact_primitive_output: Bool32, /* private fields */ }
Native structure VkPhysicalDeviceMeshShaderPropertiesEXT.

Contract

Native structure VkPhysicalDeviceMeshShaderPropertiesEXT.

Khronos reference: VkPhysicalDeviceMeshShaderPropertiesEXT

Fields

s_type

Field
s_type: StructureType

Native field sType.

p_next

Field
p_next: *mut c_void

Native field pNext.

max_task_work_group_total_count

Field
max_task_work_group_total_count: u32

Native field maxTaskWorkGroupTotalCount.

max_task_work_group_count

Field
max_task_work_group_count: [u32; 3]

Native field maxTaskWorkGroupCount.

max_task_work_group_invocations

Field
max_task_work_group_invocations: u32

Native field maxTaskWorkGroupInvocations.

max_task_work_group_size

Field
max_task_work_group_size: [u32; 3]

Native field maxTaskWorkGroupSize.

max_task_payload_size

Field
max_task_payload_size: u32

Native field maxTaskPayloadSize.

max_task_shared_memory_size

Field
max_task_shared_memory_size: u32

Native field maxTaskSharedMemorySize.

max_task_payload_and_shared_memory_size

Field
max_task_payload_and_shared_memory_size: u32

Native field maxTaskPayloadAndSharedMemorySize.

max_mesh_work_group_total_count

Field
max_mesh_work_group_total_count: u32

Native field maxMeshWorkGroupTotalCount.

max_mesh_work_group_count

Field
max_mesh_work_group_count: [u32; 3]

Native field maxMeshWorkGroupCount.

max_mesh_work_group_invocations

Field
max_mesh_work_group_invocations: u32

Native field maxMeshWorkGroupInvocations.

max_mesh_work_group_size

Field
max_mesh_work_group_size: [u32; 3]

Native field maxMeshWorkGroupSize.

max_mesh_shared_memory_size

Field
max_mesh_shared_memory_size: u32

Native field maxMeshSharedMemorySize.

max_mesh_payload_and_shared_memory_size

Field
max_mesh_payload_and_shared_memory_size: u32

Native field maxMeshPayloadAndSharedMemorySize.

max_mesh_output_memory_size

Field
max_mesh_output_memory_size: u32

Native field maxMeshOutputMemorySize.

max_mesh_payload_and_output_memory_size

Field
max_mesh_payload_and_output_memory_size: u32

Native field maxMeshPayloadAndOutputMemorySize.

max_mesh_output_components

Field
max_mesh_output_components: u32

Native field maxMeshOutputComponents.

max_mesh_output_vertices

Field
max_mesh_output_vertices: u32

Native field maxMeshOutputVertices.

max_mesh_output_primitives

Field
max_mesh_output_primitives: u32

Native field maxMeshOutputPrimitives.

max_mesh_output_layers

Field
max_mesh_output_layers: u32

Native field maxMeshOutputLayers.

max_mesh_multiview_view_count

Field
max_mesh_multiview_view_count: u32

Native field maxMeshMultiviewViewCount.

mesh_output_per_vertex_granularity

Field
mesh_output_per_vertex_granularity: u32

Native field meshOutputPerVertexGranularity.

mesh_output_per_primitive_granularity

Field
mesh_output_per_primitive_granularity: u32

Native field meshOutputPerPrimitiveGranularity.

max_preferred_task_work_group_invocations

Field
max_preferred_task_work_group_invocations: u32

Native field maxPreferredTaskWorkGroupInvocations.

max_preferred_mesh_work_group_invocations

Field
max_preferred_mesh_work_group_invocations: u32

Native field maxPreferredMeshWorkGroupInvocations.

prefers_local_invocation_vertex_output

Field
prefers_local_invocation_vertex_output: Bool32

Native field prefersLocalInvocationVertexOutput.

prefers_local_invocation_primitive_output

Field
prefers_local_invocation_primitive_output: Bool32

Native field prefersLocalInvocationPrimitiveOutput.

prefers_compact_vertex_output

Field
prefers_compact_vertex_output: Bool32

Native field prefersCompactVertexOutput.

prefers_compact_primitive_output

Field
prefers_compact_primitive_output: Bool32

Native field prefersCompactPrimitiveOutput.

Methods and associated items

new

Method
pub fn new() -> Self

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

set_max_task_work_group_total_count

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

Set native field maxTaskWorkGroupTotalCount without native effects.

set_max_task_work_group_count

Method
pub fn set_max_task_work_group_count(self, value: [u32; 3]) -> Self

Set native field maxTaskWorkGroupCount without native effects.

set_max_task_work_group_invocations

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

Set native field maxTaskWorkGroupInvocations without native effects.

set_max_task_work_group_size

Method
pub fn set_max_task_work_group_size(self, value: [u32; 3]) -> Self

Set native field maxTaskWorkGroupSize without native effects.

set_max_task_payload_size

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

Set native field maxTaskPayloadSize without native effects.

set_max_task_shared_memory_size

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

Set native field maxTaskSharedMemorySize without native effects.

set_max_task_payload_and_shared_memory_size

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

Set native field maxTaskPayloadAndSharedMemorySize without native effects.

set_max_mesh_work_group_total_count

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

Set native field maxMeshWorkGroupTotalCount without native effects.

set_max_mesh_work_group_count

Method
pub fn set_max_mesh_work_group_count(self, value: [u32; 3]) -> Self

Set native field maxMeshWorkGroupCount without native effects.

set_max_mesh_work_group_invocations

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

Set native field maxMeshWorkGroupInvocations without native effects.

set_max_mesh_work_group_size

Method
pub fn set_max_mesh_work_group_size(self, value: [u32; 3]) -> Self

Set native field maxMeshWorkGroupSize without native effects.

set_max_mesh_shared_memory_size

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

Set native field maxMeshSharedMemorySize without native effects.

set_max_mesh_payload_and_shared_memory_size

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

Set native field maxMeshPayloadAndSharedMemorySize without native effects.

set_max_mesh_output_memory_size

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

Set native field maxMeshOutputMemorySize without native effects.

set_max_mesh_payload_and_output_memory_size

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

Set native field maxMeshPayloadAndOutputMemorySize without native effects.

set_max_mesh_output_components

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

Set native field maxMeshOutputComponents without native effects.

set_max_mesh_output_vertices

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

Set native field maxMeshOutputVertices without native effects.

set_max_mesh_output_primitives

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

Set native field maxMeshOutputPrimitives without native effects.

set_max_mesh_output_layers

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

Set native field maxMeshOutputLayers without native effects.

set_max_mesh_multiview_view_count

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

Set native field maxMeshMultiviewViewCount without native effects.

set_mesh_output_per_vertex_granularity

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

Set native field meshOutputPerVertexGranularity without native effects.

set_mesh_output_per_primitive_granularity

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

Set native field meshOutputPerPrimitiveGranularity without native effects.

set_max_preferred_task_work_group_invocations

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

Set native field maxPreferredTaskWorkGroupInvocations without native effects.

set_max_preferred_mesh_work_group_invocations

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

Set native field maxPreferredMeshWorkGroupInvocations without native effects.

set_prefers_local_invocation_vertex_output

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

Set native field prefersLocalInvocationVertexOutput without native effects.

set_prefers_local_invocation_primitive_output

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

Set native field prefersLocalInvocationPrimitiveOutput without native effects.

set_prefers_compact_vertex_output

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

Set native field prefersCompactVertexOutput without native effects.

set_prefers_compact_primitive_output

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

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