[][src]Struct amethyst_rendy::rendy::hal::adapter::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.

Methods

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

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

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]

fn adapt_into(self) -> D[src]

Convert the source color to the destination color using the bradford method by default Read more

impl<T> SetParameter for T[src]

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 
[src]

Sets value as a parameter of self.

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

impl<T> Erased for T[src]

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

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

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

impl<T> Any for T where
    T: Any
[src]

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