pub struct Adapter<B: Backend> {
pub info: AdapterInfo,
pub physical_device: B::PhysicalDevice,
pub queue_families: Vec<B::QueueFamily>,
}Expand description
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: AdapterInfoGeneral information about this adapter.
physical_device: B::PhysicalDeviceActual physical device.
queue_families: Vec<B::QueueFamily>Queue families supported by this adapter.
Implementations
sourceimpl<B: Backend> Adapter<B>
impl<B: Backend> Adapter<B>
sourcepub 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,
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> RefUnwindSafe for Adapter<B>where
<B as Backend>::PhysicalDevice: RefUnwindSafe,
<B as Backend>::QueueFamily: RefUnwindSafe,
impl<B> Send for Adapter<B>
impl<B> Sync for Adapter<B>
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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more