pub struct PhysicalDevice<'a> { /* private fields */ }
Expand description
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::device::physical::PhysicalDevice;
for physical_device in PhysicalDevice::enumerate(&instance) {
print_infos(physical_device);
}
fn print_infos(dev: PhysicalDevice) {
println!("Name: {}", dev.properties().device_name);
}
Implementations
pub fn enumerate(
instance: &'a Arc<Instance>
) -> impl ExactSizeIterator<Item = PhysicalDevice<'a>>
pub fn enumerate(
instance: &'a Arc<Instance>
) -> impl ExactSizeIterator<Item = PhysicalDevice<'a>>
Returns an iterator that enumerates the physical devices available.
Example
use vulkano::device::physical::PhysicalDevice;
for physical_device in PhysicalDevice::enumerate(&instance) {
println!("Available device: {}", physical_device.properties().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::device::physical::PhysicalDevice;
use vulkano::Version;
let instance = Instance::new(None, Version::V1_1, &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::device::physical::PhysicalDevice;
fn do_something(physical_device: PhysicalDevice) {
let _loaded_extensions = physical_device.instance().enabled_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 version of Vulkan supported by this device.
Unlike the api_version
property, which is the version reported by the device directly,
this function returns the version the device can actually support, based on the instance’s,
max_api_version
.
Returns the extensions that are supported by this physical device.
Returns the extensions that must be enabled as a minimum when creating a Device
from this
physical device.
Returns the properties reported by the device.
Returns the features that are supported by this physical device.
Retrieves the properties of a format when used by this physical device.
pub fn image_format_properties(
&self,
format: Format,
ty: ImageType,
tiling: ImageTiling,
usage: ImageUsage,
flags: ImageCreateFlags,
external_memory_handle_type: Option<ExternalMemoryHandleType>,
image_view_type: Option<ImageViewType>
) -> Result<Option<ImageFormatProperties>, OomError>
pub fn image_format_properties(
&self,
format: Format,
ty: ImageType,
tiling: ImageTiling,
usage: ImageUsage,
flags: ImageCreateFlags,
external_memory_handle_type: Option<ExternalMemoryHandleType>,
image_view_type: Option<ImageViewType>
) -> Result<Option<ImageFormatProperties>, OomError>
Returns the properties supported for images with a given image configuration.
Some
is returned if the configuration is supported, None
if it is not.
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.
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.
Trait Implementations
type Object = PhysicalDevice
type Object = PhysicalDevice
The type of the object.
Returns a reference to the object.
Auto Trait Implementations
impl<'a> RefUnwindSafe for PhysicalDevice<'a>
impl<'a> Send for PhysicalDevice<'a>
impl<'a> Sync for PhysicalDevice<'a>
impl<'a> Unpin for PhysicalDevice<'a>
impl<'a> UnwindSafe for PhysicalDevice<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more
Builds a pointer to this type from a raw pointer.
Returns true if the size is suitable to store a type like this.
Returns the size of an individual element.