#[non_exhaustive]pub enum SurfaceContextReuseFailure {
AdapterUnsupported,
CapabilitiesDeferred(SurfaceConfigDeferredReason),
FormatUnsupported,
ConfigureFailed,
}Expand description
Why a newly-created surface could not reuse the current GPU context.
These conditions are not fatal by themselves: reattachment falls back to selecting another adapter and rebuilding device-bound renderer resources.
§Examples
use ailloli_ui_render_wgpu::pipeline_cache::{
SurfaceConfigDeferredReason, SurfaceContextReuseFailure,
};
let failure = SurfaceContextReuseFailure::CapabilitiesDeferred(
SurfaceConfigDeferredReason::NoFormats,
);
assert!(matches!(failure, SurfaceContextReuseFailure::CapabilitiesDeferred(_)));Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
AdapterUnsupported
The retained adapter cannot present to the new surface.
CapabilitiesDeferred(SurfaceConfigDeferredReason)
The new surface does not yet advertise usable capabilities.
FormatUnsupported
The surface cannot use the format baked into the retained pipelines.
ConfigureFailed
wgpu rejected or panicked while configuring the surface.
Trait Implementations§
Source§impl Clone for SurfaceContextReuseFailure
impl Clone for SurfaceContextReuseFailure
Source§fn clone(&self) -> SurfaceContextReuseFailure
fn clone(&self) -> SurfaceContextReuseFailure
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SurfaceContextReuseFailure
impl Debug for SurfaceContextReuseFailure
impl Copy for SurfaceContextReuseFailure
impl Eq for SurfaceContextReuseFailure
impl StructuralPartialEq for SurfaceContextReuseFailure
Auto Trait Implementations§
impl Freeze for SurfaceContextReuseFailure
impl RefUnwindSafe for SurfaceContextReuseFailure
impl Send for SurfaceContextReuseFailure
impl Sync for SurfaceContextReuseFailure
impl Unpin for SurfaceContextReuseFailure
impl UnwindSafe for SurfaceContextReuseFailure
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<A> IntoClickAction<A> for Awhere
A: Clone + 'static,
impl<A> IntoClickAction<A> for Awhere
A: Clone + 'static,
§fn into_click_action(self) -> ClickAction<A>
fn into_click_action(self) -> ClickAction<A>
Implements the into_click_action helper used by this module.
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more