pub struct Instance {
pub(crate) handle: Instance,
pub(crate) instance_fn_1_0: InstanceFnV1_0,
pub(crate) instance_fn_1_1: InstanceFnV1_1,
pub(crate) instance_fn_1_3: InstanceFnV1_3,
}
Fields§
§handle: Instance
§instance_fn_1_0: InstanceFnV1_0
§instance_fn_1_1: InstanceFnV1_1
§instance_fn_1_3: InstanceFnV1_3
Implementations§
source§impl Instance
impl Instance
pub unsafe fn load(static_fn: &StaticFn, instance: Instance) -> Self
pub unsafe fn load_with( load_fn: impl FnMut(&CStr) -> *const c_void, instance: Instance, ) -> Self
pub fn from_parts_1_3( handle: Instance, instance_fn_1_0: InstanceFnV1_0, instance_fn_1_1: InstanceFnV1_1, instance_fn_1_3: InstanceFnV1_3, ) -> Self
pub fn handle(&self) -> Instance
source§impl Instance
impl Instance
Vulkan core 1.3
pub fn fp_v1_3(&self) -> &InstanceFnV1_3
sourcepub unsafe fn get_physical_device_tool_properties_len(
&self,
physical_device: PhysicalDevice,
) -> VkResult<usize>
pub unsafe fn get_physical_device_tool_properties_len( &self, physical_device: PhysicalDevice, ) -> VkResult<usize>
Retrieve the number of elements to pass to get_physical_device_tool_properties()
sourcepub unsafe fn get_physical_device_tool_properties(
&self,
physical_device: PhysicalDevice,
out: &mut [PhysicalDeviceToolProperties<'_>],
) -> VkResult<()>
pub unsafe fn get_physical_device_tool_properties( &self, physical_device: PhysicalDevice, out: &mut [PhysicalDeviceToolProperties<'_>], ) -> VkResult<()>
Call get_physical_device_tool_properties_len()
to query the number of elements to pass to out
.
Be sure to Default::default()
-initialize these elements and optionally set their p_next
pointer.
source§impl Instance
impl Instance
Vulkan core 1.1
pub fn fp_v1_1(&self) -> &InstanceFnV1_1
sourcepub unsafe fn enumerate_physical_device_groups_len(&self) -> VkResult<usize>
pub unsafe fn enumerate_physical_device_groups_len(&self) -> VkResult<usize>
Retrieve the number of elements to pass to enumerate_physical_device_groups()
sourcepub unsafe fn enumerate_physical_device_groups(
&self,
out: &mut [PhysicalDeviceGroupProperties<'_>],
) -> VkResult<()>
pub unsafe fn enumerate_physical_device_groups( &self, out: &mut [PhysicalDeviceGroupProperties<'_>], ) -> VkResult<()>
Call enumerate_physical_device_groups_len()
to query the number of elements to pass to out
.
Be sure to Default::default()
-initialize these elements and optionally set their p_next
pointer.
sourcepub unsafe fn get_physical_device_features2(
&self,
physical_device: PhysicalDevice,
features: &mut PhysicalDeviceFeatures2<'_>,
)
pub unsafe fn get_physical_device_features2( &self, physical_device: PhysicalDevice, features: &mut PhysicalDeviceFeatures2<'_>, )
sourcepub unsafe fn get_physical_device_properties2(
&self,
physical_device: PhysicalDevice,
prop: &mut PhysicalDeviceProperties2<'_>,
)
pub unsafe fn get_physical_device_properties2( &self, physical_device: PhysicalDevice, prop: &mut PhysicalDeviceProperties2<'_>, )
sourcepub unsafe fn get_physical_device_format_properties2(
&self,
physical_device: PhysicalDevice,
format: Format,
out: &mut FormatProperties2<'_>,
)
pub unsafe fn get_physical_device_format_properties2( &self, physical_device: PhysicalDevice, format: Format, out: &mut FormatProperties2<'_>, )
sourcepub unsafe fn get_physical_device_image_format_properties2(
&self,
physical_device: PhysicalDevice,
format_info: &PhysicalDeviceImageFormatInfo2<'_>,
image_format_prop: &mut ImageFormatProperties2<'_>,
) -> VkResult<()>
pub unsafe fn get_physical_device_image_format_properties2( &self, physical_device: PhysicalDevice, format_info: &PhysicalDeviceImageFormatInfo2<'_>, image_format_prop: &mut ImageFormatProperties2<'_>, ) -> VkResult<()>
sourcepub unsafe fn get_physical_device_queue_family_properties2_len(
&self,
physical_device: PhysicalDevice,
) -> usize
pub unsafe fn get_physical_device_queue_family_properties2_len( &self, physical_device: PhysicalDevice, ) -> usize
Retrieve the number of elements to pass to get_physical_device_queue_family_properties2()
sourcepub unsafe fn get_physical_device_queue_family_properties2(
&self,
physical_device: PhysicalDevice,
out: &mut [QueueFamilyProperties2<'_>],
)
pub unsafe fn get_physical_device_queue_family_properties2( &self, physical_device: PhysicalDevice, out: &mut [QueueFamilyProperties2<'_>], )
Call get_physical_device_queue_family_properties2_len()
to query the number of elements to pass to out
.
Be sure to Default::default()
-initialize these elements and optionally set their p_next
pointer.
sourcepub unsafe fn get_physical_device_memory_properties2(
&self,
physical_device: PhysicalDevice,
out: &mut PhysicalDeviceMemoryProperties2<'_>,
)
pub unsafe fn get_physical_device_memory_properties2( &self, physical_device: PhysicalDevice, out: &mut PhysicalDeviceMemoryProperties2<'_>, )
sourcepub unsafe fn get_physical_device_sparse_image_format_properties2_len(
&self,
physical_device: PhysicalDevice,
format_info: &PhysicalDeviceSparseImageFormatInfo2<'_>,
) -> usize
pub unsafe fn get_physical_device_sparse_image_format_properties2_len( &self, physical_device: PhysicalDevice, format_info: &PhysicalDeviceSparseImageFormatInfo2<'_>, ) -> usize
Retrieve the number of elements to pass to get_physical_device_sparse_image_format_properties2()
sourcepub unsafe fn get_physical_device_sparse_image_format_properties2(
&self,
physical_device: PhysicalDevice,
format_info: &PhysicalDeviceSparseImageFormatInfo2<'_>,
out: &mut [SparseImageFormatProperties2<'_>],
)
pub unsafe fn get_physical_device_sparse_image_format_properties2( &self, physical_device: PhysicalDevice, format_info: &PhysicalDeviceSparseImageFormatInfo2<'_>, out: &mut [SparseImageFormatProperties2<'_>], )
Call get_physical_device_sparse_image_format_properties2_len()
to query the number of elements to pass to out
.
Be sure to Default::default()
-initialize these elements and optionally set their p_next
pointer.
sourcepub unsafe fn get_physical_device_external_buffer_properties(
&self,
physical_device: PhysicalDevice,
external_buffer_info: &PhysicalDeviceExternalBufferInfo<'_>,
out: &mut ExternalBufferProperties<'_>,
)
pub unsafe fn get_physical_device_external_buffer_properties( &self, physical_device: PhysicalDevice, external_buffer_info: &PhysicalDeviceExternalBufferInfo<'_>, out: &mut ExternalBufferProperties<'_>, )
sourcepub unsafe fn get_physical_device_external_fence_properties(
&self,
physical_device: PhysicalDevice,
external_fence_info: &PhysicalDeviceExternalFenceInfo<'_>,
out: &mut ExternalFenceProperties<'_>,
)
pub unsafe fn get_physical_device_external_fence_properties( &self, physical_device: PhysicalDevice, external_fence_info: &PhysicalDeviceExternalFenceInfo<'_>, out: &mut ExternalFenceProperties<'_>, )
sourcepub unsafe fn get_physical_device_external_semaphore_properties(
&self,
physical_device: PhysicalDevice,
external_semaphore_info: &PhysicalDeviceExternalSemaphoreInfo<'_>,
out: &mut ExternalSemaphoreProperties<'_>,
)
pub unsafe fn get_physical_device_external_semaphore_properties( &self, physical_device: PhysicalDevice, external_semaphore_info: &PhysicalDeviceExternalSemaphoreInfo<'_>, out: &mut ExternalSemaphoreProperties<'_>, )
source§impl Instance
impl Instance
Vulkan core 1.0
pub fn fp_v1_0(&self) -> &InstanceFnV1_0
sourcepub unsafe fn create_device(
&self,
physical_device: PhysicalDevice,
create_info: &DeviceCreateInfo<'_>,
allocation_callbacks: Option<&AllocationCallbacks<'_>>,
) -> VkResult<Device>
pub unsafe fn create_device( &self, physical_device: PhysicalDevice, create_info: &DeviceCreateInfo<'_>, allocation_callbacks: Option<&AllocationCallbacks<'_>>, ) -> VkResult<Device>
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCreateDevice.html
§Safety
There is a parent/child relation between Instance
and the resulting Device
. The
application must not destroy the parent Instance
object
before first destroying the returned Device
child object.
Device
does not implement drop semantics and can only be destroyed via
destroy_device()
.
See the Entry::create_instance()
documentation for more destruction ordering rules on
Instance
.
sourcepub unsafe fn get_device_proc_addr(
&self,
device: Device,
p_name: *const c_char,
) -> PFN_vkVoidFunction
pub unsafe fn get_device_proc_addr( &self, device: Device, p_name: *const c_char, ) -> PFN_vkVoidFunction
sourcepub unsafe fn destroy_instance(
&self,
allocation_callbacks: Option<&AllocationCallbacks<'_>>,
)
pub unsafe fn destroy_instance( &self, allocation_callbacks: Option<&AllocationCallbacks<'_>>, )
sourcepub unsafe fn get_physical_device_format_properties(
&self,
physical_device: PhysicalDevice,
format: Format,
) -> FormatProperties
pub unsafe fn get_physical_device_format_properties( &self, physical_device: PhysicalDevice, format: Format, ) -> FormatProperties
sourcepub unsafe fn get_physical_device_image_format_properties(
&self,
physical_device: PhysicalDevice,
format: Format,
typ: ImageType,
tiling: ImageTiling,
usage: ImageUsageFlags,
flags: ImageCreateFlags,
) -> VkResult<ImageFormatProperties>
pub unsafe fn get_physical_device_image_format_properties( &self, physical_device: PhysicalDevice, format: Format, typ: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, ) -> VkResult<ImageFormatProperties>
sourcepub unsafe fn get_physical_device_memory_properties(
&self,
physical_device: PhysicalDevice,
) -> PhysicalDeviceMemoryProperties
pub unsafe fn get_physical_device_memory_properties( &self, physical_device: PhysicalDevice, ) -> PhysicalDeviceMemoryProperties
sourcepub unsafe fn get_physical_device_properties(
&self,
physical_device: PhysicalDevice,
) -> PhysicalDeviceProperties
pub unsafe fn get_physical_device_properties( &self, physical_device: PhysicalDevice, ) -> PhysicalDeviceProperties
sourcepub unsafe fn get_physical_device_queue_family_properties(
&self,
physical_device: PhysicalDevice,
) -> Vec<QueueFamilyProperties>
pub unsafe fn get_physical_device_queue_family_properties( &self, physical_device: PhysicalDevice, ) -> Vec<QueueFamilyProperties>
sourcepub unsafe fn get_physical_device_features(
&self,
physical_device: PhysicalDevice,
) -> PhysicalDeviceFeatures
pub unsafe fn get_physical_device_features( &self, physical_device: PhysicalDevice, ) -> PhysicalDeviceFeatures
sourcepub unsafe fn enumerate_physical_devices(&self) -> VkResult<Vec<PhysicalDevice>>
pub unsafe fn enumerate_physical_devices(&self) -> VkResult<Vec<PhysicalDevice>>
sourcepub unsafe fn enumerate_device_extension_properties(
&self,
device: PhysicalDevice,
) -> VkResult<Vec<ExtensionProperties>>
pub unsafe fn enumerate_device_extension_properties( &self, device: PhysicalDevice, ) -> VkResult<Vec<ExtensionProperties>>
sourcepub unsafe fn enumerate_device_layer_properties(
&self,
device: PhysicalDevice,
) -> VkResult<Vec<LayerProperties>>
pub unsafe fn enumerate_device_layer_properties( &self, device: PhysicalDevice, ) -> VkResult<Vec<LayerProperties>>
sourcepub unsafe fn get_physical_device_sparse_image_format_properties(
&self,
physical_device: PhysicalDevice,
format: Format,
typ: ImageType,
samples: SampleCountFlags,
usage: ImageUsageFlags,
tiling: ImageTiling,
) -> Vec<SparseImageFormatProperties>
pub unsafe fn get_physical_device_sparse_image_format_properties( &self, physical_device: PhysicalDevice, format: Format, typ: ImageType, samples: SampleCountFlags, usage: ImageUsageFlags, tiling: ImageTiling, ) -> Vec<SparseImageFormatProperties>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Instance
impl RefUnwindSafe for Instance
impl Send for Instance
impl Sync for Instance
impl Unpin for Instance
impl UnwindSafe for Instance
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)