[]Struct amethyst_rendy::rendy::hal::Adapter

pub struct Adapter<B> where
    B: Backend
{ pub info: AdapterInfo, pub physical_device: <B as Backend>::PhysicalDevice, pub queue_families: Vec<<B as Backend>::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 as Backend>::PhysicalDevice

Actual physical device.

queue_families: Vec<<B as Backend>::QueueFamily>

Queue families supported by this adapter.

Implementations

impl<B> Adapter<B> where
    B: Backend

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

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 for Adapter<B> where
    B: Backend + Debug,
    <B as Backend>::PhysicalDevice: Debug,
    <B as Backend>::QueueFamily: Debug

Auto Trait Implementations

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

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

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

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

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

Blanket Implementations

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
    D: AdaptFrom<S, Swp, Dwp, T>,
    Dwp: WhitePoint,
    Swp: WhitePoint,
    T: Component + Float
[src]

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

impl<T> Any for T where
    T: Any

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

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

impl<T> Event for T where
    T: Send + Sync + 'static, 

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

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

impl<T> Resource for T where
    T: Any + Send + Sync

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SetParameter for T

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> Supports<T> for T

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<V, T> VZip<V> for T where
    V: MultiLane<T>,