pub struct GpuRequirements {
pub required_features: GpuFeatures,
pub requested_features: GpuFeatures,
pub additional_wgpu_features: Features,
pub min_limits: Limits,
}Expand description
GPU requirements for a render capability.
Contains required features (must be present), requested features (best-effort), additional raw wgpu features, and minimum device limits.
Fields§
§required_features: GpuFeaturesFeatures that must be present (device creation fails if missing).
requested_features: GpuFeaturesFeatures that are desired but not essential (warns if missing).
additional_wgpu_features: FeaturesAdditional raw wgpu features not covered by GpuFeatures.
min_limits: LimitsMinimum device limits. Merged with other requirements via field-wise max.
Implementations§
Source§impl GpuRequirements
impl GpuRequirements
Sourcepub fn require_features(self, features: GpuFeatures) -> Self
pub fn require_features(self, features: GpuFeatures) -> Self
Set required GPU features.
Sourcepub fn request_features(self, features: GpuFeatures) -> Self
pub fn request_features(self, features: GpuFeatures) -> Self
Set requested (best-effort) GPU features.
Sourcepub fn with_wgpu_features(self, features: Features) -> Self
pub fn with_wgpu_features(self, features: Features) -> Self
Set additional raw wgpu features.
Sourcepub fn with_min_limits(self, f: impl FnOnce(&mut Limits)) -> Self
pub fn with_min_limits(self, f: impl FnOnce(&mut Limits)) -> Self
Sourcepub fn merge(&mut self, other: &GpuRequirements)
pub fn merge(&mut self, other: &GpuRequirements)
Merge another set of requirements into this one.
Features are unioned, limits are merged via field-wise max.
Trait Implementations§
Source§impl Clone for GpuRequirements
impl Clone for GpuRequirements
Source§fn clone(&self) -> GpuRequirements
fn clone(&self) -> GpuRequirements
Returns a duplicate 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 GpuRequirements
impl Debug for GpuRequirements
Auto Trait Implementations§
impl Freeze for GpuRequirements
impl RefUnwindSafe for GpuRequirements
impl Send for GpuRequirements
impl Sync for GpuRequirements
impl Unpin for GpuRequirements
impl UnsafeUnpin for GpuRequirements
impl UnwindSafe for GpuRequirements
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,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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