Struct vulkano::sync::PipelineStages
source · pub struct PipelineStages(/* private fields */);
Expand description
A set of PipelineStage
values.
Implementations§
source§impl PipelineStages
impl PipelineStages
sourcepub const TOP_OF_PIPE: Self = _
pub const TOP_OF_PIPE: Self = _
A pseudo-stage representing the start of the pipeline.
sourcepub const DRAW_INDIRECT: Self = _
pub const DRAW_INDIRECT: Self = _
Indirect buffers are read.
sourcepub const VERTEX_INPUT: Self = _
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
sourcepub const VERTEX_SHADER: Self = _
pub const VERTEX_SHADER: Self = _
Vertex shaders are executed.
sourcepub const TESSELLATION_CONTROL_SHADER: Self = _
pub const TESSELLATION_CONTROL_SHADER: Self = _
Tessellation control shaders are executed.
sourcepub const TESSELLATION_EVALUATION_SHADER: Self = _
pub const TESSELLATION_EVALUATION_SHADER: Self = _
Tessellation evaluation shaders are executed.
sourcepub const GEOMETRY_SHADER: Self = _
pub const GEOMETRY_SHADER: Self = _
Geometry shaders are executed.
sourcepub const FRAGMENT_SHADER: Self = _
pub const FRAGMENT_SHADER: Self = _
Fragment shaders are executed.
sourcepub const EARLY_FRAGMENT_TESTS: Self = _
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.
sourcepub const LATE_FRAGMENT_TESTS: Self = _
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.
sourcepub const COLOR_ATTACHMENT_OUTPUT: Self = _
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.
sourcepub const COMPUTE_SHADER: Self = _
pub const COMPUTE_SHADER: Self = _
Compute shaders are executed.
sourcepub const ALL_TRANSFER: Self = _
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
sourcepub const BOTTOM_OF_PIPE: Self = _
pub const BOTTOM_OF_PIPE: Self = _
A pseudo-stage representing the end of the pipeline.
sourcepub const HOST: Self = _
pub const HOST: Self = _
A pseudo-stage representing reads and writes to device memory on the host.
sourcepub const ALL_GRAPHICS: Self = _
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
sourcepub const ALL_COMMANDS: Self = _
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.
sourcepub const COPY: Self = _
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.
sourcepub const CLEAR: Self = _
pub const CLEAR: Self = _
The clear_color_image
, clear_depth_stencil_image
, fill_buffer
and update_buffer
commands are executed.
sourcepub const INDEX_INPUT: Self = _
pub const INDEX_INPUT: Self = _
Index buffers are read.
sourcepub const VERTEX_ATTRIBUTE_INPUT: Self = _
pub const VERTEX_ATTRIBUTE_INPUT: Self = _
Vertex buffers are read.
sourcepub const PRE_RASTERIZATION_SHADERS: Self = _
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
sourcepub const VIDEO_DECODE: Self = _
pub const VIDEO_DECODE: Self = _
Video decode operations are performed.
sourcepub const VIDEO_ENCODE: Self = _
pub const VIDEO_ENCODE: Self = _
Video encode operations are performed.
sourcepub const TRANSFORM_FEEDBACK: Self = _
pub const TRANSFORM_FEEDBACK: Self = _
Vertex attribute output values are written to the transform feedback buffers.
sourcepub const CONDITIONAL_RENDERING: Self = _
pub const CONDITIONAL_RENDERING: Self = _
The predicate of conditional rendering is read.
sourcepub const ACCELERATION_STRUCTURE_BUILD: Self = _
pub const ACCELERATION_STRUCTURE_BUILD: Self = _
Acceleration_structure commands are executed.
sourcepub const RAY_TRACING_SHADER: Self = _
pub const RAY_TRACING_SHADER: Self = _
The various ray tracing shader types are executed.
sourcepub const FRAGMENT_DENSITY_PROCESS: Self = _
pub const FRAGMENT_DENSITY_PROCESS: Self = _
The fragment density map is read to generate the fragment areas.
sourcepub const FRAGMENT_SHADING_RATE_ATTACHMENT: Self = _
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.
sourcepub const COMMAND_PREPROCESS: Self = _
pub const COMMAND_PREPROCESS: Self = _
Device-side preprocessing for generated commands via the preprocess_generated_commands
command is handled.
sourcepub const TASK_SHADER: Self = _
pub const TASK_SHADER: Self = _
Task shaders are executed.
sourcepub const MESH_SHADER: Self = _
pub const MESH_SHADER: Self = _
Mesh shaders are executed.
sourcepub const SUBPASS_SHADING: Self = _
pub const SUBPASS_SHADING: Self = _
Subpass shading shaders are executed.
sourcepub const INVOCATION_MASK: Self = _
pub const INVOCATION_MASK: Self = _
The invocation mask image is read to optimize ray dispatch.
sourcepub const ACCELERATION_STRUCTURE_COPY: Self = _
pub const ACCELERATION_STRUCTURE_COPY: Self = _
The copy_acceleration_structure
command is executed.
sourcepub const MICROMAP_BUILD: Self = _
pub const MICROMAP_BUILD: Self = _
Micromap commands are executed.
sourcepub const OPTICAL_FLOW: Self = _
pub const OPTICAL_FLOW: Self = _
Optical flow operations are performed.
sourcepub const fn none() -> Self
👎Deprecated since 0.31.0: use empty
instead
pub const fn none() -> Self
empty
insteadReturns a PipelineStages
with none of the flags set.
sourcepub const fn intersects(self, other: Self) -> bool
pub const fn intersects(self, other: Self) -> bool
Returns whether any flags are set in both self
and other
.
sourcepub const fn contains(self, other: Self) -> bool
pub const fn contains(self, other: Self) -> bool
Returns whether all flags in other
are set in self
.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection of self
and other
.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns self
without the flags set in other
.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
Returns the flags that are set in self
or other
, but not in both.
sourcepub fn contains_enum(self, val: PipelineStage) -> bool
pub fn contains_enum(self, val: PipelineStage) -> bool
Returns whether self
contains the flag corresponding to val
.
Trait Implementations§
source§impl BitAnd for PipelineStages
impl BitAnd for PipelineStages
source§impl BitAndAssign for PipelineStages
impl BitAndAssign for PipelineStages
source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&=
operation. Read moresource§impl BitOr for PipelineStages
impl BitOr for PipelineStages
source§impl BitOrAssign for PipelineStages
impl BitOrAssign for PipelineStages
source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|=
operation. Read moresource§impl BitXor for PipelineStages
impl BitXor for PipelineStages
source§impl BitXorAssign for PipelineStages
impl BitXorAssign for PipelineStages
source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^=
operation. Read moresource§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 Default for PipelineStages
impl Default for PipelineStages
source§impl From<PipelineStage> for PipelineStages
impl From<PipelineStage> for PipelineStages
source§fn from(val: PipelineStage) -> Self
fn from(val: PipelineStage) -> Self
source§impl From<PipelineStageFlags2> for PipelineStages
impl From<PipelineStageFlags2> for PipelineStages
source§fn from(val: PipelineStageFlags2) -> Self
fn from(val: PipelineStageFlags2) -> Self
source§impl From<PipelineStages> for AccessFlags
impl From<PipelineStages> for AccessFlags
source§fn from(val: PipelineStages) -> Self
fn from(val: PipelineStages) -> Self
Corresponds to the table “Supported access types” in the Vulkan specification.
source§impl From<PipelineStages> for PipelineStageFlags
impl From<PipelineStages> for PipelineStageFlags
source§fn from(val: PipelineStages) -> Self
fn from(val: PipelineStages) -> Self
source§impl From<PipelineStages> for PipelineStageFlags2
impl From<PipelineStages> for PipelineStageFlags2
source§fn from(val: PipelineStages) -> Self
fn from(val: PipelineStages) -> Self
source§impl From<QueueFlags> for PipelineStages
impl From<QueueFlags> for PipelineStages
source§fn from(val: QueueFlags) -> Self
fn from(val: QueueFlags) -> Self
Corresponds to the table “Supported pipeline stage flags” in the Vulkan specification.
source§impl From<ShaderStages> for PipelineStages
impl From<ShaderStages> for PipelineStages
source§fn from(stages: ShaderStages) -> PipelineStages
fn from(stages: ShaderStages) -> PipelineStages
source§impl FromIterator<PipelineStage> for PipelineStages
impl FromIterator<PipelineStage> for PipelineStages
source§fn from_iter<T>(iter: T) -> Selfwhere
T: IntoIterator<Item = PipelineStage>,
fn from_iter<T>(iter: T) -> Selfwhere T: IntoIterator<Item = PipelineStage>,
source§impl Hash for PipelineStages
impl Hash for PipelineStages
source§impl IntoIterator for PipelineStages
impl IntoIterator for PipelineStages
§type Item = PipelineStage
type Item = PipelineStage
§type IntoIter = Flatten<IntoIter<Option<<PipelineStages as IntoIterator>::Item>, { $ty_bitflags::all_raw().count_ones() as usize }>>
type IntoIter = Flatten<IntoIter<Option<<PipelineStages as IntoIterator>::Item>, { $ty_bitflags::all_raw().count_ones() as usize }>>
source§impl PartialEq for PipelineStages
impl PartialEq 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 Sub for PipelineStages
impl Sub for PipelineStages
source§impl SubAssign for PipelineStages
impl SubAssign for PipelineStages
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-=
operation. Read more