Struct voodoo::Loader
[−]
[src]
pub struct Loader { /* fields omitted */ }
A loaded library and InstanceProcAddrLoader
.
Methods
impl Loader
[src]
pub fn new() -> VdResult<Loader>
[src]
Loads the vulkan library (libvulkan.so
, etc), and the
InstanceProcAddrLoader
with all core function pointers.
pub fn get_instance_proc_addr(
&self
) -> Option<unsafe extern "system" fn(_: *mut VkInstance_T, _: *const i8) -> Option<unsafe extern "system" fn()>>
[src]
&self
) -> Option<unsafe extern "system" fn(_: *mut VkInstance_T, _: *const i8) -> Option<unsafe extern "system" fn()>>
Returns the vkGetInstanceProcAddr
function pointer.
pub fn core_global(&self) -> &VkGlobal
[src]
Returns the core global function pointer struct.
pub fn instance_proc_addr_loader(&self) -> &InstanceProcAddrLoader
[src]
Returns a reference to the InstanceProcAddrLoader
.
pub fn instance_proc_addr_loader_mut(&mut self) -> &mut InstanceProcAddrLoader
[src]
Returns a mutable reference to the InstanceProcAddrLoader
.
pub fn enumerate_instance_layer_properties(
&self
) -> VdResult<SmallVec<[VkLayerProperties; 64]>>
[src]
&self
) -> VdResult<SmallVec<[VkLayerProperties; 64]>>
Returns all available instance layers.
pub fn enumerate_instance_extension_properties(
&self
) -> VdResult<SmallVec<[VkExtensionProperties; 64]>>
[src]
&self
) -> VdResult<SmallVec<[VkExtensionProperties; 64]>>
Returns all available instance extensions.
pub fn verify_layer_support<'a, 'cs, Cs>(
&'a self,
layer_names: Cs
) -> VdResult<bool> where
'cs: 'a,
Cs: 'cs + Into<CharStrs<'cs>>,
[src]
&'a self,
layer_names: Cs
) -> VdResult<bool> where
'cs: 'a,
Cs: 'cs + Into<CharStrs<'cs>>,
Verifies that each layer name listed is available.
pub fn enumerate_physical_devices<I>(
&self,
instance: I
) -> VdResult<SmallVec<[VkPhysicalDevice; 16]>> where
I: Handle<Target = InstanceHandle>,
[src]
&self,
instance: I
) -> VdResult<SmallVec<[VkPhysicalDevice; 16]>> where
I: Handle<Target = InstanceHandle>,
Enumerates the physical devices accessible to a Vulkan instance.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkEnumeratePhysicalDevices.html
pub unsafe fn create_instance(
&self,
create_info: &InstanceCreateInfo,
allocator: Option<*const VkAllocationCallbacks>
) -> VdResult<InstanceHandle>
[src]
&self,
create_info: &InstanceCreateInfo,
allocator: Option<*const VkAllocationCallbacks>
) -> VdResult<InstanceHandle>
Creates and returns a new Vulkan instance.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateInstance.html
pub fn destroy_instance(
&self,
instance: InstanceHandle,
allocator: Option<*const VkAllocationCallbacks>
)
[src]
&self,
instance: InstanceHandle,
allocator: Option<*const VkAllocationCallbacks>
)
Destroys a Vulkan instance.
https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyInstance.html