pub struct Instance { /* private fields */ }Expand description
A Vulkan instance.
Implementations§
Source§impl Instance
impl Instance
Sourcepub unsafe fn from_created(
static_commands: &StaticCommands,
info: &InstanceCreateInfo,
instance: Instance,
) -> VkResult<Self>
pub unsafe fn from_created( static_commands: &StaticCommands, info: &InstanceCreateInfo, instance: Instance, ) -> VkResult<Self>
Loads a Vulkan instance from a previously created vk::Instance.
§Safety
instance must have been created using static_commands and info.
Sourcepub fn extensions(&self) -> &BTreeSet<ExtensionName>
pub fn extensions(&self) -> &BTreeSet<ExtensionName>
Gets the loaded extensions for this Vulkan instance.
Sourcepub fn layers(&self) -> &BTreeSet<ExtensionName>
pub fn layers(&self) -> &BTreeSet<ExtensionName>
Gets the loaded layers for this Vulkan instance.
Sourcepub unsafe fn create_device(
&self,
physical_device: PhysicalDevice,
info: &DeviceCreateInfo,
allocator: Option<&AllocationCallbacks>,
) -> VkResult<Device>
pub unsafe fn create_device( &self, physical_device: PhysicalDevice, info: &DeviceCreateInfo, allocator: Option<&AllocationCallbacks>, ) -> VkResult<Device>
Creates a Vulkan device using this Vulkan instance.
§Safety
The Loader::load method will be called on the supplied Loader
implementation to load the device commands so the safety requirements of
Loader::load for the Loader implementation used must be upheld.
Trait Implementations§
Source§impl InstanceV1_0 for Instance
impl InstanceV1_0 for Instance
fn commands(&self) -> &InstanceCommands
fn handle(&self) -> Instance
Source§unsafe fn create_device(
&self,
physical_device: PhysicalDevice,
create_info: &DeviceCreateInfo,
allocator: Option<&AllocationCallbacks>,
) -> VkResult<Device>
unsafe fn create_device( &self, physical_device: PhysicalDevice, create_info: &DeviceCreateInfo, allocator: Option<&AllocationCallbacks>, ) -> VkResult<Device>
Source§unsafe fn destroy_instance(&self, allocator: Option<&AllocationCallbacks>)
unsafe fn destroy_instance(&self, allocator: Option<&AllocationCallbacks>)
Source§unsafe fn enumerate_device_extension_properties(
&self,
physical_device: PhysicalDevice,
layer_name: Option<&CStr>,
) -> VkResult<Vec<ExtensionProperties>>
unsafe fn enumerate_device_extension_properties( &self, physical_device: PhysicalDevice, layer_name: Option<&CStr>, ) -> VkResult<Vec<ExtensionProperties>>
Source§unsafe fn enumerate_device_layer_properties(
&self,
physical_device: PhysicalDevice,
) -> VkResult<Vec<LayerProperties>>
unsafe fn enumerate_device_layer_properties( &self, physical_device: PhysicalDevice, ) -> VkResult<Vec<LayerProperties>>
Source§unsafe fn enumerate_physical_devices(&self) -> VkResult<Vec<PhysicalDevice>>
unsafe fn enumerate_physical_devices(&self) -> VkResult<Vec<PhysicalDevice>>
Source§unsafe fn get_device_proc_addr(
&self,
device: Device,
name: &CStr,
) -> PFN_vkVoidFunction
unsafe fn get_device_proc_addr( &self, device: Device, name: &CStr, ) -> PFN_vkVoidFunction
Source§unsafe fn get_physical_device_features(
&self,
physical_device: PhysicalDevice,
) -> PhysicalDeviceFeatures
unsafe fn get_physical_device_features( &self, physical_device: PhysicalDevice, ) -> PhysicalDeviceFeatures
Source§unsafe fn get_physical_device_format_properties(
&self,
physical_device: PhysicalDevice,
format: Format,
) -> FormatProperties
unsafe fn get_physical_device_format_properties( &self, physical_device: PhysicalDevice, format: Format, ) -> FormatProperties
Source§unsafe fn get_physical_device_image_format_properties(
&self,
physical_device: PhysicalDevice,
format: Format,
type_: ImageType,
tiling: ImageTiling,
usage: ImageUsageFlags,
flags: ImageCreateFlags,
) -> VkResult<ImageFormatProperties>
unsafe fn get_physical_device_image_format_properties( &self, physical_device: PhysicalDevice, format: Format, type_: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags, ) -> VkResult<ImageFormatProperties>
Source§unsafe fn get_physical_device_memory_properties(
&self,
physical_device: PhysicalDevice,
) -> PhysicalDeviceMemoryProperties
unsafe fn get_physical_device_memory_properties( &self, physical_device: PhysicalDevice, ) -> PhysicalDeviceMemoryProperties
Source§unsafe fn get_physical_device_properties(
&self,
physical_device: PhysicalDevice,
) -> PhysicalDeviceProperties
unsafe fn get_physical_device_properties( &self, physical_device: PhysicalDevice, ) -> PhysicalDeviceProperties
Source§unsafe fn get_physical_device_queue_family_properties(
&self,
physical_device: PhysicalDevice,
) -> Vec<QueueFamilyProperties>
unsafe fn get_physical_device_queue_family_properties( &self, physical_device: PhysicalDevice, ) -> Vec<QueueFamilyProperties>
Source§unsafe fn get_physical_device_sparse_image_format_properties(
&self,
physical_device: PhysicalDevice,
format: Format,
type_: ImageType,
samples: SampleCountFlags,
usage: ImageUsageFlags,
tiling: ImageTiling,
) -> Vec<SparseImageFormatProperties>
unsafe fn get_physical_device_sparse_image_format_properties( &self, physical_device: PhysicalDevice, format: Format, type_: ImageType, samples: SampleCountFlags, usage: ImageUsageFlags, tiling: ImageTiling, ) -> Vec<SparseImageFormatProperties>
impl Send for Instance
impl Sync for Instance
Auto Trait Implementations§
impl Freeze for Instance
impl RefUnwindSafe for Instance
impl Unpin for Instance
impl UnwindSafe for Instance
Blanket Implementations§
Source§impl<C> ArmDataGraphExtensionInstanceCommands for Cwhere
C: InstanceV1_0 + ?Sized,
impl<C> ArmDataGraphExtensionInstanceCommands for Cwhere
C: InstanceV1_0 + ?Sized,
Source§unsafe fn get_physical_device_queue_family_data_graph_processing_engine_properties_arm(
&self,
physical_device: PhysicalDevice,
queue_family_data_graph_processing_engine_info: &PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM,
queue_family_data_graph_processing_engine_properties: &mut QueueFamilyDataGraphProcessingEnginePropertiesARM,
)
unsafe fn get_physical_device_queue_family_data_graph_processing_engine_properties_arm( &self, physical_device: PhysicalDevice, queue_family_data_graph_processing_engine_info: &PhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM, queue_family_data_graph_processing_engine_properties: &mut QueueFamilyDataGraphProcessingEnginePropertiesARM, )
Source§unsafe fn get_physical_device_queue_family_data_graph_properties_arm(
&self,
physical_device: PhysicalDevice,
queue_family_index: u32,
) -> VkResult<Vec<QueueFamilyDataGraphPropertiesARM>>
unsafe fn get_physical_device_queue_family_data_graph_properties_arm( &self, physical_device: PhysicalDevice, queue_family_index: u32, ) -> VkResult<Vec<QueueFamilyDataGraphPropertiesARM>>
Source§impl<C> ArmPerformanceCountersByRegionExtensionInstanceCommands for Cwhere
C: InstanceV1_0 + ?Sized,
impl<C> ArmPerformanceCountersByRegionExtensionInstanceCommands for Cwhere
C: InstanceV1_0 + ?Sized,
Source§unsafe fn enumerate_physical_device_queue_family_performance_counters_by_region_arm(
&self,
physical_device: PhysicalDevice,
queue_family_index: u32,
) -> VkResult<(Vec<PerformanceCounterARM>, Vec<PerformanceCounterDescriptionARM>)>
unsafe fn enumerate_physical_device_queue_family_performance_counters_by_region_arm( &self, physical_device: PhysicalDevice, queue_family_index: u32, ) -> VkResult<(Vec<PerformanceCounterARM>, Vec<PerformanceCounterDescriptionARM>)>
Source§impl<C> ArmTensorsExtensionInstanceCommands for Cwhere
C: InstanceV1_0 + ?Sized,
impl<C> ArmTensorsExtensionInstanceCommands for Cwhere
C: InstanceV1_0 + ?Sized,
Source§unsafe fn get_physical_device_external_tensor_properties_arm(
&self,
physical_device: PhysicalDevice,
external_tensor_info: &PhysicalDeviceExternalTensorInfoARM,
external_tensor_properties: &mut ExternalTensorPropertiesARM,
)
unsafe fn get_physical_device_external_tensor_properties_arm( &self, physical_device: PhysicalDevice, external_tensor_info: &PhysicalDeviceExternalTensorInfoARM, external_tensor_properties: &mut ExternalTensorPropertiesARM, )
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
Mutably borrows from an owned value. Read more