pub struct PipelineStages(/* private fields */);
Expand description

A set of PipelineStage values.

Implementations§

source§

impl PipelineStages

source

pub const TOP_OF_PIPE: Self = _

A pseudo-stage representing the start of the pipeline.

source

pub const DRAW_INDIRECT: Self = _

Indirect buffers are read.

source

pub const VERTEX_INPUT: Self = _

Vertex and index buffers are read.

It is currently equivalent to setting all of the following flags, but automatically omitting any that are not supported in a given context. It also implicitly includes future flags that are added to Vulkan, if they are not yet supported by Vulkano.

  • index_input
  • vertex_attribute_input
source

pub const VERTEX_SHADER: Self = _

Vertex shaders are executed.

source

pub const TESSELLATION_CONTROL_SHADER: Self = _

Tessellation control shaders are executed.

source

pub const TESSELLATION_EVALUATION_SHADER: Self = _

Tessellation evaluation shaders are executed.

source

pub const GEOMETRY_SHADER: Self = _

Geometry shaders are executed.

source

pub const FRAGMENT_SHADER: Self = _

Fragment shaders are executed.

source

pub const EARLY_FRAGMENT_TESTS: Self = _

Early fragment tests (depth and stencil tests before fragment shading) are performed. Subpass load operations for framebuffer attachments with a depth/stencil format are performed.

source

pub const LATE_FRAGMENT_TESTS: Self = _

Late fragment tests (depth and stencil tests after fragment shading) are performed. Subpass store operations for framebuffer attachments with a depth/stencil format are performed.

source

pub const COLOR_ATTACHMENT_OUTPUT: Self = _

The final color values are output from the pipeline after blending. Subpass load and store operations, multisample resolve operations for framebuffer attachments with a color or depth/stencil format, and clear_attachments are performed.

source

pub const COMPUTE_SHADER: Self = _

Compute shaders are executed.

source

pub const ALL_TRANSFER: Self = _

The set of all current and future transfer pipeline stages.

It is currently equivalent to setting all of the following flags, but automatically omitting any that are not supported in a given context. It also implicitly includes future flags that are added to Vulkan, if they are not yet supported by Vulkano.

  • copy
  • blit
  • resolve
  • clear
  • acceleration_structure_copy
source

pub const BOTTOM_OF_PIPE: Self = _

A pseudo-stage representing the end of the pipeline.

source

pub const HOST: Self = _

A pseudo-stage representing reads and writes to device memory on the host.

source

pub const ALL_GRAPHICS: Self = _

The set of all current and future graphics pipeline stages.

It is currently equivalent to setting all of the following flags, but automatically omitting any that are not supported in a given context. It also implicitly includes future flags that are added to Vulkan, if they are not yet supported by Vulkano.

  • draw_indirect
  • task_shader
  • mesh_shader
  • vertex_input
  • vertex_shader
  • tessellation_control_shader
  • tessellation_evaluation_shader
  • geometry_shader
  • fragment_shader
  • early_fragment_tests
  • late_fragment_tests
  • color_attachment_output
  • conditional_rendering
  • transform_feedback
  • fragment_shading_rate_attachment
  • fragment_density_process
  • invocation_mask
source

pub const ALL_COMMANDS: Self = _

The set of all current and future pipeline stages of all types.

It is currently equivalent to setting all flags in PipelineStages, but automatically omitting any that are not supported in a given context. It also implicitly includes future flags that are added to Vulkan, if they are not yet supported by Vulkano.

source

pub const COPY: Self = _

The copy_buffer, copy_image, copy_buffer_to_image, copy_image_to_buffer and copy_query_pool_results commands are executed.

source

pub const RESOLVE: Self = _

The resolve_image command is executed.

source

pub const BLIT: Self = _

The blit_image command is executed.

source

pub const CLEAR: Self = _

The clear_color_image, clear_depth_stencil_image, fill_buffer and update_buffer commands are executed.

source

pub const INDEX_INPUT: Self = _

Index buffers are read.

source

pub const VERTEX_ATTRIBUTE_INPUT: Self = _

Vertex buffers are read.

source

pub const PRE_RASTERIZATION_SHADERS: Self = _

The various pre-rasterization shader types are executed.

It is currently equivalent to setting all of the following flags, but automatically omitting any that are not supported in a given context. It also implicitly includes future flags that are added to Vulkan, if they are not yet supported by Vulkano.

  • vertex_shader
  • tessellation_control_shader
  • tessellation_evaluation_shader
  • geometry_shader
  • task_shader
  • mesh_shader
source

pub const VIDEO_DECODE: Self = _

Video decode operations are performed.

source

pub const VIDEO_ENCODE: Self = _

Video encode operations are performed.

source

pub const TRANSFORM_FEEDBACK: Self = _

Vertex attribute output values are written to the transform feedback buffers.

source

pub const CONDITIONAL_RENDERING: Self = _

The predicate of conditional rendering is read.

source

pub const ACCELERATION_STRUCTURE_BUILD: Self = _

Acceleration_structure commands are executed.

source

pub const RAY_TRACING_SHADER: Self = _

The various ray tracing shader types are executed.

source

pub const FRAGMENT_DENSITY_PROCESS: Self = _

The fragment density map is read to generate the fragment areas.

source

pub const FRAGMENT_SHADING_RATE_ATTACHMENT: Self = _

The fragment shading rate attachment or shading rate image is read to determine the fragment shading rate for portions of a rasterized primitive.

source

pub const COMMAND_PREPROCESS: Self = _

Device-side preprocessing for generated commands via the preprocess_generated_commands command is handled.

source

pub const TASK_SHADER: Self = _

Task shaders are executed.

source

pub const MESH_SHADER: Self = _

Mesh shaders are executed.

source

pub const SUBPASS_SHADING: Self = _

Subpass shading shaders are executed.

source

pub const INVOCATION_MASK: Self = _

The invocation mask image is read to optimize ray dispatch.

source

pub const ACCELERATION_STRUCTURE_COPY: Self = _

The copy_acceleration_structure command is executed.

source

pub const MICROMAP_BUILD: Self = _

Micromap commands are executed.

source

pub const OPTICAL_FLOW: Self = _

Optical flow operations are performed.

source

pub const fn empty() -> Self

Returns a PipelineStages with none of the flags set.

source

pub const fn none() -> Self

👎Deprecated since 0.31.0: use empty instead

Returns a PipelineStages with none of the flags set.

source

pub const fn count(self) -> u32

Returns the number of flags set in self.

source

pub const fn is_empty(self) -> bool

Returns whether no flags are set in self.

source

pub const fn intersects(self, other: Self) -> bool

Returns whether any flags are set in both self and other.

source

pub const fn contains(self, other: Self) -> bool

Returns whether all flags in other are set in self.

source

pub const fn union(self, other: Self) -> Self

Returns the union of self and other.

source

pub const fn intersection(self, other: Self) -> Self

Returns the intersection of self and other.

source

pub const fn difference(self, other: Self) -> Self

Returns self without the flags set in other.

source

pub const fn symmetric_difference(self, other: Self) -> Self

Returns the flags that are set in self or other, but not in both.

source

pub fn contains_enum(self, val: PipelineStage) -> bool

Returns whether self contains the flag corresponding to val.

Trait Implementations§

source§

impl BitAnd for PipelineStages

§

type Output = PipelineStages

The resulting type after applying the & operator.
source§

fn bitand(self, rhs: Self) -> Self

Performs the & operation. Read more
source§

impl BitAndAssign for PipelineStages

source§

fn bitand_assign(&mut self, rhs: Self)

Performs the &= operation. Read more
source§

impl BitOr for PipelineStages

§

type Output = PipelineStages

The resulting type after applying the | operator.
source§

fn bitor(self, rhs: Self) -> Self

Performs the | operation. Read more
source§

impl BitOrAssign for PipelineStages

source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
source§

impl BitXor for PipelineStages

§

type Output = PipelineStages

The resulting type after applying the ^ operator.
source§

fn bitxor(self, rhs: Self) -> Self

Performs the ^ operation. Read more
source§

impl BitXorAssign for PipelineStages

source§

fn bitxor_assign(&mut self, rhs: Self)

Performs the ^= operation. Read more
source§

impl Clone for PipelineStages

source§

fn clone(&self) -> PipelineStages

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PipelineStages

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Default for PipelineStages

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl From<PipelineStage> for PipelineStages

source§

fn from(val: PipelineStage) -> Self

Converts to this type from the input type.
source§

impl From<PipelineStageFlags2> for PipelineStages

source§

fn from(val: PipelineStageFlags2) -> Self

Converts to this type from the input type.
source§

impl From<PipelineStages> for AccessFlags

source§

fn from(val: PipelineStages) -> Self

Corresponds to the table “Supported access types” in the Vulkan specification.

source§

impl From<PipelineStages> for PipelineStageFlags

source§

fn from(val: PipelineStages) -> Self

Converts to this type from the input type.
source§

impl From<PipelineStages> for PipelineStageFlags2

source§

fn from(val: PipelineStages) -> Self

Converts to this type from the input type.
source§

impl From<QueueFlags> for PipelineStages

source§

fn from(val: QueueFlags) -> Self

Corresponds to the table “Supported pipeline stage flags” in the Vulkan specification.

source§

impl From<ShaderStages> for PipelineStages

source§

fn from(stages: ShaderStages) -> PipelineStages

Converts to this type from the input type.
source§

impl FromIterator<PipelineStage> for PipelineStages

source§

fn from_iter<T>(iter: T) -> Selfwhere T: IntoIterator<Item = PipelineStage>,

Creates a value from an iterator. Read more
source§

impl Hash for PipelineStages

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoIterator for PipelineStages

§

type Item = PipelineStage

The type of the elements being iterated over.
§

type IntoIter = Flatten<IntoIter<Option<<PipelineStages as IntoIterator>::Item>, { $ty_bitflags::all_raw().count_ones() as usize }>>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl PartialEq for PipelineStages

source§

fn eq(&self, other: &PipelineStages) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Sub for PipelineStages

§

type Output = PipelineStages

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more
source§

impl SubAssign for PipelineStages

source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
source§

impl Copy for PipelineStages

source§

impl Eq for PipelineStages

source§

impl StructuralEq for PipelineStages

source§

impl StructuralPartialEq for PipelineStages

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.