Realm

vk · Functions · G1

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

FnRustExperimental

Fnvk::get_acceleration_structure_build_sizes_khr

pub unsafe fn get_acceleration_structure_build_sizes_khr( device: &Device, build_type: AccelerationStructureBuildTypeKHR, p_build_info: *const AccelerationStructureBuildGeometryInfoKHR<'_>, p_max_primitive_counts: *const u32, p_size_info: *mut AccelerationStructureBuildSizesInfoKHR<'_>, ) -> Result<(), CallError>
Call vkGetAccelerationStructureBuildSizesKHR using this context’s cached function pointer.

Contract

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

Fnvk::get_acceleration_structure_device_address_khr

pub unsafe fn get_acceleration_structure_device_address_khr( device: &Device, p_info: *const AccelerationStructureDeviceAddressInfoKHR<'_>, ) -> Result<DeviceAddress, CallError>
Call vkGetAccelerationStructureDeviceAddressKHR using this context’s cached function pointer.

Contract

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

Fnvk::get_acceleration_structure_handle_nv

pub unsafe fn get_acceleration_structure_handle_nv( device: &Device, acceleration_structure: AccelerationStructureNV, data_size: usize, p_data: *mut c_void, ) -> Result<Result, CallError>
Call vkGetAccelerationStructureHandleNV using this context’s cached function pointer.

Contract

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

Fnvk::get_acceleration_structure_memory_requirements_nv

pub unsafe fn get_acceleration_structure_memory_requirements_nv( device: &Device, p_info: *const AccelerationStructureMemoryRequirementsInfoNV<'_>, p_memory_requirements: *mut MemoryRequirements2<'_>, ) -> Result<(), CallError>
Call vkGetAccelerationStructureMemoryRequirementsNV using this context’s cached function pointer.

Contract

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

Fnvk::get_acceleration_structure_opaque_capture_descriptor_data_ext

pub unsafe fn get_acceleration_structure_opaque_capture_descriptor_data_ext( device: &Device, p_info: *const AccelerationStructureCaptureDescriptorDataInfoEXT<'_>, p_data: *mut c_void, ) -> Result<Result, CallError>
Call vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT using this context’s cached function pointer.

Contract

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

Fnvk::get_android_hardware_buffer_properties_android

pub unsafe fn get_android_hardware_buffer_properties_android( device: &Device, buffer: *const AHardwareBuffer, p_properties: *mut AndroidHardwareBufferPropertiesANDROID<'_>, ) -> Result<Result, CallError>
Call vkGetAndroidHardwareBufferPropertiesANDROID using this context’s cached function pointer.

Contract

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

Fnvk::get_buffer_collection_properties_fuchsia

pub unsafe fn get_buffer_collection_properties_fuchsia( device: &Device, collection: BufferCollectionFUCHSIA, p_properties: *mut BufferCollectionPropertiesFUCHSIA<'_>, ) -> Result<Result, CallError>
Call vkGetBufferCollectionPropertiesFUCHSIA using this context’s cached function pointer.

Contract

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

Fnvk::get_buffer_device_address

pub unsafe fn get_buffer_device_address( device: &Device, info: &BufferDeviceAddressInfo<'_>, ) -> Result<DeviceAddress, CallError>
Call vkGetBufferDeviceAddress using this context’s cached function pointer.

Contract

Call vkGetBufferDeviceAddress using this context’s cached function pointer.

Errors

Reports a missing command; the native scalar is never converted to a status.

Safety

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

Returns the native 64-bit value unchanged, including zero. This is not a VkResult status; opaque capture values are tokens, not dereferenceable addresses. This call neither owns memory nor establishes its lifetime or device accessibility.

Khronos reference: vkGetBufferDeviceAddress

Fnvk::get_buffer_device_address_ext

pub unsafe fn get_buffer_device_address_ext( device: &Device, info: &BufferDeviceAddressInfo<'_>, ) -> Result<DeviceAddress, CallError>
Call vkGetBufferDeviceAddressEXT using this context’s cached function pointer.

Contract

Call vkGetBufferDeviceAddressEXT using this context’s cached function pointer.

Errors

Reports a missing command; the native scalar is never converted to a status.

Safety

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

Returns the native 64-bit value unchanged, including zero. This is not a VkResult status; opaque capture values are tokens, not dereferenceable addresses. This call neither owns memory nor establishes its lifetime or device accessibility.

Khronos reference: vkGetBufferDeviceAddressEXT

Fnvk::get_buffer_device_address_khr

pub unsafe fn get_buffer_device_address_khr( device: &Device, info: &BufferDeviceAddressInfo<'_>, ) -> Result<DeviceAddress, CallError>
Call vkGetBufferDeviceAddressKHR using this context’s cached function pointer.

Contract

Call vkGetBufferDeviceAddressKHR using this context’s cached function pointer.

Errors

Reports a missing command; the native scalar is never converted to a status.

Safety

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

Returns the native 64-bit value unchanged, including zero. This is not a VkResult status; opaque capture values are tokens, not dereferenceable addresses. This call neither owns memory nor establishes its lifetime or device accessibility.

Khronos reference: vkGetBufferDeviceAddressKHR

Fnvk::get_buffer_memory_requirements

pub unsafe fn get_buffer_memory_requirements( device: &Device, buffer: Buffer, ) -> Result<MemoryRequirements, CallError>
Query the memory requirements of a buffer (size, alignment, type bits).

Contract

Query the memory requirements of a buffer (size, alignment, type bits).

Safety

buffer must be a live handle created from this device.

Khronos reference: vkGetBufferMemoryRequirements

Fnvk::get_buffer_memory_requirements2

pub unsafe fn get_buffer_memory_requirements2( device: &Device, info: &BufferMemoryRequirementsInfo2<'_>, memory_requirements: &mut MemoryRequirements2<'_>, ) -> Result<(), CallError>
Call vkGetBufferMemoryRequirements2 using this context’s cached function pointer.

Contract

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

Fnvk::get_buffer_memory_requirements2_khr

pub unsafe fn get_buffer_memory_requirements2_khr( device: &Device, info: &BufferMemoryRequirementsInfo2<'_>, memory_requirements: &mut MemoryRequirements2<'_>, ) -> Result<(), CallError>
Call vkGetBufferMemoryRequirements2KHR using this context’s cached function pointer.

Contract

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

Fnvk::get_buffer_opaque_capture_address

pub unsafe fn get_buffer_opaque_capture_address( device: &Device, info: &BufferDeviceAddressInfo<'_>, ) -> Result<u64, CallError>
Call vkGetBufferOpaqueCaptureAddress using this context’s cached function pointer.

Contract

Call vkGetBufferOpaqueCaptureAddress using this context’s cached function pointer.

Errors

Reports a missing command; the native scalar is never converted to a status.

Safety

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

Returns the native 64-bit value unchanged, including zero. This is not a VkResult status; opaque capture values are tokens, not dereferenceable addresses. This call neither owns memory nor establishes its lifetime or device accessibility.

Khronos reference: vkGetBufferOpaqueCaptureAddress

Fnvk::get_buffer_opaque_capture_address_khr

pub unsafe fn get_buffer_opaque_capture_address_khr( device: &Device, info: &BufferDeviceAddressInfo<'_>, ) -> Result<u64, CallError>
Call vkGetBufferOpaqueCaptureAddressKHR using this context’s cached function pointer.

Contract

Call vkGetBufferOpaqueCaptureAddressKHR using this context’s cached function pointer.

Errors

Reports a missing command; the native scalar is never converted to a status.

Safety

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

Returns the native 64-bit value unchanged, including zero. This is not a VkResult status; opaque capture values are tokens, not dereferenceable addresses. This call neither owns memory nor establishes its lifetime or device accessibility.

Khronos reference: vkGetBufferOpaqueCaptureAddressKHR

Fnvk::get_buffer_opaque_capture_descriptor_data_ext

pub unsafe fn get_buffer_opaque_capture_descriptor_data_ext( device: &Device, p_info: *const BufferCaptureDescriptorDataInfoEXT<'_>, p_data: *mut c_void, ) -> Result<Result, CallError>
Call vkGetBufferOpaqueCaptureDescriptorDataEXT using this context’s cached function pointer.

Contract

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