pub struct DeviceCreateInfo<'a> {
pub flags: u32,
pub p_enabled_features: *const PhysicalDeviceFeatures,
/* private fields */
}Expand description
Fields§
§flags: u32§p_enabled_features: *const PhysicalDeviceFeaturesImplementations§
Source§impl<'a> DeviceCreateInfo<'a>
impl<'a> DeviceCreateInfo<'a>
pub fn flags(self, value: u32) -> Self
pub fn enabled_features(self, value: Option<&'a PhysicalDeviceFeatures>) -> Self
pub fn queue_create_infos( self, p_queue_create_infos: impl AsSlice<'a, DeviceQueueCreateInfo<'a>>, ) -> Self
pub fn get_queue_create_infos(&self) -> &'a [DeviceQueueCreateInfo<'a>]
pub fn enabled_layer( self, pp_enabled_layer_names: impl AsSlice<'a, *const c_char>, ) -> Self
pub fn get_enabled_layer_names(&self) -> &'a [*const c_char]
pub fn enabled_extension( self, pp_enabled_extension_names: impl AsSlice<'a, DeviceExtensionName>, ) -> Self
pub fn get_enabled_extension_names(&self) -> &'a [DeviceExtensionName]
pub fn push_next<T: ExtendingStructure<Self>>(self, ext: &'a mut T) -> Self
Trait Implementations§
Source§impl<'a> Default for DeviceCreateInfo<'a>
impl<'a> Default for DeviceCreateInfo<'a>
Source§impl<'a> ExtendableStructure for DeviceCreateInfo<'a>
impl<'a> ExtendableStructure for DeviceCreateInfo<'a>
const STRUCTURE_TYPE: StructureType = StructureType::DeviceCreateInfo
Source§unsafe fn retrieve_next(&self) -> &Cell<*const Header>
unsafe fn retrieve_next(&self) -> &Cell<*const Header>
SAFETY: Same as ExtendableStructureBase::header
Source§unsafe fn push_next_unchecked<T: ExtendableStructure>(&self, ext: &T)
unsafe fn push_next_unchecked<T: ExtendableStructure>(&self, ext: &T)
Assuming the current structure chain is the following:
Self -> Ext1 -> Ext2 -> Ext3
calling this function with Ext4 will result in:
Self -> Ext4 -> Ext1 -> Ext2 -> Ext3
This function will never cause cycles in the structure chain
This function is unsafe because it discards the lifetime (ExtendableStructure does not have a lifetime parameter)
Also it does not check that T is a valid extension to be added to Self and only requires references (and not mutable references)
Source§fn new_uninit() -> MaybeUninit<Self>
fn new_uninit() -> MaybeUninit<Self>
Return a unitialized structure except the structure type being correctly set
and the p_next pointer being set to null
Source§impl<'a> ExtendableStructureBase for DeviceCreateInfo<'a>
impl<'a> ExtendableStructureBase for DeviceCreateInfo<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for DeviceDeviceMemoryReportCreateInfoEXT<'a>
Available on crate feature
ext_device_memory_report only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for DeviceDiagnosticsConfigCreateInfoNV<'a>
Available on crate feature
ext_device_diagnostics_config only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for DeviceGroupDeviceCreateInfo<'a>
Available on crate features
ext_device_group_creation or version_1_1 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for DeviceMemoryOverallocationCreateInfoAMD<'a>
Available on crate feature
ext_memory_overallocation_behavior only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for DevicePipelineBinaryInternalCacheControlKHR<'a>
Available on crate feature
ext_pipeline_binary only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for DevicePrivateDataCreateInfo<'a>
Available on crate features
ext_private_data or version_1_3 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for DeviceQueueShaderCoreControlCreateInfoARM<'a>
Available on crate feature
ext_scheduling_controls only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for ExternalComputeQueueDeviceCreateInfoNV<'a>
Available on crate feature
ext_external_compute_queue only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PerformanceQueryReservationInfoKHR<'a>
Available on crate feature
ext_performance_query only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevice16BitStorageFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevice4444FormatsFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevice8BitStorageFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceASTCDecodeFeaturesEXT<'a>
Available on crate feature
ext_astc_decode_mode only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceAccelerationStructureFeaturesKHR<'a>
Available on crate feature
ext_acceleration_structure only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceAddressBindingReportFeaturesEXT<'a>
Available on crate feature
ext_device_address_binding_report only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceAmigoProfilingFeaturesSEC<'a>
Available on crate feature
ext_amigo_profiling only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceAntiLagFeaturesAMD<'a>
Available on crate feature
ext_anti_lag only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT<'a>
Available on crate feature
ext_attachment_feedback_loop_dynamic_state only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceBlendOperationAdvancedFeaturesEXT<'a>
Available on crate feature
ext_blend_operation_advanced only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceBorderColorSwizzleFeaturesEXT<'a>
Available on crate feature
ext_border_color_swizzle only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceBufferDeviceAddressFeatures<'a>
Available on crate features
ext_buffer_device_address or version_1_2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceBufferDeviceAddressFeaturesEXT<'a>
Available on crate feature
ext_buffer_device_address only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceClusterAccelerationStructureFeaturesNV<'a>
Available on crate feature
ext_cluster_acceleration_structure only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceClusterCullingShaderFeaturesHUAWEI<'a>
Available on crate feature
ext_cluster_culling_shader only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCoherentMemoryFeaturesAMD<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceColorWriteEnableFeaturesEXT<'a>
Available on crate feature
ext_color_write_enable only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCommandBufferInheritanceFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceComputeShaderDerivativesFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceConditionalRenderingFeaturesEXT<'a>
Available on crate feature
ext_conditional_rendering only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCooperativeMatrix2FeaturesNV<'a>
Available on crate feature
ext_cooperative_matrix2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCooperativeMatrixFeaturesKHR<'a>
Available on crate feature
ext_cooperative_matrix only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCooperativeMatrixFeaturesNV<'a>
Available on crate feature
ext_cooperative_matrix only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCooperativeVectorFeaturesNV<'a>
Available on crate feature
ext_cooperative_vector only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCopyMemoryIndirectFeaturesNV<'a>
Available on crate feature
ext_copy_memory_indirect only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCornerSampledImageFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCoverageReductionModeFeaturesNV<'a>
Available on crate feature
ext_coverage_reduction_mode only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCubicClampFeaturesQCOM<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCubicWeightsFeaturesQCOM<'a>
Available on crate feature
ext_filter_cubic_weights only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCudaKernelLaunchFeaturesNV<'a>
Available on crate feature
ext_cuda_kernel_launch only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceCustomBorderColorFeaturesEXT<'a>
Available on crate feature
ext_custom_border_color only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDataGraphFeaturesARM<'a>
Available on crate feature
ext_data_graph only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDenseGeometryFormatFeaturesAMDX<'a>
Available on crate feature
ext_dense_geometry_format only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDepthBiasControlFeaturesEXT<'a>
Available on crate feature
ext_depth_bias_control only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDepthClampControlFeaturesEXT<'a>
Available on crate feature
ext_depth_clamp_control only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDepthClampZeroOneFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDepthClipControlFeaturesEXT<'a>
Available on crate feature
ext_depth_clip_control only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDepthClipEnableFeaturesEXT<'a>
Available on crate feature
ext_depth_clip_enable only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDescriptorBufferFeaturesEXT<'a>
Available on crate feature
ext_descriptor_buffer only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDescriptorBufferTensorFeaturesARM<'a>
Available on crate features
ext_tensors and ext_descriptor_buffer only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDescriptorIndexingFeatures<'a>
Available on crate features
ext_descriptor_indexing or version_1_2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDescriptorPoolOverallocationFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE<'a>
Available on crate feature
ext_descriptor_set_host_mapping only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV<'a>
Available on crate feature
ext_device_generated_commands_compute only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT<'a>
Available on crate feature
ext_device_generated_commands only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDeviceGeneratedCommandsFeaturesNV<'a>
Available on crate feature
ext_device_generated_commands only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDeviceMemoryReportFeaturesEXT<'a>
Available on crate feature
ext_device_memory_report only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDiagnosticsConfigFeaturesNV<'a>
Available on crate feature
ext_device_diagnostics_config only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDisplacementMicromapFeaturesNV<'a>
Available on crate feature
ext_displacement_micromap only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDynamicRenderingFeatures<'a>
Available on crate features
ext_dynamic_rendering or version_1_3 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDynamicRenderingLocalReadFeatures<'a>
Available on crate features
ext_dynamic_rendering_local_read or version_1_4 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceExclusiveScissorFeaturesNV<'a>
Available on crate feature
ext_scissor_exclusive only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceExtendedDynamicState2FeaturesEXT<'a>
Available on crate feature
ext_extended_dynamic_state2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceExtendedDynamicState3FeaturesEXT<'a>
Available on crate feature
ext_extended_dynamic_state3 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceExtendedDynamicStateFeaturesEXT<'a>
Available on crate feature
ext_extended_dynamic_state only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceExternalFormatResolveFeaturesANDROID<'a>
Available on crate features
ext_sampler_ycbcr_conversion or version_1_1 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceExternalMemoryRDMAFeaturesNV<'a>
Available on crate feature
ext_external_memory_rdma only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX<'a>
Available on crate feature
ext_external_memory_screen_buffer only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFaultFeaturesEXT<'a>
Available on crate feature
ext_device_fault only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFeatures2<'a>
Available on crate features
ext_get_physical_device_properties2 or version_1_1 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFormatPackFeaturesARM<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFragmentDensityMap2FeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFragmentDensityMapFeaturesEXT<'a>
Available on crate feature
ext_fragment_density_map only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE<'a>
Available on crate feature
ext_fragment_density_map_layered only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFragmentDensityMapOffsetFeaturesEXT<'a>
Available on crate feature
ext_fragment_density_map_offset only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFragmentShaderBarycentricFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFragmentShaderInterlockFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFragmentShadingRateEnumsFeaturesNV<'a>
Available on crate feature
ext_fragment_shading_rate_enums only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFragmentShadingRateFeaturesKHR<'a>
Available on crate feature
ext_fragment_shading_rate only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceFrameBoundaryFeaturesEXT<'a>
Available on crate feature
ext_frame_boundary only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceGlobalPriorityQueryFeatures<'a>
Available on crate features
ext_global_priority or version_1_4 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT<'a>
Available on crate feature
ext_graphics_pipeline_library only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceHdrVividFeaturesHUAWEI<'a>
Available on crate feature
ext_hdr_vivid only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceHostImageCopyFeatures<'a>
Available on crate features
ext_host_image_copy or version_1_4 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceHostQueryResetFeatures<'a>
Available on crate features
ext_host_query_reset or version_1_2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceImage2DViewOf3DFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceImageAlignmentControlFeaturesMESA<'a>
Available on crate feature
ext_image_alignment_control only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceImageCompressionControlFeaturesEXT<'a>
Available on crate feature
ext_image_compression_control only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceImageProcessing2FeaturesQCOM<'a>
Available on crate feature
ext_image_processing2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceImageProcessingFeaturesQCOM<'a>
Available on crate feature
ext_image_processing only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceImageRobustnessFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceImageSlicedViewOf3DFeaturesEXT<'a>
Available on crate feature
ext_image_sliced_view_of_3d only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceImageViewMinLodFeaturesEXT<'a>
Available on crate feature
ext_image_view_min_lod only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceImagelessFramebufferFeatures<'a>
Available on crate features
ext_imageless_framebuffer or version_1_2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceIndexTypeUint8Features<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceInheritedViewportScissorFeaturesNV<'a>
Available on crate feature
ext_inherited_viewport_scissor only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceInlineUniformBlockFeatures<'a>
Available on crate features
ext_inline_uniform_block or version_1_3 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceInvocationMaskFeaturesHUAWEI<'a>
Available on crate feature
ext_invocation_mask only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceLegacyDitheringFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceLegacyVertexAttributesFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceLineRasterizationFeatures<'a>
Available on crate features
ext_line_rasterization or version_1_4 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceLinearColorAttachmentFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMaintenance4Features<'a>
Available on crate features
ext_maintenance4 or version_1_3 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMaintenance5Features<'a>
Available on crate features
ext_maintenance5 or version_1_4 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMaintenance6Features<'a>
Available on crate features
ext_maintenance6 or version_1_4 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMaintenance7FeaturesKHR<'a>
Available on crate feature
ext_maintenance7 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMaintenance8FeaturesKHR<'a>
Available on crate feature
ext_maintenance8 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMaintenance9FeaturesKHR<'a>
Available on crate feature
ext_maintenance9 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMapMemoryPlacedFeaturesEXT<'a>
Available on crate feature
ext_map_memory_placed only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMemoryDecompressionFeaturesNV<'a>
Available on crate feature
ext_memory_decompression only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMemoryPriorityFeaturesEXT<'a>
Available on crate feature
ext_memory_priority only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMeshShaderFeaturesEXT<'a>
Available on crate feature
ext_mesh_shader only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMeshShaderFeaturesNV<'a>
Available on crate feature
ext_mesh_shader only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMultiDrawFeaturesEXT<'a>
Available on crate feature
ext_multi_draw only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT<'a>
Available on crate feature
ext_multisampled_render_to_single_sampled only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMultiviewFeatures<'a>
Available on crate features
ext_multiview or version_1_1 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM<'a>
Available on crate feature
ext_multiview_per_view_render_areas only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceMutableDescriptorTypeFeaturesEXT<'a>
Available on crate feature
ext_mutable_descriptor_type only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceNestedCommandBufferFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceNonSeamlessCubeMapFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceOpacityMicromapFeaturesEXT<'a>
Available on crate feature
ext_opacity_micromap only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceOpticalFlowFeaturesNV<'a>
Available on crate feature
ext_optical_flow only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT<'a>
Available on crate feature
ext_pageable_device_local_memory only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePartitionedAccelerationStructureFeaturesNV<'a>
Available on crate feature
ext_partitioned_acceleration_structure only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePerStageDescriptorSetFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePerformanceQueryFeaturesKHR<'a>
Available on crate feature
ext_performance_query only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePipelineBinaryFeaturesKHR<'a>
Available on crate feature
ext_pipeline_binary only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePipelineCacheIncrementalModeFeaturesSEC<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePipelineCreationCacheControlFeatures<'a>
Available on crate features
ext_pipeline_creation_cache_control or version_1_3 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePipelineExecutablePropertiesFeaturesKHR<'a>
Available on crate feature
ext_pipeline_executable_properties only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePipelineOpacityMicromapFeaturesARM<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePipelinePropertiesFeaturesEXT<'a>
Available on crate feature
ext_pipeline_properties only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePipelineProtectedAccessFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePipelineRobustnessFeatures<'a>
Available on crate features
ext_pipeline_robustness or version_1_4 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePortabilitySubsetFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePresentBarrierFeaturesNV<'a>
Available on crate feature
ext_present_barrier only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePresentId2FeaturesKHR<'a>
Available on crate feature
ext_present_id2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePresentIdFeaturesKHR<'a>
Available on crate feature
ext_present_id only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePresentMeteringFeaturesNV<'a>
Available on crate feature
ext_present_metering only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePresentWait2FeaturesKHR<'a>
Available on crate feature
ext_present_wait2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePresentWaitFeaturesKHR<'a>
Available on crate feature
ext_present_wait only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDevicePrivateDataFeatures<'a>
Available on crate features
ext_private_data or version_1_3 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceProtectedMemoryFeatures<'a>
Available on crate feature
version_1_1 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceProvokingVertexFeaturesEXT<'a>
Available on crate feature
ext_provoking_vertex only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRGBA10X6FormatsFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT<'a>
Available on crate feature
ext_rasterization_order_attachment_access only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRawAccessChainsFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRayQueryFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRayTracingInvocationReorderFeaturesNV<'a>
Available on crate feature
ext_ray_tracing_invocation_reorder only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV<'a>
Available on crate feature
ext_ray_tracing_linear_swept_spheres only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRayTracingMaintenance1FeaturesKHR<'a>
Available on crate feature
ext_ray_tracing_maintenance1 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRayTracingMotionBlurFeaturesNV<'a>
Available on crate feature
ext_ray_tracing_motion_blur only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRayTracingPipelineFeaturesKHR<'a>
Available on crate feature
ext_ray_tracing_pipeline only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRayTracingPositionFetchFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRayTracingValidationFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRelaxedLineRasterizationFeaturesIMG<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRenderPassStripedFeaturesARM<'a>
Available on crate feature
ext_render_pass_striped only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRepresentativeFragmentTestFeaturesNV<'a>
Available on crate feature
ext_representative_fragment_test only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceRobustness2FeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceSamplerYcbcrConversionFeatures<'a>
Available on crate features
ext_sampler_ycbcr_conversion or version_1_1 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceScalarBlockLayoutFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceSchedulingControlsFeaturesARM<'a>
Available on crate feature
ext_scheduling_controls only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceSeparateDepthStencilLayoutsFeatures<'a>
Available on crate features
ext_separate_depth_stencil_layouts or version_1_2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderAtomicFloat2FeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderAtomicFloatFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderAtomicInt64Features<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderBfloat16FeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderClockFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderCoreBuiltinsFeaturesARM<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderDemoteToHelperInvocationFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderDrawParametersFeatures<'a>
Available on crate feature
version_1_1 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderEnqueueFeaturesAMDX<'a>
Available on crate feature
ext_shader_enqueue only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderExpectAssumeFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderFloat16Int8Features<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderFloat8FeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderFloatControls2Features<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderImageAtomicInt64FeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderImageFootprintFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderIntegerDotProductFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderModuleIdentifierFeaturesEXT<'a>
Available on crate feature
ext_shader_module_identifier only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderObjectFeaturesEXT<'a>
Available on crate feature
ext_shader_object only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderQuadControlFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderReplicatedCompositesFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderSMBuiltinsFeaturesNV<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderSubgroupExtendedTypesFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderSubgroupRotateFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderTerminateInvocationFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShaderTileImageFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceShadingRateImageFeaturesNV<'a>
Available on crate feature
ext_shading_rate_image only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceSubgroupSizeControlFeatures<'a>
Available on crate features
ext_subgroup_size_control or version_1_3 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceSubpassMergeFeedbackFeaturesEXT<'a>
Available on crate feature
ext_subpass_merge_feedback only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceSubpassShadingFeaturesHUAWEI<'a>
Available on crate feature
ext_subpass_shading only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceSwapchainMaintenance1FeaturesKHR<'a>
Available on crate feature
ext_swapchain_maintenance1 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceSynchronization2Features<'a>
Available on crate features
ext_synchronization2 or version_1_3 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceTensorFeaturesARM<'a>
Available on crate feature
ext_tensors only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceTexelBufferAlignmentFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceTextureCompressionASTCHDRFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceTileMemoryHeapFeaturesQCOM<'a>
Available on crate feature
ext_tile_memory_heap only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceTilePropertiesFeaturesQCOM<'a>
Available on crate feature
ext_tile_properties only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceTileShadingFeaturesQCOM<'a>
Available on crate feature
ext_tile_shading only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceTimelineSemaphoreFeatures<'a>
Available on crate features
ext_timeline_semaphore or version_1_2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceTransformFeedbackFeaturesEXT<'a>
Available on crate feature
ext_transform_feedback only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceUnifiedImageLayoutsFeaturesKHR<'a>
Available on crate feature
ext_unified_image_layouts only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceUniformBufferStandardLayoutFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceVariablePointersFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceVertexAttributeDivisorFeatures<'a>
Available on crate features
ext_vertex_attribute_divisor or version_1_4 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceVertexAttributeRobustnessFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceVertexInputDynamicStateFeaturesEXT<'a>
Available on crate feature
ext_vertex_input_dynamic_state only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceVulkan11Features<'a>
Available on crate feature
version_1_2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceVulkan12Features<'a>
Available on crate feature
version_1_2 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceVulkan13Features<'a>
Available on crate feature
version_1_3 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceVulkan14Features<'a>
Available on crate feature
version_1_4 only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceVulkanMemoryModelFeatures<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceYcbcrDegammaFeaturesQCOM<'a>
Available on crate feature
ext_ycbcr_degamma only.impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceYcbcrImageArraysFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT<'a>
impl<'a, 'b> ExtendingStructure<DeviceCreateInfo<'b>> for PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures<'a>
impl<'a> Send for DeviceCreateInfo<'a>
impl<'a> Sync for DeviceCreateInfo<'a>
Auto Trait Implementations§
impl<'a> !Freeze for DeviceCreateInfo<'a>
impl<'a> !RefUnwindSafe for DeviceCreateInfo<'a>
impl<'a> Unpin for DeviceCreateInfo<'a>
impl<'a> !UnwindSafe for DeviceCreateInfo<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<H> StructureChainOut<H> for Hwhere
H: ExtendableStructure,
impl<H> StructureChainOut<H> for Hwhere
H: ExtendableStructure,
Source§fn setup_uninit(chain: &mut MaybeUninit<H>)
fn setup_uninit(chain: &mut MaybeUninit<H>)
Setup an uninitialized structure chain
After this call, for the structure chain to be initialized, each structure field (with the exception of the structure type
and the p_next pointer) must be initialized (usually by calling the appropriate vulkan command)
The structure type and p_next pointer of each struct are set so that a vulkan commands sees a pointer to the head
as a valid chain containing all structures
Calling setup_uninit should be enough to then call a vulkan command filling this structure chain, moreover after
the call to this vulkan command, the whole structure chain should be considered initialized
Source§fn get_uninit_head_ptr(chain: *mut H) -> *mut H
fn get_uninit_head_ptr(chain: *mut H) -> *mut H
Return a mutable pointer to the head structure, which can then be passed to vulkan commands
Source§fn setup_cleanup(_: *mut H)
fn setup_cleanup(_: *mut H)
Function to call after a vulkan function initialized this structure to make sure there is no dangling pointer
or anything which could cause undefined behavior