vk · Functions · E1
10 public declarations with native signatures and source-owned contracts.
Fnvk::end_command_buffer
Contract
End recording a command buffer.
Safety
The command buffer must be in the recording state.
Fnvk::enumerate_device_extension_properties
Contract
Enumerate extensions supported by a physical device (optionally filtered by layer).
Pass layer_name = None to query all extensions from the ICD.
Safety
The instance must be live and physical_device must belong to it.
Fnvk::enumerate_device_layer_properties
Contract
Call vkEnumerateDeviceLayerProperties 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 vkEnumerateDeviceLayerProperties valid usage, enabled API/extension/feature,
pointer-chain lifetime, callback compatibility and host/GPU synchronization
requirements. Native resources require explicit destruction after completion.
Retries incomplete/growing results with a bounded budget; returns an error if the query does not stabilize. Allocates the returned vector.
Fnvk::enumerate_physical_device_groups
Contract
Call vkEnumeratePhysicalDeviceGroups 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 vkEnumeratePhysicalDeviceGroups valid usage, enabled API/extension/feature,
pointer-chain lifetime, callback compatibility and host/GPU synchronization
requirements. Native resources require explicit destruction after completion.
Pass None to query the count, or Some with fully initialized output records and live, valid output chains. The slice length supplies native capacity; count receives the native number available/written. Some(empty) is a zero- capacity fill, not a count query. No allocation, retry, header reset or chain replacement occurs. Handle INCOMPLETE (result queries) or re-query for growth (void queries) explicitly. Output contents after native errors follow Vulkan.
Fnvk::enumerate_physical_device_groups_khr
Contract
Call vkEnumeratePhysicalDeviceGroupsKHR 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 vkEnumeratePhysicalDeviceGroupsKHR valid usage, enabled API/extension/feature,
pointer-chain lifetime, callback compatibility and host/GPU synchronization
requirements. Native resources require explicit destruction after completion.
Pass None to query the count, or Some with fully initialized output records and live, valid output chains. The slice length supplies native capacity; count receives the native number available/written. Some(empty) is a zero- capacity fill, not a count query. No allocation, retry, header reset or chain replacement occurs. Handle INCOMPLETE (result queries) or re-query for growth (void queries) explicitly. Output contents after native errors follow Vulkan.
Fnvk::enumerate_physical_device_queue_family_performance_counters_by_region_arm
pub unsafe fn enumerate_physical_device_queue_family_performance_counters_by_region_arm(
instance: &Instance,
physical_device: PhysicalDevice,
queue_family_index: u32,
p_counter_count: *mut u32,
p_counters: *mut PerformanceCounterARM<'_>,
p_counter_descriptions: *mut PerformanceCounterDescriptionARM<'_>,
) -> Result<Result, CallError>Contract
Call vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM 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 vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM 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: vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM
Fnvk::enumerate_physical_device_queue_family_performance_query_counters_khr
pub unsafe fn enumerate_physical_device_queue_family_performance_query_counters_khr(
instance: &Instance,
physical_device: PhysicalDevice,
queue_family_index: u32,
p_counter_count: *mut u32,
p_counters: *mut PerformanceCounterKHR<'_>,
p_counter_descriptions: *mut PerformanceCounterDescriptionKHR<'_>,
) -> Result<Result, CallError>Contract
Call vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR 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 vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR 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: vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
Fnvk::enumerate_physical_device_shader_instrumentation_metrics_arm
Contract
Call vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM 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 vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM 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: vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM
Fnvk::enumerate_physical_devices
Contract
Enumerate physical devices available to this instance.
Safety
The instance must be live and not destroyed.
Fnvk::export_metal_objects_ext
Contract
Call vkExportMetalObjectsEXT 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 vkExportMetalObjectsEXT 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.