Struct ValidationFlags  
pub struct ValidationFlags(/* private fields */);unstable-wgpu-26 only.Expand description
Validation flags.
If you are working with trusted shaders, then you may be able to save some time by skipping validation.
If you do not perform full validation, invalid shaders may
cause Naga to panic. If you do perform full validation and
Validator::validate returns Ok, then Naga promises that
code generation will either succeed or return an error; it
should never panic.
The default value for ValidationFlags is
ValidationFlags::all().
Implementations§
§impl ValidationFlags
 
impl ValidationFlags
pub const EXPRESSIONS: ValidationFlags
pub const EXPRESSIONS: ValidationFlags
Expressions.
pub const BLOCKS: ValidationFlags
pub const BLOCKS: ValidationFlags
Statements and blocks of them.
pub const CONTROL_FLOW_UNIFORMITY: ValidationFlags
pub const CONTROL_FLOW_UNIFORMITY: ValidationFlags
Uniformity of control flow for operations that require it.
pub const STRUCT_LAYOUTS: ValidationFlags
pub const STRUCT_LAYOUTS: ValidationFlags
Host-shareable structure layouts.
pub const CONSTANTS: ValidationFlags
pub const CONSTANTS: ValidationFlags
Constants.
pub const BINDINGS: ValidationFlags
pub const BINDINGS: ValidationFlags
Group, binding, and location attributes.
§impl ValidationFlags
 
impl ValidationFlags
pub const fn empty() -> ValidationFlags
pub const fn empty() -> ValidationFlags
Get a flags value with all bits unset.
pub const fn all() -> ValidationFlags
pub const fn all() -> ValidationFlags
Get a flags value with all known bits set.
pub const fn bits(&self) -> u8
pub const fn bits(&self) -> u8
Get the underlying bits value.
The returned value is exactly the bits set in this flags value.
pub const fn from_bits(bits: u8) -> Option<ValidationFlags>
pub const fn from_bits(bits: u8) -> Option<ValidationFlags>
Convert from a bits value.
This method will return None if any unknown bits are set.
pub const fn from_bits_truncate(bits: u8) -> ValidationFlags
pub const fn from_bits_truncate(bits: u8) -> ValidationFlags
Convert from a bits value, unsetting any unknown bits.
pub const fn from_bits_retain(bits: u8) -> ValidationFlags
pub const fn from_bits_retain(bits: u8) -> ValidationFlags
Convert from a bits value exactly.
pub fn from_name(name: &str) -> Option<ValidationFlags>
pub fn from_name(name: &str) -> Option<ValidationFlags>
Get a flags value with the bits of a flag with the given name set.
This method will return None if name is empty or doesn’t
correspond to any named flag.
pub const fn intersects(&self, other: ValidationFlags) -> bool
pub const fn intersects(&self, other: ValidationFlags) -> bool
Whether any set bits in a source flags value are also set in a target flags value.
pub const fn contains(&self, other: ValidationFlags) -> bool
pub const fn contains(&self, other: ValidationFlags) -> bool
Whether all set bits in a source flags value are also set in a target flags value.
pub fn insert(&mut self, other: ValidationFlags)
pub fn insert(&mut self, other: ValidationFlags)
The bitwise or (|) of the bits in two flags values.
pub fn remove(&mut self, other: ValidationFlags)
pub fn remove(&mut self, other: ValidationFlags)
The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
remove won’t truncate other, but the ! operator will.
pub fn toggle(&mut self, other: ValidationFlags)
pub fn toggle(&mut self, other: ValidationFlags)
The bitwise exclusive-or (^) of the bits in two flags values.
pub fn set(&mut self, other: ValidationFlags, value: bool)
pub fn set(&mut self, other: ValidationFlags, value: bool)
Call insert when value is true or remove when value is false.
pub const fn intersection(self, other: ValidationFlags) -> ValidationFlags
pub const fn intersection(self, other: ValidationFlags) -> ValidationFlags
The bitwise and (&) of the bits in two flags values.
pub const fn union(self, other: ValidationFlags) -> ValidationFlags
pub const fn union(self, other: ValidationFlags) -> ValidationFlags
The bitwise or (|) of the bits in two flags values.
pub const fn difference(self, other: ValidationFlags) -> ValidationFlags
pub const fn difference(self, other: ValidationFlags) -> ValidationFlags
The intersection of a source flags value with the complement of a target flags
value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
pub const fn symmetric_difference(
    self,
    other: ValidationFlags,
) -> ValidationFlags
pub const fn symmetric_difference( self, other: ValidationFlags, ) -> ValidationFlags
The bitwise exclusive-or (^) of the bits in two flags values.
pub const fn complement(self) -> ValidationFlags
pub const fn complement(self) -> ValidationFlags
The bitwise negation (!) of the bits in a flags value, truncating the result.
§impl ValidationFlags
 
impl ValidationFlags
pub const fn iter(&self) -> Iter<ValidationFlags>
pub const fn iter(&self) -> Iter<ValidationFlags>
Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
pub const fn iter_names(&self) -> IterNames<ValidationFlags>
pub const fn iter_names(&self) -> IterNames<ValidationFlags>
Yield a set of contained named flags values.
This method is like iter, except only yields bits in contained named flags.
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
Trait Implementations§
§impl Binary for ValidationFlags
 
impl Binary for ValidationFlags
§impl BitAnd for ValidationFlags
 
impl BitAnd for ValidationFlags
§fn bitand(self, other: ValidationFlags) -> ValidationFlags
 
fn bitand(self, other: ValidationFlags) -> ValidationFlags
The bitwise and (&) of the bits in two flags values.
§type Output = ValidationFlags
 
type Output = ValidationFlags
& operator.§impl BitAndAssign for ValidationFlags
 
impl BitAndAssign for ValidationFlags
§fn bitand_assign(&mut self, other: ValidationFlags)
 
fn bitand_assign(&mut self, other: ValidationFlags)
The bitwise and (&) of the bits in two flags values.
§impl BitOr for ValidationFlags
 
impl BitOr for ValidationFlags
§fn bitor(self, other: ValidationFlags) -> ValidationFlags
 
fn bitor(self, other: ValidationFlags) -> ValidationFlags
The bitwise or (|) of the bits in two flags values.
§type Output = ValidationFlags
 
type Output = ValidationFlags
| operator.§impl BitOrAssign for ValidationFlags
 
impl BitOrAssign for ValidationFlags
§fn bitor_assign(&mut self, other: ValidationFlags)
 
fn bitor_assign(&mut self, other: ValidationFlags)
The bitwise or (|) of the bits in two flags values.
§impl BitXor for ValidationFlags
 
impl BitXor for ValidationFlags
§fn bitxor(self, other: ValidationFlags) -> ValidationFlags
 
fn bitxor(self, other: ValidationFlags) -> ValidationFlags
The bitwise exclusive-or (^) of the bits in two flags values.
§type Output = ValidationFlags
 
type Output = ValidationFlags
^ operator.§impl BitXorAssign for ValidationFlags
 
impl BitXorAssign for ValidationFlags
§fn bitxor_assign(&mut self, other: ValidationFlags)
 
fn bitxor_assign(&mut self, other: ValidationFlags)
The bitwise exclusive-or (^) of the bits in two flags values.
§impl Clone for ValidationFlags
 
impl Clone for ValidationFlags
§fn clone(&self) -> ValidationFlags
 
fn clone(&self) -> ValidationFlags
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ValidationFlags
 
impl Debug for ValidationFlags
§impl Default for ValidationFlags
 
impl Default for ValidationFlags
§fn default() -> ValidationFlags
 
fn default() -> ValidationFlags
§impl Extend<ValidationFlags> for ValidationFlags
 
impl Extend<ValidationFlags> for ValidationFlags
§fn extend<T>(&mut self, iterator: T)where
    T: IntoIterator<Item = ValidationFlags>,
 
fn extend<T>(&mut self, iterator: T)where
    T: IntoIterator<Item = ValidationFlags>,
The bitwise or (|) of the bits in each flags value.
Source§fn extend_one(&mut self, item: A)
 
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
 
fn extend_reserve(&mut self, additional: usize)
extend_one)§impl Flags for ValidationFlags
 
impl Flags for ValidationFlags
§const FLAGS: &'static [Flag<ValidationFlags>]
 
const FLAGS: &'static [Flag<ValidationFlags>]
§fn from_bits_retain(bits: u8) -> ValidationFlags
 
fn from_bits_retain(bits: u8) -> ValidationFlags
§fn contains_unknown_bits(&self) -> bool
 
fn contains_unknown_bits(&self) -> bool
true if any unknown bits are set.§fn from_bits_truncate(bits: Self::Bits) -> Self
 
fn from_bits_truncate(bits: Self::Bits) -> Self
§fn from_name(name: &str) -> Option<Self>
 
fn from_name(name: &str) -> Option<Self>
§fn iter_names(&self) -> IterNames<Self>
 
fn iter_names(&self) -> IterNames<Self>
§fn iter_defined_names() -> IterDefinedNames<Self>
 
fn iter_defined_names() -> IterDefinedNames<Self>
Self::FLAGS].§fn intersects(&self, other: Self) -> boolwhere
    Self: Sized,
 
fn intersects(&self, other: Self) -> boolwhere
    Self: Sized,
§fn contains(&self, other: Self) -> boolwhere
    Self: Sized,
 
fn contains(&self, other: Self) -> boolwhere
    Self: Sized,
§fn insert(&mut self, other: Self)where
    Self: Sized,
 
fn insert(&mut self, other: Self)where
    Self: Sized,
|) of the bits in two flags values.§fn remove(&mut self, other: Self)where
    Self: Sized,
 
fn remove(&mut self, other: Self)where
    Self: Sized,
&!). Read more§fn toggle(&mut self, other: Self)where
    Self: Sized,
 
fn toggle(&mut self, other: Self)where
    Self: Sized,
^) of the bits in two flags values.§fn set(&mut self, other: Self, value: bool)where
    Self: Sized,
 
fn set(&mut self, other: Self, value: bool)where
    Self: Sized,
Flags::insert] when value is true or [Flags::remove] when value is false.§fn intersection(self, other: Self) -> Self
 
fn intersection(self, other: Self) -> Self
&) of the bits in two flags values.§fn difference(self, other: Self) -> Self
 
fn difference(self, other: Self) -> Self
&!). Read more§fn symmetric_difference(self, other: Self) -> Self
 
fn symmetric_difference(self, other: Self) -> Self
^) of the bits in two flags values.§fn complement(self) -> Self
 
fn complement(self) -> Self
!) of the bits in a flags value, truncating the result.§impl FromIterator<ValidationFlags> for ValidationFlags
 
impl FromIterator<ValidationFlags> for ValidationFlags
§fn from_iter<T>(iterator: T) -> ValidationFlagswhere
    T: IntoIterator<Item = ValidationFlags>,
 
fn from_iter<T>(iterator: T) -> ValidationFlagswhere
    T: IntoIterator<Item = ValidationFlags>,
The bitwise or (|) of the bits in each flags value.
§impl IntoIterator for ValidationFlags
 
impl IntoIterator for ValidationFlags
§type Item = ValidationFlags
 
type Item = ValidationFlags
§type IntoIter = Iter<ValidationFlags>
 
type IntoIter = Iter<ValidationFlags>
§fn into_iter(self) -> <ValidationFlags as IntoIterator>::IntoIter
 
fn into_iter(self) -> <ValidationFlags as IntoIterator>::IntoIter
§impl LowerHex for ValidationFlags
 
impl LowerHex for ValidationFlags
§impl Not for ValidationFlags
 
impl Not for ValidationFlags
§fn not(self) -> ValidationFlags
 
fn not(self) -> ValidationFlags
The bitwise negation (!) of the bits in a flags value, truncating the result.
§type Output = ValidationFlags
 
type Output = ValidationFlags
! operator.§impl Octal for ValidationFlags
 
impl Octal for ValidationFlags
§impl PartialEq for ValidationFlags
 
impl PartialEq for ValidationFlags
§impl Sub for ValidationFlags
 
impl Sub for ValidationFlags
§fn sub(self, other: ValidationFlags) -> ValidationFlags
 
fn sub(self, other: ValidationFlags) -> ValidationFlags
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
§type Output = ValidationFlags
 
type Output = ValidationFlags
- operator.§impl SubAssign for ValidationFlags
 
impl SubAssign for ValidationFlags
§fn sub_assign(&mut self, other: ValidationFlags)
 
fn sub_assign(&mut self, other: ValidationFlags)
The intersection of a source flags value with the complement of a target flags value (&!).
This method is not equivalent to self & !other when other has unknown bits set.
difference won’t truncate other, but the ! operator will.
§impl UpperHex for ValidationFlags
 
impl UpperHex for ValidationFlags
impl Copy for ValidationFlags
impl Eq for ValidationFlags
impl StructuralPartialEq for ValidationFlags
Auto Trait Implementations§
impl Freeze for ValidationFlags
impl RefUnwindSafe for ValidationFlags
impl Send for ValidationFlags
impl Sync for ValidationFlags
impl Unpin for ValidationFlags
impl UnwindSafe for ValidationFlags
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
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§impl<T> Downcast for Twhere
    T: Any,
 
impl<T> Downcast for Twhere
    T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
 
fn into_any(self: Box<T>) -> Box<dyn Any>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
 
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
 
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
 
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
 
impl<T> DowncastSync for T
§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
§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
key and return true if they are equal.§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
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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§impl<T> NoneValue for Twhere
    T: Default,
 
impl<T> NoneValue for Twhere
    T: Default,
type NoneType = T
§fn null_value() -> T
 
fn null_value() -> T
§impl<T> Pointable for T
 
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
 
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
 
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().§impl<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
 
impl<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
 
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
 
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
 
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
 
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.