Realm

vk · Functions · C23

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

FnRustExperimental

Fnvk::create_descriptor_update_template_khr

pub unsafe fn create_descriptor_update_template_khr( device: &Device, create_info: &DescriptorUpdateTemplateCreateInfo<'_>, allocator: Option<&AllocationCallbacks>, ) -> Result<DescriptorUpdateTemplate, CallError>
Call vkCreateDescriptorUpdateTemplateKHR using this context’s cached function pointer.

Contract

Call vkCreateDescriptorUpdateTemplateKHR 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 vkCreateDescriptorUpdateTemplateKHR 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: vkCreateDescriptorUpdateTemplateKHR

Fnvk::create_device

pub unsafe fn create_device( instance: &Instance, physical_device: PhysicalDevice, create_info: &DeviceCreateInfo<'_>, allocator: Option<&AllocationCallbacks>, ) -> Result<Device, CallError>
Create a logical device from a physical device.

Contract

Create a logical device from a physical device.

Errors

Reports preflight/metadata failures, driver errors, invalid native outputs and unavailable destruction. If rollback is impossible, CallError::InitializationFailed retains the device 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: vkCreateDevice

Fnvk::create_direct_fb_surface_ext

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

Contract

Call vkCreateDirectFBSurfaceEXT 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 vkCreateDirectFBSurfaceEXT 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: vkCreateDirectFBSurfaceEXT

Fnvk::create_display_mode_khr

pub unsafe fn create_display_mode_khr( instance: &Instance, physical_device: PhysicalDevice, display: DisplayKHR, p_create_info: *const DisplayModeCreateInfoKHR<'_>, p_allocator: *const AllocationCallbacks, p_mode: *mut DisplayModeKHR, ) -> Result<Result, CallError>
Call vkCreateDisplayModeKHR using this context’s cached function pointer.

Contract

Call vkCreateDisplayModeKHR 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 vkCreateDisplayModeKHR 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: vkCreateDisplayModeKHR

Fnvk::create_display_plane_surface_khr

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

Contract

Call vkCreateDisplayPlaneSurfaceKHR 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 vkCreateDisplayPlaneSurfaceKHR 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: vkCreateDisplayPlaneSurfaceKHR

Fnvk::create_event

pub unsafe fn create_event( device: &Device, create_info: &EventCreateInfo<'_>, allocator: Option<&AllocationCallbacks>, ) -> Result<Event, CallError>
Call vkCreateEvent using this context’s cached function pointer.

Contract

Call vkCreateEvent 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 vkCreateEvent 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: vkCreateEvent

Fnvk::create_execution_graph_pipelines_amdx

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

Contract

Call vkCreateExecutionGraphPipelinesAMDX 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 vkCreateExecutionGraphPipelinesAMDX 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: vkCreateExecutionGraphPipelinesAMDX

Fnvk::create_external_compute_queue_nv

pub unsafe fn create_external_compute_queue_nv( device: &Device, p_create_info: *const ExternalComputeQueueCreateInfoNV<'_>, p_allocator: *const AllocationCallbacks, p_external_queue: *mut ExternalComputeQueueNV, ) -> Result<Result, CallError>
Call vkCreateExternalComputeQueueNV using this context’s cached function pointer.

Contract

Call vkCreateExternalComputeQueueNV 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 vkCreateExternalComputeQueueNV 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: vkCreateExternalComputeQueueNV

Fnvk::create_fence

Contract

Create a fence.

Safety

create_info must be valid. The fence must be destroyed exactly once.

Khronos reference: vkCreateFence

Fnvk::create_framebuffer

pub unsafe fn create_framebuffer( device: &Device, create_info: &FramebufferCreateInfo<'_>, allocator: Option<&AllocationCallbacks>, ) -> Result<Framebuffer, CallError>
Call vkCreateFramebuffer using this context’s cached function pointer.

Contract

Call vkCreateFramebuffer 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 vkCreateFramebuffer 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: vkCreateFramebuffer

Fnvk::create_gpa_session_amd

pub unsafe fn create_gpa_session_amd( device: &Device, p_create_info: *const GpaSessionCreateInfoAMD<'_>, p_allocator: *const AllocationCallbacks, p_gpa_session: *mut GpaSessionAMD, ) -> Result<Result, CallError>
Call vkCreateGpaSessionAMD using this context’s cached function pointer.

Contract

Call vkCreateGpaSessionAMD 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 vkCreateGpaSessionAMD 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: vkCreateGpaSessionAMD

Fnvk::create_graphics_pipelines

pub unsafe fn create_graphics_pipelines( device: &Device, pipeline_cache: PipelineCache, create_infos: &[GraphicsPipelineCreateInfo<'_>], allocator: Option<&AllocationCallbacks>, pipelines: &mut [Pipeline], ) -> Result<Result, CallError>
Call vkCreateGraphicsPipelines using this context’s cached function pointer.

Contract

Call vkCreateGraphicsPipelines 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 vkCreateGraphicsPipelines valid usage, enabled API/extension/feature, pointer-chain lifetime, callback compatibility and host/GPU synchronization requirements. Native resources require explicit destruction after completion.

Returns non-error native status codes unchanged, including compile-required. On native failure, output slots can contain successfully created pipelines; the caller must inspect and destroy every non-null handle. Slots are not reset before the call: their previous contents must not own live resources.

Khronos reference: vkCreateGraphicsPipelines

Fnvk::create_headless_surface_ext

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

Contract

Call vkCreateHeadlessSurfaceEXT 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 vkCreateHeadlessSurfaceEXT 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: vkCreateHeadlessSurfaceEXT

Fnvk::create_image

pub unsafe fn create_image( device: &Device, create_info: &ImageCreateInfo<'_>, allocator: Option<&AllocationCallbacks>, ) -> Result<Image, CallError>
Call vkCreateImage using this context’s cached function pointer.

Contract

Call vkCreateImage 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 vkCreateImage 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: vkCreateImage

Fnvk::create_image_pipe_surface_fuchsia

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

Contract

Call vkCreateImagePipeSurfaceFUCHSIA 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 vkCreateImagePipeSurfaceFUCHSIA 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: vkCreateImagePipeSurfaceFUCHSIA

Fnvk::create_image_view

pub unsafe fn create_image_view( device: &Device, create_info: &ImageViewCreateInfo<'_>, allocator: Option<&AllocationCallbacks>, ) -> Result<ImageView, CallError>
Call vkCreateImageView using this context’s cached function pointer.

Contract

Call vkCreateImageView 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 vkCreateImageView 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: vkCreateImageView