pub struct DeviceFeatures(/* private fields */);Expand description
Optional GPU capabilities that can be requested when the graphics backend is
initialized — see Backend::features.
Support varies by platform and driver; requesting a feature the adapter
doesn’t support is safe — it is dropped rather than failing device
creation. Query [Backend::features] to see what was actually granted.
This mirrors a curated subset of wgpu::Features — unlike the other flag
types in this module it isn’t a 1:1 bit-for-bit copy, since wgpu::Features
is backed by a 128-bit value. Each flag is translated individually in the
From impl below instead.
Implementations§
Source§impl DeviceFeatures
impl DeviceFeatures
pub const ADDRESS_MODE_CLAMP_TO_BORDER: Self
pub const TIMESTAMP_QUERY: Self
pub const PIPELINE_STATISTICS_QUERY: Self
pub const INDIRECT_FIRST_INSTANCE: Self
pub const TEXTURE_COMPRESSION_BC: Self
pub const TEXTURE_COMPRESSION_ETC2: Self
pub const TEXTURE_COMPRESSION_ASTC: Self
pub const POLYGON_MODE_LINE: Self
pub const FLOAT32_FILTERABLE: Self
pub const SHADER_F16: Self
pub const SUBGROUP: Self
pub const RAY_QUERY: Self
pub const MESH_SHADER: Self
pub const fn empty() -> Self
pub const fn bits(self) -> u32
pub const fn contains(self, other: Self) -> bool
pub const fn intersects(self, other: Self) -> bool
Trait Implementations§
Source§impl BitOr for DeviceFeatures
impl BitOr for DeviceFeatures
Source§impl BitOrAssign for DeviceFeatures
impl BitOrAssign for DeviceFeatures
Source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
Performs the
|= operation. Read moreSource§impl Clone for DeviceFeatures
impl Clone for DeviceFeatures
Source§fn clone(&self) -> DeviceFeatures
fn clone(&self) -> DeviceFeatures
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for DeviceFeatures
impl Eq for DeviceFeatures
Source§impl From<DeviceFeatures> for Features
impl From<DeviceFeatures> for Features
Source§fn from(value: DeviceFeatures) -> Self
fn from(value: DeviceFeatures) -> Self
Converts to this type from the input type.
Source§impl From<Features> for DeviceFeatures
impl From<Features> for DeviceFeatures
Source§impl Hash for DeviceFeatures
impl Hash for DeviceFeatures
Source§impl PartialEq for DeviceFeatures
impl PartialEq for DeviceFeatures
impl StructuralPartialEq for DeviceFeatures
Auto Trait Implementations§
impl Freeze for DeviceFeatures
impl RefUnwindSafe for DeviceFeatures
impl Send for DeviceFeatures
impl Sync for DeviceFeatures
impl Unpin for DeviceFeatures
impl UnsafeUnpin for DeviceFeatures
impl UnwindSafe for DeviceFeatures
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Component for T
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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