[−][src]Struct ash::EntryCustom
Function loader
Methods
impl EntryCustom<Arc<Library>>
[src]
pub fn new() -> Result<Entry, LoadingError>
[src]
use ash::{vk, Entry, version::EntryV1_0}; let entry = Entry::new()?; let app_info = vk::ApplicationInfo { api_version: vk::make_version(1, 0, 0), ..Default::default() }; let create_info = vk::InstanceCreateInfo { p_application_info: &app_info, ..Default::default() }; let instance = unsafe { entry.create_instance(&create_info, None)? };
impl<L> EntryCustom<L>
[src]
pub fn new_custom<Open, Load>(
open: Open,
load: Load
) -> Result<Self, LoadingError> where
Open: FnOnce() -> Result<L, LoadingError>,
Load: FnMut(&mut L, &CStr) -> *const c_void,
[src]
open: Open,
load: Load
) -> Result<Self, LoadingError> where
Open: FnOnce() -> Result<L, LoadingError>,
Load: FnMut(&mut L, &CStr) -> *const c_void,
pub fn try_enumerate_instance_version(&self) -> VkResult<Option<u32>>
[src]
let entry = Entry::new()?; match entry.try_enumerate_instance_version()? { // Vulkan 1.1+ Some(version) => { let major = vk::version_major(version); let minor = vk::version_minor(version); let patch = vk::version_patch(version); }, // Vulkan 1.0 None => {}, }
Trait Implementations
impl<L: Clone> Clone for EntryCustom<L>
[src]
fn clone(&self) -> EntryCustom<L>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<L> EntryV1_0 for EntryCustom<L>
[src]
type Instance = Instance
unsafe fn create_instance(
&self,
create_info: &InstanceCreateInfo,
allocation_callbacks: Option<&AllocationCallbacks>
) -> Result<Self::Instance, InstanceError>
[src]
&self,
create_info: &InstanceCreateInfo,
allocation_callbacks: Option<&AllocationCallbacks>
) -> Result<Self::Instance, InstanceError>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateInstance.html
Safety
In order for the created Instance
to be valid for the duration of its
usage, the Entry
this was called on must be dropped later than the
resulting Instance
.
fn fp_v1_0(&self) -> &EntryFnV1_0
[src]
fn static_fn(&self) -> &StaticFn
[src]
fn enumerate_instance_layer_properties(&self) -> VkResult<Vec<LayerProperties>>
[src]
fn enumerate_instance_extension_properties(
&self
) -> VkResult<Vec<ExtensionProperties>>
[src]
&self
) -> VkResult<Vec<ExtensionProperties>>
unsafe fn get_instance_proc_addr(
&self,
instance: Instance,
p_name: *const c_char
) -> PFN_vkVoidFunction
[src]
&self,
instance: Instance,
p_name: *const c_char
) -> PFN_vkVoidFunction
impl<L> EntryV1_1 for EntryCustom<L>
[src]
fn fp_v1_1(&self) -> &EntryFnV1_1
[src]
fn enumerate_instance_version(&self) -> VkResult<u32>
[src]
impl<L> EntryV1_2 for EntryCustom<L>
[src]
fn fp_v1_2(&self) -> &EntryFnV1_2
[src]
Auto Trait Implementations
impl<L> RefUnwindSafe for EntryCustom<L> where
L: RefUnwindSafe,
L: RefUnwindSafe,
impl<L> Send for EntryCustom<L> where
L: Send,
L: Send,
impl<L> Sync for EntryCustom<L> where
L: Sync,
L: Sync,
impl<L> Unpin for EntryCustom<L> where
L: Unpin,
L: Unpin,
impl<L> UnwindSafe for EntryCustom<L> where
L: UnwindSafe,
L: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,