pub struct DeviceInfo {
    pub debug: bool,
    pub select_physical_device: Box<SelectPhysicalDeviceFn>,
}
Expand description

Information used to create a Device instance.

Fields§

§debug: bool

Enables Vulkan validation layers.

This requires a Vulkan SDK installation and will cause validation errors to introduce panics as they happen.

NOTE: Consider turning OFF debug if you discover an unknown issue. Often the validation layers will throw an error before other layers can provide additional context such as the API dump info or other messages. You might find the “actual” issue is detailed in those subsequent details.

Platform-specific

macOS: Has no effect.

§select_physical_device: Box<SelectPhysicalDeviceFn>

Callback function used to select a PhysicalDevice from the available devices. The callback must return the index of the selected device.

Implementations§

source§

impl DeviceInfo

source

pub fn new() -> DeviceInfoBuilder

Specifies default device information.

source

pub fn integrated_gpu(physical_devices: &[PhysicalDevice]) -> usize

A builtin DeviceInfo::select_physical_device function which prioritizes selection of lower-power integrated GPU devices.

source

pub fn discrete_gpu(physical_devices: &[PhysicalDevice]) -> usize

A builtin DeviceInfo::select_physical_device function which prioritizes selection of higher-performance discrete GPU devices.

Trait Implementations§

source§

impl From<DeviceInfoBuilder> for DeviceInfo

source§

fn from(info: DeviceInfoBuilder) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.