[][src]Struct erupt::CoreLoader

pub struct CoreLoader<T> {
    pub loader: T,
    pub symbol_loader: Box<dyn Fn(&T, &str) -> Option<NonZeroUsize> + Send + Sync>,
    pub vk1_0: Option<Vk10CoreCommands>,
    pub vk1_1: Option<Vk11CoreCommands>,
}

Loader for Core Commands

Fields

loader: Tsymbol_loader: Box<dyn Fn(&T, &str) -> Option<NonZeroUsize> + Send + Sync>vk1_0: Option<Vk10CoreCommands>

Implemented in vk1_0::Vk10CoreLoaderExt

vk1_1: Option<Vk11CoreCommands>

Implemented in vk1_1::Vk11CoreLoaderExt

Methods

impl<T> CoreLoader<T>[src]

pub fn custom(
    loader: T,
    symbol_loader: Box<dyn Fn(&T, &str) -> Option<NonZeroUsize> + Send + Sync>
) -> CoreLoader<T>
[src]

pub unsafe fn symbol(&self, name: &str) -> Option<NonZeroUsize>[src]

#[must_use = "Loading may have not been successful"]pub fn load_vk1_0(&mut self) -> Option<()>[src]

#[must_use = "Loading may have not been successful"]pub fn load_vk1_1(&mut self) -> Option<()>[src]

impl<T> CoreLoader<T>[src]

pub fn instance_version(&mut self) -> u32[src]

Important notice

enumerate_instance_version is only available on Vulkan 1.1+, this calls that function if it is available, otherwise it returns erupt::make_version(1, 0, 0)

impl CoreLoader<Library>[src]

pub fn new() -> Result<CoreLoader<Library>, Error>[src]

Load functions using libloading

Enabled using the loading cargo feature

Trait Implementations

impl<T> Vk10CoreLoaderExt for CoreLoader<T>[src]

unsafe fn create_instance(
    &self,
    create_info: &InstanceCreateInfo,
    allocator: Option<&AllocationCallbacks>,
    instance: Option<Instance>
) -> VulkanResult<Instance>
[src]

Vulkan Manual Page · Core Command

unsafe fn enumerate_instance_extension_properties(
    &self,
    layer_name: Option<&CStr>,
    property_count: Option<u32>
) -> VulkanResult<Vec<ExtensionProperties>>
[src]

Vulkan Manual Page · Core Command

unsafe fn enumerate_instance_layer_properties(
    &self,
    property_count: Option<u32>
) -> VulkanResult<Vec<LayerProperties>>
[src]

Vulkan Manual Page · Core Command

impl<T> Vk11CoreLoaderExt for CoreLoader<T>[src]

unsafe fn enumerate_instance_version(
    &self,
    api_version: Option<u32>
) -> VulkanResult<u32>
[src]

Vulkan Manual Page · Core Command

Auto Trait Implementations

impl<T> !RefUnwindSafe for CoreLoader<T>

impl<T> Send for CoreLoader<T> where
    T: Send

impl<T> Sync for CoreLoader<T> where
    T: Sync

impl<T> Unpin for CoreLoader<T> where
    T: Unpin

impl<T> !UnwindSafe for CoreLoader<T>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.