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]

[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());
}

[src]

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();

[src]

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();
    // ...
}

[src]

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.

[src]

Returns the human-readable name of the device.

[src]

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());
}

[src]

Returns the version of Vulkan supported by this device.

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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.

[src]

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.

[src]

Returns the PCI ID of the device.

[src]

Returns the PCI ID of the vendor.

[src]

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]

[src]

Formats the value using the given formatter.

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

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

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

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

The type of the object.

[src]

Returns a reference to the object.