Enum vulkano::sync::PipelineStage
source · [−]#[non_exhaustive]
#[repr(u64)]
pub enum PipelineStage {
Show 37 variants
TopOfPipe,
DrawIndirect,
VertexInput,
VertexShader,
TessellationControlShader,
TessellationEvaluationShader,
GeometryShader,
FragmentShader,
EarlyFragmentTests,
LateFragmentTests,
ColorAttachmentOutput,
ComputeShader,
AllTransfer,
BottomOfPipe,
Host,
AllGraphics,
AllCommands,
Copy,
Resolve,
Blit,
Clear,
IndexInput,
VertexAttributeInput,
PreRasterizationShaders,
VideoDecode,
VideoEncode,
TransformFeedback,
ConditionalRendering,
AccelerationStructureBuild,
RayTracingShader,
FragmentDensityProcess,
FragmentShadingRateAttachment,
CommandPreprocess,
TaskShader,
MeshShader,
SubpassShading,
InvocationMask,
}
Expand description
A single stage in the device’s processing pipeline.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
TopOfPipe
A pseudo-stage representing the start of the pipeline.
DrawIndirect
Indirect buffers are read.
VertexInput
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
VertexShader
Vertex shaders are executed.
TessellationControlShader
Tessellation control shaders are executed.
TessellationEvaluationShader
Tessellation evaluation shaders are executed.
GeometryShader
Geometry shaders are executed.
FragmentShader
Fragment shaders are executed.
EarlyFragmentTests
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.
LateFragmentTests
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.
ColorAttachmentOutput
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.
ComputeShader
Compute shaders are executed.
AllTransfer
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
BottomOfPipe
A pseudo-stage representing the end of the pipeline.
Host
A pseudo-stage representing reads and writes to device memory on the host.
AllGraphics
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
AllCommands
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
The copy_buffer
, copy_image
, copy_buffer_to_image
, copy_image_to_buffer
and
copy_query_pool_results
commands are executed.
Resolve
The resolve_image
command is executed.
Blit
The blit_image
command is executed.
Clear
The clear_color_image
, clear_depth_stencil_image
, fill_buffer
and update_buffer
commands are executed.
IndexInput
Index buffers are read.
VertexAttributeInput
Vertex buffers are read.
PreRasterizationShaders
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
VideoDecode
Video decode operations are performed.
VideoEncode
Video encode operations are performed.
TransformFeedback
Vertex attribute output values are written to the transform feedback buffers.
ConditionalRendering
The predicate of conditional rendering is read.
AccelerationStructureBuild
Acceleration_structure commands are executed.
RayTracingShader
The various ray tracing shader types are executed.
FragmentDensityProcess
The fragment density map is read to generate the fragment areas.
FragmentShadingRateAttachment
The fragment shading rate attachment or shading rate image is read to determine the fragment shading rate for portions of a rasterized primitive.
CommandPreprocess
Device-side preprocessing for generated commands via the preprocess_generated_commands
command is handled.
TaskShader
Task shaders are executed.
MeshShader
Mesh shaders are executed.
SubpassShading
Subpass shading shaders are executed.
InvocationMask
The invocation mask image is read to optimize ray dispatch.
Implementations
sourceimpl PipelineStage
impl PipelineStage
pub fn required_queue_flags(&self) -> QueueFlags
Trait Implementations
sourceimpl Clone for PipelineStage
impl Clone for PipelineStage
sourcefn clone(&self) -> PipelineStage
fn clone(&self) -> PipelineStage
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more