Enum
VkPipelineStageFlagBits2
Pipeline stage flags for VkPipelineStageFlags2
Bits which can be set in a VkPipelineStageFlags2 mask, specifying stages of execution, are:
typedef enum VkPipelineStageFlagBits2 {
VK_PIPELINE_STAGE_2_NONE = 0,
VK_PIPELINE_STAGE_2_NONE_KHR = VK_PIPELINE_STAGE_2_NONE,
VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = 0x00000001ULL,
VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT,
VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = 0x00000002ULL,
VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,
VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT = 0x00000004ULL,
VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,
VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT = 0x00000008ULL,
VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,
VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = 0x00000010ULL,
VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,
VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = 0x00000020ULL,
VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,
VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = 0x00000040ULL,
VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,
VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = 0x00000080ULL,
VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,
VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = 0x00000100ULL,
VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,
VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = 0x00000200ULL,
VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,
VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = 0x00000400ULL,
VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT,
VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = 0x00000800ULL,
VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT = 0x00001000ULL,
VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,
VK_PIPELINE_STAGE_2_TRANSFER_BIT = VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR,
VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR = VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,
VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = 0x00002000ULL,
VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT,
VK_PIPELINE_STAGE_2_HOST_BIT = 0x00004000ULL,
VK_PIPELINE_STAGE_2_HOST_BIT_KHR = VK_PIPELINE_STAGE_2_HOST_BIT,
VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = 0x00008000ULL,
VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT,
VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT = 0x00010000ULL,
VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT,
// bitpos 17-31 are specified by extensions to the original VkPipelineStageFlagBits enum,
VK_PIPELINE_STAGE_2_COPY_BIT = 0x100000000ULL,
VK_PIPELINE_STAGE_2_COPY_BIT_KHR = VK_PIPELINE_STAGE_2_COPY_BIT,
VK_PIPELINE_STAGE_2_RESOLVE_BIT = 0x200000000ULL,
VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR = VK_PIPELINE_STAGE_2_RESOLVE_BIT,
VK_PIPELINE_STAGE_2_BLIT_BIT = 0x400000000ULL,
VK_PIPELINE_STAGE_2_BLIT_BIT_KHR = VK_PIPELINE_STAGE_2_BLIT_BIT,
VK_PIPELINE_STAGE_2_CLEAR_BIT = 0x800000000ULL,
VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR = VK_PIPELINE_STAGE_2_CLEAR_BIT,
VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT = 0x1000000000ULL,
VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT,
VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = 0x2000000000ULL,
VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT,
VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL,
VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT,
} VkPipelineStageFlagBits2;
or the equivalent
#define VkPipelineStageFlagBits2KHR VkPipelineStageFlagBits2
VK_PIPELINE_STAGE_2_NONE
specifies no stages of execution.VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT
specifies the stage of the pipeline where indirect command parameters are consumed. This stage also includes reading commands written by vkCmdPreprocessGeneratedCommandsNV. This stage also includes reading commands written by vkCmdPreprocessGeneratedCommandsEXT.VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT
specifies the task shader stage.VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT
specifies the mesh shader stage.VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT
specifies the stage of the pipeline where index buffers are consumed.VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT
specifies the stage of the pipeline where vertex buffers are consumed.VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT
is equivalent to the logical OR of:VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT
VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT
VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT
specifies the vertex shader stage.VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT
specifies the tessellation control shader stage.VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT
specifies the tessellation evaluation shader stage.VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT
specifies the geometry shader stage.VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT
is equivalent to specifying all supported pre-rasterization shader stages:VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT
VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT
VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT
VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT
VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT
VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT
VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT
specifies the fragment shader stage.VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT
specifies the stage of the pipeline where early fragment tests (depth and stencil tests before fragment shading) are performed. This stage also includes render pass load operations for framebuffer attachments with a depth/stencil format.VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT
specifies the stage of the pipeline where late fragment tests (depth and stencil tests after fragment shading) are performed. This stage also includes render pass store operations for framebuffer attachments with a depth/stencil format.VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
specifies the stage of the pipeline where final color values are output from the pipeline. This stage includes blending, logic operations, render pass load and store operations for color attachments, render pass multisample resolve operations, and vkCmdClearAttachments.VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT
specifies the compute shader stage.VK_PIPELINE_STAGE_2_HOST_BIT
specifies a pseudo-stage indicating execution on the host of reads/writes of device memory. This stage is not invoked by any commands recorded in a command buffer.VK_PIPELINE_STAGE_2_COPY_BIT
specifies the execution of all copy commands, including vkCmdCopyQueryPoolResults.VK_PIPELINE_STAGE_2_BLIT_BIT
specifies the execution of vkCmdBlitImage.VK_PIPELINE_STAGE_2_RESOLVE_BIT
specifies the execution of vkCmdResolveImage.VK_PIPELINE_STAGE_2_CLEAR_BIT
specifies the execution of clear commands, with the exception of vkCmdClearAttachments.VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT
is equivalent to specifying all of:VK_PIPELINE_STAGE_2_COPY_BIT
VK_PIPELINE_STAGE_2_BLIT_BIT
VK_PIPELINE_STAGE_2_RESOLVE_BIT
VK_PIPELINE_STAGE_2_CLEAR_BIT
VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR
VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
specifies the execution of the ray tracing shader stages.VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
specifies the execution of acceleration structure commands or acceleration structure copy commands.VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR
specifies the execution of acceleration structure copy commands.VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT
specifies the execution of all graphics pipeline stages, and is equivalent to the logical OR of:VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT
VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT
VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT
VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT
VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT
VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT
VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT
VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT
VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT
VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT
VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT
VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI
VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT
specifies all operations performed by all commands supported on the queue it is used with.VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
specifies the stage of the pipeline where the predicate of conditional rendering is consumed.VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
specifies the stage of the pipeline where vertex attribute output values are written to the transform feedback buffers.VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
specifies the stage of the pipeline where device-side generation of commands via vkCmdPreprocessGeneratedCommandsNV is handled.VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT
specifies the stage of the pipeline where device-side generation of commands via vkCmdPreprocessGeneratedCommandsEXT is handled.VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
specifies the stage of the pipeline where the fragment shading rate attachment or shading rate image is read to determine the fragment shading rate for portions of a rasterized primitive.VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
specifies the stage of the pipeline where the fragment density map is read to generate the fragment areas.VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
specifies the stage of the pipeline where the invocation mask image is read by the implementation to optimize the ray dispatch.VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
specifies the execution of video decode operations.VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR
specifies the execution of video encode operations.VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
specifies the stage of the pipeline where optical flow operation are performed.VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI
specifies the subpass shading shader stage.VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
specifies the execution of micromap commands.VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
specifies the cluster culling shader stage.VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
is equivalent toVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT
with VkAccessFlags2 set to0
when specified in the second synchronization scope, but equivalent toVK_PIPELINE_STAGE_2_NONE
in the first scope.VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
is equivalent toVK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT
with VkAccessFlags2 set to0
when specified in the first synchronization scope, but equivalent toVK_PIPELINE_STAGE_2_NONE
in the second scope.
The TOP
and BOTTOM
pipeline stages are deprecated, and
applications should prefer VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT
and
VK_PIPELINE_STAGE_2_NONE
.
The VkPipelineStageFlags2
bitmask goes beyond the 31 individual bit
flags allowable within a C99 enum, which is how
VkPipelineStageFlagBits is defined.
The first 31 values are common to both, and are interchangeable.