Struct nannou::wgpu::AdapterMap
source · pub struct AdapterMap { /* private fields */ }
Expand description
A map from RequestAdapterOptions
to active adapters.
Each time an adapter is requested via the App
, it keeps track of which adapters are active.
This is done in order to allow re-use of adapters and in turn re-use of logical devices and the
sharing of resources between windows.
At the end of the application loop (after update
and view
have been called), adapters
containing no active device connections are removed from the map.
Implementations§
source§impl AdapterMap
impl AdapterMap
sourcepub fn get_or_request<'a, 'b>(
&'a self,
options: RequestAdapterOptions<&'b Surface>,
instance: &'a Instance
) -> Option<Arc<ActiveAdapter>>
pub fn get_or_request<'a, 'b>( &'a self, options: RequestAdapterOptions<&'b Surface>, instance: &'a Instance ) -> Option<Arc<ActiveAdapter>>
Check for an adaptor with the given options or request one.
First checks to see if an adapter for the given set of options is active. If so, returns a
handle to this adapter. Otherwise, requests a new adapter via Adapter::request
.
Returns None
if there are no available adapters that meet the specified options.
sourcepub fn request<'a, 'b>(
&'a self,
options: RequestAdapterOptions<&'b Surface>,
instance: &'a Instance
) -> Option<Arc<ActiveAdapter>>
pub fn request<'a, 'b>( &'a self, options: RequestAdapterOptions<&'b Surface>, instance: &'a Instance ) -> Option<Arc<ActiveAdapter>>
Request an adaptor with the given options.
This will always request a new adapter and will never attempt to share an existing one. The new adapter will take the place of the old within the map in the case that an existing active adapter exists.
Returns None
if there are no available adapters that meet the specified options.
sourcepub async fn get_or_request_async<'a, 'b>(
&'a self,
options: RequestAdapterOptions<&'b Surface>,
instance: &'a Instance
) -> Option<Arc<ActiveAdapter>>
pub async fn get_or_request_async<'a, 'b>( &'a self, options: RequestAdapterOptions<&'b Surface>, instance: &'a Instance ) -> Option<Arc<ActiveAdapter>>
The async implementation of get_or_request
.
sourcepub async fn request_async<'a, 'b>(
&'a self,
options: RequestAdapterOptions<&'b Surface>,
instance: &'b Instance
) -> Option<Arc<ActiveAdapter>>
pub async fn request_async<'a, 'b>( &'a self, options: RequestAdapterOptions<&'b Surface>, instance: &'b Instance ) -> Option<Arc<ActiveAdapter>>
The async implementation of request
.
sourcepub fn clear_inactive_adapters_and_devices(&self)
pub fn clear_inactive_adapters_and_devices(&self)
Clear all adapters that currently have no connected devices.
First clears all devices that no longer have any external references.
Trait Implementations§
source§impl Default for AdapterMap
impl Default for AdapterMap
source§fn default() -> AdapterMap
fn default() -> AdapterMap
Auto Trait Implementations§
impl RefUnwindSafe for AdapterMap
impl Send for AdapterMap
impl Sync for AdapterMap
impl Unpin for AdapterMap
impl UnwindSafe for AdapterMap
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<Swp, Dwp, T>,
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T, U> ConvertInto<U> for Twhere
U: ConvertFrom<T>,
impl<T, U> ConvertInto<U> for Twhere
U: ConvertFrom<T>,
source§fn convert_into(self) -> U
fn convert_into(self) -> U
source§fn convert_unclamped_into(self) -> U
fn convert_unclamped_into(self) -> U
source§fn try_convert_into(self) -> Result<U, OutOfBounds<U>>
fn try_convert_into(self) -> Result<U, OutOfBounds<U>>
OutOfBounds
error is returned which contains the unclamped color. Read more