Struct ash::EntryCustom [−][src]
Function loader
Implementations
impl<L> EntryCustom<L>
[src]
pub fn new_custom<Load>(lib: L, load: Load) -> Self where
Load: FnMut(&mut L, &CStr) -> *const c_void,
[src]
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 => {}, }
impl EntryCustom<Arc<Library>>
[src]
pub unsafe fn new() -> Result<Entry, LoadingError>
[src]
Load default Vulkan library for the current platform
Safety
dlopen
ing native libraries is inherently unsafe. The safety guidelines
for Library::new
and Library::get
apply here.
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)? };
pub unsafe fn with_library(
path: &impl AsRef<OsStr>
) -> Result<Entry, LoadingError>
[src]
path: &impl AsRef<OsStr>
) -> Result<Entry, LoadingError>
Load Vulkan library at path
Safety
dlopen
ing native libraries is inherently unsafe. The safety guidelines
for Library::new
and Library::get
apply here.
Trait Implementations
impl<L: Clone> Clone for EntryCustom<L>
[src]
fn clone(&self) -> EntryCustom<L>
[src]
pub 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,
pub 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.
pub fn to_owned(&self) -> T
[src]
pub 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.
pub 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>,