pub struct PipelineStages {
Show 38 fields pub top_of_pipe: bool, pub draw_indirect: bool, pub vertex_input: bool, pub vertex_shader: bool, pub tessellation_control_shader: bool, pub tessellation_evaluation_shader: bool, pub geometry_shader: bool, pub fragment_shader: bool, pub early_fragment_tests: bool, pub late_fragment_tests: bool, pub color_attachment_output: bool, pub compute_shader: bool, pub all_transfer: bool, pub bottom_of_pipe: bool, pub host: bool, pub all_graphics: bool, pub all_commands: bool, pub copy: bool, pub resolve: bool, pub blit: bool, pub clear: bool, pub index_input: bool, pub vertex_attribute_input: bool, pub pre_rasterization_shaders: bool, pub video_decode: bool, pub video_encode: bool, pub transform_feedback: bool, pub conditional_rendering: bool, pub acceleration_structure_build: bool, pub ray_tracing_shader: bool, pub fragment_density_process: bool, pub fragment_shading_rate_attachment: bool, pub command_preprocess: bool, pub task_shader: bool, pub mesh_shader: bool, pub subpass_shading: bool, pub invocation_mask: bool, pub _ne: NonExhaustive,
}
Expand description

A set of stages in the device’s processing pipeline.

Fields

top_of_pipe: bool

A pseudo-stage representing the start of the pipeline.

draw_indirect: bool

Indirect buffers are read.

vertex_input: bool

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
vertex_shader: bool

Vertex shaders are executed.

tessellation_control_shader: bool

Tessellation control shaders are executed.

tessellation_evaluation_shader: bool

Tessellation evaluation shaders are executed.

geometry_shader: bool

Geometry shaders are executed.

fragment_shader: bool

Fragment shaders are executed.

early_fragment_tests: bool

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.

late_fragment_tests: bool

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.

color_attachment_output: bool

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.

compute_shader: bool

Compute shaders are executed.

all_transfer: bool

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
bottom_of_pipe: bool

A pseudo-stage representing the end of the pipeline.

host: bool

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

all_graphics: bool

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
all_commands: bool

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.

copy: bool

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

resolve: bool

The resolve_image command is executed.

blit: bool

The blit_image command is executed.

clear: bool

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

index_input: bool

Index buffers are read.

vertex_attribute_input: bool

Vertex buffers are read.

pre_rasterization_shaders: bool

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
video_decode: bool

Video decode operations are performed.

video_encode: bool

Video encode operations are performed.

transform_feedback: bool

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

conditional_rendering: bool

The predicate of conditional rendering is read.

acceleration_structure_build: bool

Acceleration_structure commands are executed.

ray_tracing_shader: bool

The various ray tracing shader types are executed.

fragment_density_process: bool

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

fragment_shading_rate_attachment: bool

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

command_preprocess: bool

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

task_shader: bool

Task shaders are executed.

mesh_shader: bool

Mesh shaders are executed.

subpass_shading: bool

Subpass shading shaders are executed.

invocation_mask: bool

The invocation mask image is read to optimize ray dispatch.

_ne: NonExhaustive

Implementations

Returns a PipelineStages with none of the flags set.

👎Deprecated since 0.31.0: Use empty instead.

Returns a PipelineStages with none of the flags set.

Returns whether no flags are set in self.

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

Returns whether all flags in other are set in self.

Returns the union of self and other.

Returns the intersection of self and other.

Returns self without the flags set in other.

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

Returns the access types that are supported with the given pipeline stages.

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

Trait Implementations

The resulting type after applying the & operator.
Performs the & operation. Read more
Performs the &= operation. Read more
The resulting type after applying the | operator.
Performs the | operation. Read more
Performs the |= operation. Read more
The resulting type after applying the ^ operator.
Performs the ^ operation. Read more
Performs the ^= operation. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
The resulting type after applying the - operator.
Performs the - operation. Read more
Performs the -= operation. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.