[][src]Struct gfx_hal::adapter::Adapter

pub struct Adapter<B: Backend> {
    pub info: AdapterInfo,
    pub physical_device: B::PhysicalDevice,
    pub queue_families: Vec<B::QueueFamily>,
}

The list of Adapter instances is obtained by calling Instance::enumerate_adapters().

Given an Adapter a Gpu can be constructed by calling PhysicalDevice::open() on its physical_device field. However, if only a single queue family is needed or if no additional device features are required, then the Adapter::open_with convenience method can be used instead.

Fields

info: AdapterInfo

General information about this adapter.

physical_device: B::PhysicalDevice

Actual physical device.

queue_families: Vec<B::QueueFamily>

Queue families supported by this adapter.

Methods

impl<B: Backend> Adapter<B>[src]

pub fn open_with<F, C>(
    &self,
    count: usize,
    selector: F
) -> Result<(B::Device, QueueGroup<B, C>), DeviceCreationError> where
    F: Fn(&B::QueueFamily) -> bool,
    C: Capability
[src]

Open the physical device with count queues from some active queue family. The family is the first that both provides the capability C, supports at least count queues, and for which selector returns true.

Examples

use hal::General;

let (device, queues) = adapter.open_with::<_, General>(1, |_| true).unwrap();

Return

Returns the same errors as open and InitializationFailed if no suitable queue family could be found.

Trait Implementations

impl<B: Debug + Backend> Debug for Adapter<B> where
    B::PhysicalDevice: Debug,
    B::QueueFamily: Debug
[src]

Auto Trait Implementations

impl<B> Unpin for Adapter<B> where
    <B as Backend>::PhysicalDevice: Unpin,
    <B as Backend>::QueueFamily: Unpin

impl<B> Sync for Adapter<B> where
    <B as Backend>::PhysicalDevice: Sync,
    <B as Backend>::QueueFamily: Sync

impl<B> Send for Adapter<B> where
    <B as Backend>::PhysicalDevice: Send,
    <B as Backend>::QueueFamily: Send

impl<B> UnwindSafe for Adapter<B> where
    <B as Backend>::PhysicalDevice: UnwindSafe,
    <B as Backend>::QueueFamily: UnwindSafe

impl<B> RefUnwindSafe for Adapter<B> where
    <B as Backend>::PhysicalDevice: RefUnwindSafe,
    <B as Backend>::QueueFamily: RefUnwindSafe

Blanket Implementations

impl<T> Supports<T> for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]