vk::load · Structs · E1
Global dispatch. Instances created here retain the native library independently.
Stvk::load::Entry
Contract
Global dispatch. Instances created here retain the native library independently.
Methods and associated items
new
Load the platform’s default Vulkan library.
Safety
The library and its initialization routines must be safe to load, and it must implement the Vulkan ABI. Raw copied PFNs must not outlive all owners.
new_from_path
Load a Vulkan implementation at the supplied native path.
Safety
The library’s initialization/finalization must be safe, and its exports must implement Vulkan. Raw copied PFNs must not outlive all library owners.
new_from_resolver
Construct dispatch using an externally owned resolver.
Safety
The resolver must implement Vulkan and remain callable for this entry and all instances and raw PFNs derived from it, including any entry clones.
fp
Borrow the immutable global dispatch table. Copied functions remain unsafe.
get_instance_proc_addr
Resolve a command for a live instance, or a global command with NULL.
Safety
instance must be NULL or a live instance from this implementation.
The caller must retain the library while using the returned function.
create_instance
Create a headless or extension-configured Vulkan instance.
Safety
The create info, its reachable pointers and allocator callbacks must meet Vulkan valid usage. Allocator state must remain alive until destruction.
enumerate_instance_extension_properties
Enumerate instance extensions available without any layer.
Pass layer_name = None for the implicit layer (ICD + loader). Pass a
layer name to query extensions exposed by that specific layer.
Errors
Returns CallError::MissingCommand if the driver predates Vulkan 1.0
(practically impossible) or CallError::Vulkan on a driver failure.
enumerate_instance_layer_properties
Enumerate all implicit and explicit Vulkan layers installed on this system.
Errors
Returns CallError::MissingCommand if the command is absent or
CallError::Vulkan on a driver failure.
enumerate_instance_version
Query the loader API version. A Vulkan 1.0 loader has no version command.