Struct vulkano::instance::PhysicalDevice [] [src]

pub struct PhysicalDevice<'a> {
    // some fields omitted
}

Represents one of the available devices on this machine.

Methods

impl<'a> PhysicalDevice<'a>
[src]

fn enumerate(instance: &'a Arc<Instance>) -> PhysicalDevicesIter<'a>

Returns an iterator that enumerates the physical devices available.

fn from_index(instance: &'a Arc<Instance>, index: usize) -> Option<PhysicalDevice<'a>>

Returns a physical device from its index. Returns None if out of range.

fn instance(&self) -> &'a Arc<Instance>

Returns the instance corresponding to this physical device.

fn index(&self) -> usize

Returns the index of the physical device in the physical devices list.

This index never changes and can be used later to retrieve a PhysicalDevice from an instance and an index.

fn name(&self) -> String

Returns the human-readable name of the device.

fn ty(&self) -> PhysicalDeviceType

Returns the type of the device.

fn api_version(&self) -> Version

Returns the version of Vulkan supported by this device.

fn supported_features(&self) -> &'a Features

Returns the Vulkan features that are supported by this physical device.

fn queue_families(&self) -> QueueFamiliesIter<'a>

Builds an iterator that enumerates all the queue families on this physical device.

fn queue_family_by_id(&self, id: u32) -> Option<QueueFamily<'a>>

Returns the queue family with the given index, or None if out of range.

fn memory_types(&self) -> MemoryTypesIter<'a>

Builds an iterator that enumerates all the memory types on this physical device.

fn memory_type_by_id(&self, id: u32) -> Option<MemoryType<'a>>

Returns the memory type with the given index, or None if out of range.

fn memory_heaps(&self) -> MemoryHeapsIter<'a>

Builds an iterator that enumerates all the memory heaps on this physical device.

fn memory_heap_by_id(&self, id: u32) -> Option<MemoryHeap<'a>>

Returns the memory heap with the given index, or None if out of range.

fn limits(&self) -> Limits<'a>

Gives access to the limits of the physical device.

This function should be zero-cost in release mode. It only exists to not pollute the namespace of PhysicalDevice with all the limits-related getters.

fn driver_version(&self) -> u32

Returns an opaque number representing the version of the driver of this device.

fn pci_device_id(&self) -> u32

Returns the PCI ID of the device.

fn pci_vendor_id(&self) -> u32

Returns the PCI ID of the vendor.

fn uuid(&self) -> &[u8; 16]

Returns a unique identifier for the device.

Trait Implementations

impl<'a> Clone for PhysicalDevice<'a>
[src]

fn clone(&self) -> PhysicalDevice<'a>

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl<'a> Copy for PhysicalDevice<'a>
[src]

impl<'a> Debug for PhysicalDevice<'a>
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<'a> VulkanObject for PhysicalDevice<'a>
[src]

type Object = PhysicalDevice

The type of the object.

fn internal_object(&self) -> PhysicalDevice

Returns a reference to the object.