pub struct Features { /* private fields */ }
Expand description
Features supported by a device.
Kernels can not be compiled unless the device supports all features used.
Use features to specialize or provide a more helpful error message:
if features.contains(Features::INT8 | Features::BUFFER8) {
/* u8 impl */
} else {
/* fallback */
}
Implementations§
source§impl Features
impl Features
sourcepub const PUSH_CONSTANT8: Self = _
pub const PUSH_CONSTANT8: Self = _
8 bit push constants.
StoragePushConstant8 capability.
sourcepub const PUSH_CONSTANT16: Self = _
pub const PUSH_CONSTANT16: Self = _
16 bit push constants.
StoragePushConstant16 capability.
sourcepub const SUBGROUP_BASIC: Self = _
pub const SUBGROUP_BASIC: Self = _
sourcepub const SUBGROUP_VOTE: Self = _
pub const SUBGROUP_VOTE: Self = _
Subgroup vote.
GroupNonUniformVote capability.
sourcepub const SUBGROUP_ARITHMETIC: Self = _
pub const SUBGROUP_ARITHMETIC: Self = _
Subgroup arithmetic operations.
GroupNonUniformArithmetic capability.
sourcepub const SUBGROUP_BALLOT: Self = _
pub const SUBGROUP_BALLOT: Self = _
Subgroup ballot operations.
GroupNonUniformBallot capability.
sourcepub const SUBGROUP_SHUFFLE: Self = _
pub const SUBGROUP_SHUFFLE: Self = _
Subgroup shuffle operations.
GroupNonUniformShuffle capability.
sourcepub const SUBGROUP_SHUFFLE_RELATIVE: Self = _
pub const SUBGROUP_SHUFFLE_RELATIVE: Self = _
Subgroup shuffle relative operations.
GroupNonUniformShuffleRelative capability.
sourcepub const SUBGROUP_CLUSTERED: Self = _
pub const SUBGROUP_CLUSTERED: Self = _
Subgroup clustered operations.
GroupNonUniformClustered capability.
sourcepub const SUBGROUP_QUAD: Self = _
pub const SUBGROUP_QUAD: Self = _
Subgroup quad operations.
GroupNonUniformQuad capability.
Trait Implementations§
source§impl BitOrAssign for Features
impl BitOrAssign for Features
source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
Performs the
|=
operation. Read moresource§impl PartialEq for Features
impl PartialEq for Features
impl Copy for Features
impl Eq for Features
impl StructuralPartialEq for Features
Auto Trait Implementations§
impl Freeze for Features
impl RefUnwindSafe for Features
impl Send for Features
impl Sync for Features
impl Unpin for Features
impl UnwindSafe for Features
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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