[−][src]Struct gfx_hal::adapter::Adapter
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, 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]
impl<B: Backend> Adapter<B>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]
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, 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.
Auto Trait Implementations
impl<B> Send for Adapter<B> where
<B as Backend>::PhysicalDevice: Send,
<B as Backend>::QueueFamily: Send,
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> Sync for Adapter<B> where
<B as Backend>::PhysicalDevice: Sync,
<B as Backend>::QueueFamily: Sync, Blanket Implementations
impl<T> Supports for T[src]
impl<T> Supports for Timpl<T> From for T[src]
impl<T> From for Timpl<T, U> Into for T where
U: From<T>, [src]
impl<T, U> Into for T where
U: From<T>, impl<T, U> TryFrom for T where
T: From<U>, [src]
impl<T, U> TryFrom for T where
T: From<U>, type Error = !
try_from)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>impl<T> Borrow for T where
T: ?Sized, [src]
impl<T> Borrow for T where
T: ?Sized, impl<T> BorrowMut for T where
T: ?Sized, [src]
impl<T> BorrowMut for T where
T: ?Sized, fn borrow_mut(&mut self) -> &mut T[src]
fn borrow_mut(&mut self) -> &mut Timpl<T, U> TryInto for T where
U: TryFrom<T>, [src]
impl<T, U> TryInto for T where
U: TryFrom<T>, type Error = <U as TryFrom<T>>::Error
try_from)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Any for T where
T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src]
fn get_type_id(&self) -> TypeId