Struct sierra::PipelineStages
source · pub struct PipelineStages { /* private fields */ }
Expand description
Flags to specify set of pipeline stages.
Implementations§
source§impl PipelineStages
impl PipelineStages
sourcepub const TOP_OF_PIPE: Self = _
pub const TOP_OF_PIPE: Self = _
Pseudo-stage that precedes all other stages and doesn’t execute any commands. Using it in first scope of dependency will not cause any waiting, because no operations should be waited upon. Using it in second scope will make all operations in second scope to wait for operations first scope.
sourcepub const DRAW_INDIRECT: Self = _
pub const DRAW_INDIRECT: Self = _
Stage at which indirect draw buffer is read.
sourcepub const VERTEX_INPUT: Self = _
pub const VERTEX_INPUT: Self = _
Stage at which vertex buffers are read.
sourcepub const VERTEX_SHADER: Self = _
pub const VERTEX_SHADER: Self = _
Stage at which vertex shader is executed.
sourcepub const TESSELLATION_CONTROL_SHADER: Self = _
pub const TESSELLATION_CONTROL_SHADER: Self = _
Stage at which tessellation control shader is executed.
sourcepub const TESSELLATION_EVALUATION_SHADER: Self = _
pub const TESSELLATION_EVALUATION_SHADER: Self = _
Stage at which tessellation evaluation shader is executed.
sourcepub const GEOMETRY_SHADER: Self = _
pub const GEOMETRY_SHADER: Self = _
Stage at which geometry shader is executed.
sourcepub const EARLY_FRAGMENT_TESTS: Self = _
pub const EARLY_FRAGMENT_TESTS: Self = _
Stage at which early fragment depth and stencil test is performed before fragment shader execution.
sourcepub const FRAGMENT_SHADER: Self = _
pub const FRAGMENT_SHADER: Self = _
Stage at which fragment shader is executed.
sourcepub const LATE_FRAGMENT_TESTS: Self = _
pub const LATE_FRAGMENT_TESTS: Self = _
Stage at which late fragment depth and stencil test is performed after fragment shader execution.
sourcepub const COLOR_ATTACHMENT_OUTPUT: Self = _
pub const COLOR_ATTACHMENT_OUTPUT: Self = _
Stage at which color output of fragment shader is written and multi-sample resolve operation happens.
sourcepub const COMPUTE_SHADER: Self = _
pub const COMPUTE_SHADER: Self = _
Stage at which compute shader is executed.
sourcepub const BOTTOM_OF_PIPE: Self = _
pub const BOTTOM_OF_PIPE: Self = _
Pseudo-stage that follows all other stages and doesn’t execute any commands. Using it in first scope will make operations in second scope to wait for all operations first scope. Using it in second scope of dependency will not cause any waiting, because no operations should be waited upon.
sourcepub const HOST: Self = _
pub const HOST: Self = _
Pseudo-stage at which HOST access to resources is performed. It has very limited use because command submission creates memory dependency between host access and device operations.
sourcepub const ALL_GRAPHICS: Self = _
pub const ALL_GRAPHICS: Self = _
Flag that can be used instead of specifying all graphics stages including those from enabled extensions.
sourcepub const ALL_COMMANDS: Self = _
pub const ALL_COMMANDS: Self = _
Flag that can be used instead of specifying all compute stages including those from enabled extensions.
sourcepub const RAY_TRACING_SHADER: Self = _
pub const RAY_TRACING_SHADER: Self = _
Stage at which ray-tracing pipeline is executed.
sourcepub const ACCELERATION_STRUCTURE_BUILD: Self = _
pub const ACCELERATION_STRUCTURE_BUILD: Self = _
Stage at which acceleration structures are built.
sourcepub const fn from_bits(bits: u32) -> Option<Self>
pub const fn from_bits(bits: u32) -> Option<Self>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
sourcepub const fn from_bits_truncate(bits: u32) -> Self
pub const fn from_bits_truncate(bits: u32) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const unsafe fn from_bits_unchecked(bits: u32) -> Self
pub const unsafe fn from_bits_unchecked(bits: u32) -> Self
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
Safety
The caller of the bitflags!
macro can chose to allow or
disallow extra bits for their bitflags type.
The caller of from_bits_unchecked()
has to ensure that
all bits correspond to a defined flag or that extra bits
are valid for this bitflags type.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true
if there are flags common to both self
and other
.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Returns true
if all of the flags in other
are contained within self
.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Inserts or removes the specified flags depending on the passed value.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection between the flags in self
and
other
.
Specifically, the returned set contains only the flags which are
present in both self
and other
.
This is equivalent to using the &
operator (e.g.
ops::BitAnd
), as in flags & other
.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
Returns the union of between the flags in self
and other
.
Specifically, the returned set contains all flags which are
present in either self
or other
, including any which are
present in both (see Self::symmetric_difference
if that
is undesirable).
This is equivalent to using the |
operator (e.g.
ops::BitOr
), as in flags | other
.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns the difference between the flags in self
and other
.
Specifically, the returned set contains all flags present in
self
, except for the ones present in other
.
It is also conceptually equivalent to the “bit-clear” operation:
flags & !other
(and this syntax is also supported).
This is equivalent to using the -
operator (e.g.
ops::Sub
), as in flags - other
.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
Returns the symmetric difference between the flags
in self
and other
.
Specifically, the returned set contains the flags present which
are present in self
or other
, but that are not present in
both. Equivalently, it contains the flags present in exactly
one of the sets self
and other
.
This is equivalent to using the ^
operator (e.g.
ops::BitXor
), as in flags ^ other
.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
Returns the complement of this set of flags.
Specifically, the returned set contains all the flags which are
not set in self
, but which are allowed for this type.
Alternatively, it can be thought of as the set difference
between Self::all()
and self
(e.g. Self::all() - self
)
This is equivalent to using the !
operator (e.g.
ops::Not
), as in !flags
.
Trait Implementations§
source§impl Binary for PipelineStages
impl Binary for PipelineStages
source§impl BitAnd<PipelineStages> for PipelineStages
impl BitAnd<PipelineStages> for PipelineStages
source§impl BitAndAssign<PipelineStages> for PipelineStages
impl BitAndAssign<PipelineStages> for PipelineStages
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
Disables all flags disabled in the set.
source§impl BitOr<PipelineStages> for PipelineStages
impl BitOr<PipelineStages> for PipelineStages
source§fn bitor(self, other: PipelineStages) -> Self
fn bitor(self, other: PipelineStages) -> Self
Returns the union of the two sets of flags.
§type Output = PipelineStages
type Output = PipelineStages
|
operator.source§impl BitOrAssign<PipelineStages> for PipelineStages
impl BitOrAssign<PipelineStages> for PipelineStages
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
source§impl BitXor<PipelineStages> for PipelineStages
impl BitXor<PipelineStages> for PipelineStages
source§impl BitXorAssign<PipelineStages> for PipelineStages
impl BitXorAssign<PipelineStages> for PipelineStages
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
source§impl Clone for PipelineStages
impl Clone for PipelineStages
source§fn clone(&self) -> PipelineStages
fn clone(&self) -> PipelineStages
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for PipelineStages
impl Debug for PipelineStages
source§impl Extend<PipelineStages> for PipelineStages
impl Extend<PipelineStages> for PipelineStages
source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
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
)source§impl FromIterator<PipelineStages> for PipelineStages
impl FromIterator<PipelineStages> for PipelineStages
source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
source§impl Hash for PipelineStages
impl Hash for PipelineStages
source§impl LowerHex for PipelineStages
impl LowerHex for PipelineStages
source§impl Not for PipelineStages
impl Not for PipelineStages
source§impl Octal for PipelineStages
impl Octal for PipelineStages
source§impl Ord for PipelineStages
impl Ord for PipelineStages
source§fn cmp(&self, other: &PipelineStages) -> Ordering
fn cmp(&self, other: &PipelineStages) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq<PipelineStages> for PipelineStages
impl PartialEq<PipelineStages> for PipelineStages
source§fn eq(&self, other: &PipelineStages) -> bool
fn eq(&self, other: &PipelineStages) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<PipelineStages> for PipelineStages
impl PartialOrd<PipelineStages> for PipelineStages
source§fn partial_cmp(&self, other: &PipelineStages) -> Option<Ordering>
fn partial_cmp(&self, other: &PipelineStages) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl Sub<PipelineStages> for PipelineStages
impl Sub<PipelineStages> for PipelineStages
source§impl SubAssign<PipelineStages> for PipelineStages
impl SubAssign<PipelineStages> for PipelineStages
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Disables all flags enabled in the set.