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

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

Represents one of the available devices on this machine.

This struct simply contains a pointer to an instance and a number representing the physical device. You are therefore encouraged to pass this around by value instead of by reference.

Example

use vulkano::instance::PhysicalDevice;

for physical_device in PhysicalDevice::enumerate(&instance) {
    print_infos(physical_device);
}

fn print_infos(dev: PhysicalDevice) {
    println!("Name: {}", dev.name());
}

Methods

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

Returns an iterator that enumerates the physical devices available.

Example

use vulkano::instance::PhysicalDevice;

for physical_device in PhysicalDevice::enumerate(&instance) {
    println!("Available device: {}", physical_device.name());
}

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

Indices range from 0 to the number of devices.

Example

use vulkano::instance::Instance;
use vulkano::instance::InstanceExtensions;
use vulkano::instance::PhysicalDevice;

let instance = Instance::new(None, &InstanceExtensions::none(), None).unwrap();
let first_physical_device = PhysicalDevice::from_index(&instance, 0).unwrap();

Returns the instance corresponding to this physical device.

Example

use vulkano::instance::PhysicalDevice;

fn do_something(physical_device: PhysicalDevice) {
    let _loaded_extensions = physical_device.instance().loaded_extensions();
    // ...
}

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.

Returns the human-readable name of the device.

Returns the type of the device.

Example

use vulkano::instance::PhysicalDevice;

for physical_device in PhysicalDevice::enumerate(&instance) {
    println!("Available device: {} (type: {:?})",
              physical_device.name(), physical_device.ty());
}

Returns the version of Vulkan supported by this device.

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

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

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

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

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

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

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

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.

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

The meaning of this number is implementation-specific. It can be used in bug reports, for example.

Returns the PCI ID of the device.

Returns the PCI ID of the vendor.

Returns a unique identifier for the device.

Can be stored in a configuration file, so that you can retrieve the device again the next time the program is run.

Trait Implementations

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

Formats the value using the given formatter.

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

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

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

The type of the object.

Returns a reference to the object.