Realm

vk · Functions · C24

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

FnRustExperimental

Fnvk::create_indirect_commands_layout_ext

pub unsafe fn create_indirect_commands_layout_ext( device: &Device, p_create_info: *const IndirectCommandsLayoutCreateInfoEXT<'_>, p_allocator: *const AllocationCallbacks, p_indirect_commands_layout: *mut IndirectCommandsLayoutEXT, ) -> Result<Result, CallError>
Call vkCreateIndirectCommandsLayoutEXT using this context’s cached function pointer.

Contract

Call vkCreateIndirectCommandsLayoutEXT using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreateIndirectCommandsLayoutEXT valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreateIndirectCommandsLayoutEXT

Fnvk::create_indirect_commands_layout_nv

pub unsafe fn create_indirect_commands_layout_nv( device: &Device, p_create_info: *const IndirectCommandsLayoutCreateInfoNV<'_>, p_allocator: *const AllocationCallbacks, p_indirect_commands_layout: *mut IndirectCommandsLayoutNV, ) -> Result<Result, CallError>
Call vkCreateIndirectCommandsLayoutNV using this context’s cached function pointer.

Contract

Call vkCreateIndirectCommandsLayoutNV using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreateIndirectCommandsLayoutNV valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreateIndirectCommandsLayoutNV

Fnvk::create_indirect_execution_set_ext

pub unsafe fn create_indirect_execution_set_ext( device: &Device, p_create_info: *const IndirectExecutionSetCreateInfoEXT<'_>, p_allocator: *const AllocationCallbacks, p_indirect_execution_set: *mut IndirectExecutionSetEXT, ) -> Result<Result, CallError>
Call vkCreateIndirectExecutionSetEXT using this context’s cached function pointer.

Contract

Call vkCreateIndirectExecutionSetEXT using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreateIndirectExecutionSetEXT valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreateIndirectExecutionSetEXT

Fnvk::create_instance

pub unsafe fn create_instance( entry: &Entry, create_info: &InstanceCreateInfo<'_>, allocator: Option<&AllocationCallbacks>, ) -> Result<Instance, CallError>
Create a headless or extension-configured Vulkan instance.

Contract

Create a headless or extension-configured Vulkan instance.

Errors

Reports host metadata/version-query failures before creation, driver errors, invalid native outputs and unavailable destruction. If rollback is impossible, CallError::InitializationFailed retains the native object for explicit recovery.

Safety

The create info, its reachable pointers and allocator callbacks must meet Vulkan valid usage. Allocator state must remain alive until destruction.

Khronos reference: vkCreateInstance

Fnvk::create_ios_surface_mvk

pub unsafe fn create_ios_surface_mvk( instance: &Instance, p_create_info: *const IOSSurfaceCreateInfoMVK<'_>, p_allocator: *const AllocationCallbacks, p_surface: *mut SurfaceKHR, ) -> Result<Result, CallError>
Call vkCreateIOSSurfaceMVK using this context’s cached function pointer.

Contract

Call vkCreateIOSSurfaceMVK using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreateIOSSurfaceMVK valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreateIOSSurfaceMVK

Fnvk::create_mac_os_surface_mvk

pub unsafe fn create_mac_os_surface_mvk( instance: &Instance, p_create_info: *const MacOSSurfaceCreateInfoMVK<'_>, p_allocator: *const AllocationCallbacks, p_surface: *mut SurfaceKHR, ) -> Result<Result, CallError>
Call vkCreateMacOSSurfaceMVK using this context’s cached function pointer.

Contract

Call vkCreateMacOSSurfaceMVK using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreateMacOSSurfaceMVK valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreateMacOSSurfaceMVK

Fnvk::create_metal_surface_ext

pub unsafe fn create_metal_surface_ext( instance: &Instance, p_create_info: *const MetalSurfaceCreateInfoEXT<'_>, p_allocator: *const AllocationCallbacks, p_surface: *mut SurfaceKHR, ) -> Result<Result, CallError>
Call vkCreateMetalSurfaceEXT using this context’s cached function pointer.

Contract

Call vkCreateMetalSurfaceEXT using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreateMetalSurfaceEXT valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreateMetalSurfaceEXT

Fnvk::create_micromap_ext

pub unsafe fn create_micromap_ext( device: &Device, p_create_info: *const MicromapCreateInfoEXT<'_>, p_allocator: *const AllocationCallbacks, p_micromap: *mut MicromapEXT, ) -> Result<Result, CallError>
Call vkCreateMicromapEXT using this context’s cached function pointer.

Contract

Call vkCreateMicromapEXT using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreateMicromapEXT valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreateMicromapEXT

Fnvk::create_optical_flow_session_nv

pub unsafe fn create_optical_flow_session_nv( device: &Device, p_create_info: *const OpticalFlowSessionCreateInfoNV<'_>, p_allocator: *const AllocationCallbacks, p_session: *mut OpticalFlowSessionNV, ) -> Result<Result, CallError>
Call vkCreateOpticalFlowSessionNV using this context’s cached function pointer.

Contract

Call vkCreateOpticalFlowSessionNV using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreateOpticalFlowSessionNV valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreateOpticalFlowSessionNV

Fnvk::create_pipeline_binaries_khr

pub unsafe fn create_pipeline_binaries_khr( device: &Device, p_create_info: *const PipelineBinaryCreateInfoKHR<'_>, p_allocator: *const AllocationCallbacks, p_binaries: *mut PipelineBinaryHandlesInfoKHR<'_>, ) -> Result<Result, CallError>
Call vkCreatePipelineBinariesKHR using this context’s cached function pointer.

Contract

Call vkCreatePipelineBinariesKHR using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreatePipelineBinariesKHR valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreatePipelineBinariesKHR

Fnvk::create_pipeline_cache

pub unsafe fn create_pipeline_cache( device: &Device, create_info: &PipelineCacheCreateInfo<'_>, allocator: Option<&AllocationCallbacks>, ) -> Result<PipelineCache, CallError>
Call vkCreatePipelineCache using this context’s cached function pointer.

Contract

Call vkCreatePipelineCache using this context’s cached function pointer.

Errors

Reports a missing command, invalid slice lengths/counts or a native error.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreatePipelineCache valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Khronos reference: vkCreatePipelineCache

Fnvk::create_pipeline_layout

pub unsafe fn create_pipeline_layout( device: &Device, create_info: &PipelineLayoutCreateInfo<'_>, allocator: Option<&AllocationCallbacks>, ) -> Result<PipelineLayout, CallError>
Call vkCreatePipelineLayout using this context’s cached function pointer.

Contract

Call vkCreatePipelineLayout using this context’s cached function pointer.

Errors

Reports a missing command, invalid slice lengths/counts or a native error.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreatePipelineLayout valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Khronos reference: vkCreatePipelineLayout

Fnvk::create_private_data_slot

pub unsafe fn create_private_data_slot( device: &Device, p_create_info: *const PrivateDataSlotCreateInfo<'_>, p_allocator: *const AllocationCallbacks, p_private_data_slot: *mut PrivateDataSlot, ) -> Result<Result, CallError>
Call vkCreatePrivateDataSlot using this context’s cached function pointer.

Contract

Call vkCreatePrivateDataSlot using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreatePrivateDataSlot valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreatePrivateDataSlot

Fnvk::create_private_data_slot_ext

pub unsafe fn create_private_data_slot_ext( device: &Device, p_create_info: *const PrivateDataSlotCreateInfo<'_>, p_allocator: *const AllocationCallbacks, p_private_data_slot: *mut PrivateDataSlot, ) -> Result<Result, CallError>
Call vkCreatePrivateDataSlotEXT using this context’s cached function pointer.

Contract

Call vkCreatePrivateDataSlotEXT using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreatePrivateDataSlotEXT valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreatePrivateDataSlotEXT

Fnvk::create_query_pool

pub unsafe fn create_query_pool( device: &Device, create_info: &QueryPoolCreateInfo<'_>, allocator: Option<&AllocationCallbacks>, ) -> Result<QueryPool, CallError>
Call vkCreateQueryPool using this context’s cached function pointer.

Contract

Call vkCreateQueryPool using this context’s cached function pointer.

Errors

Reports a missing command, invalid slice lengths/counts or a native error.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreateQueryPool valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Khronos reference: vkCreateQueryPool

Fnvk::create_ray_tracing_pipelines_khr

pub unsafe fn create_ray_tracing_pipelines_khr( device: &Device, deferred_operation: DeferredOperationKHR, pipeline_cache: PipelineCache, create_info_count: u32, p_create_infos: *const RayTracingPipelineCreateInfoKHR<'_>, p_allocator: *const AllocationCallbacks, p_pipelines: *mut Pipeline, ) -> Result<Result, CallError>
Call vkCreateRayTracingPipelinesKHR using this context’s cached function pointer.

Contract

Call vkCreateRayTracingPipelinesKHR using this context’s cached function pointer.

Errors

Reports a missing command or a negative native VkResult; non-error results are preserved.

Safety

The context and all handles must be live and belong to the same Vulkan implementation/device. Meet vkCreateRayTracingPipelinesKHR valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Preserves native raw pointers, explicit counts, optional nulls and return values. The caller supplies correctly aligned live storage, initialized output-chain headers and every extent implied by native counts, strides or nested records. No allocation, retry, output initialization, ownership transfer or alias fallback occurs in this wrapper. Outputs, including partial outputs on native failure, remain caller-owned and must be inspected/cleaned up according to Vulkan.

Khronos reference: vkCreateRayTracingPipelinesKHR