Realm

vk · Functions · W1

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

FnRustExperimental

Fnvk::wait_for_fences

pub unsafe fn wait_for_fences( device: &Device, fences: &[Fence], wait_all: bool, timeout_ns: u64, ) -> Result<bool, CallError>
Block until one or all of the given fences signal, or the timeout expires.

Contract

Block until one or all of the given fences signal, or the timeout expires.

Returns Ok(true) if all fences signalled within the timeout, Ok(false) if the timeout expired first.

Safety

All fences must be live handles from this device.

Khronos reference: vkWaitForFences

Fnvk::wait_for_present2_khr

pub unsafe fn wait_for_present2_khr( device: &Device, swapchain: SwapchainKHR, p_present_wait2_info: *const PresentWait2InfoKHR<'_>, ) -> Result<Result, CallError>
Call vkWaitForPresent2KHR using this context’s cached function pointer.

Contract

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

Fnvk::wait_for_present_khr

pub unsafe fn wait_for_present_khr( device: &Device, swapchain: SwapchainKHR, present_id: u64, timeout: u64, ) -> Result<Result, CallError>
Call vkWaitForPresentKHR using this context’s cached function pointer.

Contract

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

Fnvk::wait_semaphores

pub unsafe fn wait_semaphores( device: &Device, wait_info: &SemaphoreWaitInfo<'_>, timeout: u64, ) -> Result<Result, CallError>
Call vkWaitSemaphores using this context’s cached function pointer.

Contract

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

Fnvk::wait_semaphores_khr

pub unsafe fn wait_semaphores_khr( device: &Device, wait_info: &SemaphoreWaitInfo<'_>, timeout: u64, ) -> Result<Result, CallError>
Call vkWaitSemaphoresKHR using this context’s cached function pointer.

Contract

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

Fnvk::write_acceleration_structures_properties_khr

pub unsafe fn write_acceleration_structures_properties_khr( device: &Device, acceleration_structure_count: u32, p_acceleration_structures: *const AccelerationStructureKHR, query_type: QueryType, data_size: usize, p_data: *mut c_void, stride: usize, ) -> Result<Result, CallError>
Call vkWriteAccelerationStructuresPropertiesKHR using this context’s cached function pointer.

Contract

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

Fnvk::write_micromaps_properties_ext

pub unsafe fn write_micromaps_properties_ext( device: &Device, micromap_count: u32, p_micromaps: *const MicromapEXT, query_type: QueryType, data_size: usize, p_data: *mut c_void, stride: usize, ) -> Result<Result, CallError>
Call vkWriteMicromapsPropertiesEXT using this context’s cached function pointer.

Contract

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

Fnvk::write_resource_descriptors_ext

pub unsafe fn write_resource_descriptors_ext( device: &Device, resource_count: u32, p_resources: *const ResourceDescriptorInfoEXT<'_>, p_descriptors: *const HostAddressRangeEXT<'_>, ) -> Result<Result, CallError>
Call vkWriteResourceDescriptorsEXT using this context’s cached function pointer.

Contract

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

Fnvk::write_sampler_descriptors_ext

pub unsafe fn write_sampler_descriptors_ext( device: &Device, sampler_count: u32, p_samplers: *const SamplerCreateInfo<'_>, p_descriptors: *const HostAddressRangeEXT<'_>, ) -> Result<Result, CallError>
Call vkWriteSamplerDescriptorsEXT using this context’s cached function pointer.

Contract

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