Enum naga::GatherMode
source · pub enum GatherMode {
BroadcastFirst,
Broadcast(Handle<Expression>),
Shuffle(Handle<Expression>),
ShuffleDown(Handle<Expression>),
ShuffleUp(Handle<Expression>),
ShuffleXor(Handle<Expression>),
}
Expand description
The specific behavior of a SubgroupGather
statement.
All Handle<Expression>
values here refer to an expression in
Function::expressions
.
Variants§
BroadcastFirst
All gather from the active lane with the smallest index
Broadcast(Handle<Expression>)
All gather from the same lane at the index given by the expression
Shuffle(Handle<Expression>)
Each gathers from a different lane at the index given by the expression
ShuffleDown(Handle<Expression>)
Each gathers from their lane plus the shift given by the expression
ShuffleUp(Handle<Expression>)
Each gathers from their lane minus the shift given by the expression
ShuffleXor(Handle<Expression>)
Each gathers from their lane xored with the given by the expression
Trait Implementations§
source§impl<'arbitrary> Arbitrary<'arbitrary> for GatherMode
impl<'arbitrary> Arbitrary<'arbitrary> for GatherMode
source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self
from the given unstructured data. Read moresource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read moresource§impl Clone for GatherMode
impl Clone for GatherMode
source§fn clone(&self) -> GatherMode
fn clone(&self) -> GatherMode
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 GatherMode
impl Debug for GatherMode
source§impl<'de> Deserialize<'de> for GatherMode
impl<'de> Deserialize<'de> for GatherMode
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Hash for GatherMode
impl Hash for GatherMode
source§impl Ord for GatherMode
impl Ord for GatherMode
source§fn cmp(&self, other: &GatherMode) -> Ordering
fn cmp(&self, other: &GatherMode) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for GatherMode
impl PartialEq for GatherMode
source§fn eq(&self, other: &GatherMode) -> bool
fn eq(&self, other: &GatherMode) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for GatherMode
impl PartialOrd for GatherMode
source§fn partial_cmp(&self, other: &GatherMode) -> Option<Ordering>
fn partial_cmp(&self, other: &GatherMode) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl Serialize for GatherMode
impl Serialize for GatherMode
impl Copy for GatherMode
impl Eq for GatherMode
impl StructuralEq for GatherMode
impl StructuralPartialEq for GatherMode
Auto Trait Implementations§
impl RefUnwindSafe for GatherMode
impl Send for GatherMode
impl Sync for GatherMode
impl Unpin for GatherMode
impl UnwindSafe for GatherMode
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§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
Checks if this value is equivalent to the given key. Read more
§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.