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
.