{-# language CPP #-}
-- No documentation found for Chapter "PipelineStageFlags2"
module Vulkan.Core13.Enums.PipelineStageFlags2  ( pattern PIPELINE_STAGE_2_NONE_KHR
                                                , pattern PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_TRANSFER_BIT
                                                , pattern PIPELINE_STAGE_2_TRANSFER_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_HOST_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_COPY_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_RESOLVE_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_BLIT_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_CLEAR_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR
                                                , pattern PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR
                                                , PipelineStageFlags2
                                                , PipelineStageFlagBits2( PIPELINE_STAGE_2_NONE
                                                                        , PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
                                                                        , PIPELINE_STAGE_2_DRAW_INDIRECT_BIT
                                                                        , PIPELINE_STAGE_2_VERTEX_INPUT_BIT
                                                                        , PIPELINE_STAGE_2_VERTEX_SHADER_BIT
                                                                        , PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT
                                                                        , PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT
                                                                        , PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT
                                                                        , PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT
                                                                        , PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT
                                                                        , PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT
                                                                        , PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
                                                                        , PIPELINE_STAGE_2_COMPUTE_SHADER_BIT
                                                                        , PIPELINE_STAGE_2_ALL_TRANSFER_BIT
                                                                        , PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
                                                                        , PIPELINE_STAGE_2_HOST_BIT
                                                                        , PIPELINE_STAGE_2_ALL_GRAPHICS_BIT
                                                                        , PIPELINE_STAGE_2_ALL_COMMANDS_BIT
                                                                        , PIPELINE_STAGE_2_COPY_BIT
                                                                        , PIPELINE_STAGE_2_RESOLVE_BIT
                                                                        , PIPELINE_STAGE_2_BLIT_BIT
                                                                        , PIPELINE_STAGE_2_CLEAR_BIT
                                                                        , PIPELINE_STAGE_2_INDEX_INPUT_BIT
                                                                        , PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT
                                                                        , PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT
                                                                        , PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
                                                                        , PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
                                                                        , PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
                                                                        , PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR
                                                                        , PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
                                                                        , PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI
                                                                        , PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT
                                                                        , PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT
                                                                        , PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
                                                                        , PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
                                                                        , PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
                                                                        , PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
                                                                        , PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
                                                                        , PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
                                                                        , PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
                                                                        , ..
                                                                        )
                                                ) where

import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Vulkan.Core10.FundamentalTypes (Flags64)
-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_NONE_KHR"
pattern $bPIPELINE_STAGE_2_NONE_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_NONE_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_NONE_KHR = PIPELINE_STAGE_2_NONE


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR"
pattern $bPIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = PIPELINE_STAGE_2_TOP_OF_PIPE_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR"
pattern $bPIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = PIPELINE_STAGE_2_DRAW_INDIRECT_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR"
pattern $bPIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = PIPELINE_STAGE_2_VERTEX_INPUT_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR"
pattern $bPIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = PIPELINE_STAGE_2_VERTEX_SHADER_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR"
pattern $bPIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR"
pattern $bPIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR"
pattern $bPIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR"
pattern $bPIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR"
pattern $bPIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR"
pattern $bPIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR"
pattern $bPIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR"
pattern $bPIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = PIPELINE_STAGE_2_COMPUTE_SHADER_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR"
pattern $bPIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = PIPELINE_STAGE_2_ALL_TRANSFER_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_TRANSFER_BIT"
pattern $bPIPELINE_STAGE_2_TRANSFER_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_TRANSFER_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_TRANSFER_BIT = PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR"
pattern $bPIPELINE_STAGE_2_TRANSFER_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_TRANSFER_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_TRANSFER_BIT_KHR = PIPELINE_STAGE_2_ALL_TRANSFER_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR"
pattern $bPIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_HOST_BIT_KHR"
pattern $bPIPELINE_STAGE_2_HOST_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_HOST_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_HOST_BIT_KHR = PIPELINE_STAGE_2_HOST_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR"
pattern $bPIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = PIPELINE_STAGE_2_ALL_GRAPHICS_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR"
pattern $bPIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = PIPELINE_STAGE_2_ALL_COMMANDS_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_COPY_BIT_KHR"
pattern $bPIPELINE_STAGE_2_COPY_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_COPY_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_COPY_BIT_KHR = PIPELINE_STAGE_2_COPY_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR"
pattern $bPIPELINE_STAGE_2_RESOLVE_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_RESOLVE_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_RESOLVE_BIT_KHR = PIPELINE_STAGE_2_RESOLVE_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_BLIT_BIT_KHR"
pattern $bPIPELINE_STAGE_2_BLIT_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_BLIT_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_BLIT_BIT_KHR = PIPELINE_STAGE_2_BLIT_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR"
pattern $bPIPELINE_STAGE_2_CLEAR_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_CLEAR_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_CLEAR_BIT_KHR = PIPELINE_STAGE_2_CLEAR_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR"
pattern $bPIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = PIPELINE_STAGE_2_INDEX_INPUT_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR"
pattern $bPIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT


-- No documentation found for TopLevel "VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR"
pattern $bPIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT


type PipelineStageFlags2 = PipelineStageFlagBits2

-- | VkPipelineStageFlagBits2 - Pipeline stage flags for
-- VkPipelineStageFlags2
--
-- = Description
--
-- Note
--
-- The @TOP@ and @BOTTOM@ pipeline stages are deprecated, and applications
-- should prefer 'PIPELINE_STAGE_2_ALL_COMMANDS_BIT' and
-- 'PIPELINE_STAGE_2_NONE'.
--
-- Note
--
-- The 'PipelineStageFlags2' bitmask goes beyond the 31 individual bit
-- flags allowable within a C99 enum, which is how
-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits' is
-- defined. The first 31 values are common to both, and are
-- interchangeable.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_3 VK_VERSION_1_3>
newtype PipelineStageFlagBits2 = PipelineStageFlagBits2 Flags64
  deriving newtype (PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
$c/= :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
== :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
$c== :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
Eq, Eq PipelineStageFlagBits2
PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Ordering
PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
$cmin :: PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
max :: PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
$cmax :: PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
>= :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
$c>= :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
> :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
$c> :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
<= :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
$c<= :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
< :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
$c< :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Bool
compare :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Ordering
$ccompare :: PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> Ordering
Ord, Ptr PipelineStageFlagBits2 -> IO PipelineStageFlagBits2
Ptr PipelineStageFlagBits2 -> Int -> IO PipelineStageFlagBits2
Ptr PipelineStageFlagBits2
-> Int -> PipelineStageFlagBits2 -> IO ()
Ptr PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> IO ()
PipelineStageFlagBits2 -> Int
forall b. Ptr b -> Int -> IO PipelineStageFlagBits2
forall b. Ptr b -> Int -> PipelineStageFlagBits2 -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> IO ()
$cpoke :: Ptr PipelineStageFlagBits2 -> PipelineStageFlagBits2 -> IO ()
peek :: Ptr PipelineStageFlagBits2 -> IO PipelineStageFlagBits2
$cpeek :: Ptr PipelineStageFlagBits2 -> IO PipelineStageFlagBits2
pokeByteOff :: forall b. Ptr b -> Int -> PipelineStageFlagBits2 -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PipelineStageFlagBits2 -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO PipelineStageFlagBits2
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PipelineStageFlagBits2
pokeElemOff :: Ptr PipelineStageFlagBits2
-> Int -> PipelineStageFlagBits2 -> IO ()
$cpokeElemOff :: Ptr PipelineStageFlagBits2
-> Int -> PipelineStageFlagBits2 -> IO ()
peekElemOff :: Ptr PipelineStageFlagBits2 -> Int -> IO PipelineStageFlagBits2
$cpeekElemOff :: Ptr PipelineStageFlagBits2 -> Int -> IO PipelineStageFlagBits2
alignment :: PipelineStageFlagBits2 -> Int
$calignment :: PipelineStageFlagBits2 -> Int
sizeOf :: PipelineStageFlagBits2 -> Int
$csizeOf :: PipelineStageFlagBits2 -> Int
Storable, PipelineStageFlagBits2
forall a. a -> Zero a
zero :: PipelineStageFlagBits2
$czero :: PipelineStageFlagBits2
Zero, Eq PipelineStageFlagBits2
PipelineStageFlagBits2
Int -> PipelineStageFlagBits2
PipelineStageFlagBits2 -> Bool
PipelineStageFlagBits2 -> Int
PipelineStageFlagBits2 -> Maybe Int
PipelineStageFlagBits2 -> PipelineStageFlagBits2
PipelineStageFlagBits2 -> Int -> Bool
PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: PipelineStageFlagBits2 -> Int
$cpopCount :: PipelineStageFlagBits2 -> Int
rotateR :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$crotateR :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
rotateL :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$crotateL :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
unsafeShiftR :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$cunsafeShiftR :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
shiftR :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$cshiftR :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
unsafeShiftL :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$cunsafeShiftL :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
shiftL :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$cshiftL :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
isSigned :: PipelineStageFlagBits2 -> Bool
$cisSigned :: PipelineStageFlagBits2 -> Bool
bitSize :: PipelineStageFlagBits2 -> Int
$cbitSize :: PipelineStageFlagBits2 -> Int
bitSizeMaybe :: PipelineStageFlagBits2 -> Maybe Int
$cbitSizeMaybe :: PipelineStageFlagBits2 -> Maybe Int
testBit :: PipelineStageFlagBits2 -> Int -> Bool
$ctestBit :: PipelineStageFlagBits2 -> Int -> Bool
complementBit :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$ccomplementBit :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
clearBit :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$cclearBit :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
setBit :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$csetBit :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
bit :: Int -> PipelineStageFlagBits2
$cbit :: Int -> PipelineStageFlagBits2
zeroBits :: PipelineStageFlagBits2
$czeroBits :: PipelineStageFlagBits2
rotate :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$crotate :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
shift :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
$cshift :: PipelineStageFlagBits2 -> Int -> PipelineStageFlagBits2
complement :: PipelineStageFlagBits2 -> PipelineStageFlagBits2
$ccomplement :: PipelineStageFlagBits2 -> PipelineStageFlagBits2
xor :: PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
$cxor :: PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
.|. :: PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
$c.|. :: PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
.&. :: PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
$c.&. :: PipelineStageFlagBits2
-> PipelineStageFlagBits2 -> PipelineStageFlagBits2
Bits, Bits PipelineStageFlagBits2
PipelineStageFlagBits2 -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: PipelineStageFlagBits2 -> Int
$ccountTrailingZeros :: PipelineStageFlagBits2 -> Int
countLeadingZeros :: PipelineStageFlagBits2 -> Int
$ccountLeadingZeros :: PipelineStageFlagBits2 -> Int
finiteBitSize :: PipelineStageFlagBits2 -> Int
$cfiniteBitSize :: PipelineStageFlagBits2 -> Int
FiniteBits)

-- | 'PIPELINE_STAGE_2_NONE' specifies no stages of execution.
pattern $bPIPELINE_STAGE_2_NONE :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_NONE :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_NONE = PipelineStageFlagBits2 0x0000000000000000

-- | 'PIPELINE_STAGE_2_TOP_OF_PIPE_BIT' is equivalent to
-- 'PIPELINE_STAGE_2_ALL_COMMANDS_BIT' with
-- 'Vulkan.Core13.Enums.AccessFlags2.AccessFlags2' set to @0@ when
-- specified in the second synchronization scope, but equivalent to
-- 'PIPELINE_STAGE_2_NONE' in the first scope.
pattern $bPIPELINE_STAGE_2_TOP_OF_PIPE_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_TOP_OF_PIPE_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_TOP_OF_PIPE_BIT = PipelineStageFlagBits2 0x0000000000000001

-- | '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
-- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdPreprocessGeneratedCommandsNV'.
pattern $bPIPELINE_STAGE_2_DRAW_INDIRECT_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_DRAW_INDIRECT_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_DRAW_INDIRECT_BIT = PipelineStageFlagBits2 0x0000000000000002

-- | 'PIPELINE_STAGE_2_VERTEX_INPUT_BIT' is equivalent to the logical OR of:
--
-- -   'PIPELINE_STAGE_2_INDEX_INPUT_BIT'
--
-- -   'PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT'
pattern $bPIPELINE_STAGE_2_VERTEX_INPUT_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_VERTEX_INPUT_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_VERTEX_INPUT_BIT = PipelineStageFlagBits2 0x0000000000000004

-- | 'PIPELINE_STAGE_2_VERTEX_SHADER_BIT' specifies the vertex shader stage.
pattern $bPIPELINE_STAGE_2_VERTEX_SHADER_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_VERTEX_SHADER_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_VERTEX_SHADER_BIT = PipelineStageFlagBits2 0x0000000000000008

-- | 'PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT' specifies the
-- tessellation control shader stage.
pattern $bPIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT = PipelineStageFlagBits2 0x0000000000000010

-- | 'PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT' specifies the
-- tessellation evaluation shader stage.
pattern $bPIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT = PipelineStageFlagBits2 0x0000000000000020

-- | 'PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT' specifies the geometry shader
-- stage.
pattern $bPIPELINE_STAGE_2_GEOMETRY_SHADER_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_GEOMETRY_SHADER_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT = PipelineStageFlagBits2 0x0000000000000040

-- | 'PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT' specifies the fragment shader
-- stage.
pattern $bPIPELINE_STAGE_2_FRAGMENT_SHADER_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_FRAGMENT_SHADER_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT = PipelineStageFlagBits2 0x0000000000000080

-- | '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
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-load-operations render pass load operations>
-- for framebuffer attachments with a depth\/stencil format.
pattern $bPIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT = PipelineStageFlagBits2 0x0000000000000100

-- | '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
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-store-operations render pass store operations>
-- for framebuffer attachments with a depth\/stencil format.
pattern $bPIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT = PipelineStageFlagBits2 0x0000000000000200

-- | '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
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#framebuffer-blending blending>,
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#framebuffer-logicop logic operations>,
-- render pass
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-load-operations load>
-- and
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-store-operations store>
-- operations for color attachments,
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-resolve-operations render pass multisample resolve operations>,
-- and 'Vulkan.Core10.CommandBufferBuilding.cmdClearAttachments'.
pattern $bPIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT = PipelineStageFlagBits2 0x0000000000000400

-- | 'PIPELINE_STAGE_2_COMPUTE_SHADER_BIT' specifies the compute shader
-- stage.
pattern $bPIPELINE_STAGE_2_COMPUTE_SHADER_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_COMPUTE_SHADER_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_COMPUTE_SHADER_BIT = PipelineStageFlagBits2 0x0000000000000800

-- | 'PIPELINE_STAGE_2_ALL_TRANSFER_BIT' is equivalent to specifying all of:
--
-- -   'PIPELINE_STAGE_2_COPY_BIT'
--
-- -   'PIPELINE_STAGE_2_BLIT_BIT'
--
-- -   'PIPELINE_STAGE_2_RESOLVE_BIT'
--
-- -   'PIPELINE_STAGE_2_CLEAR_BIT'
--
-- -   'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR'
pattern $bPIPELINE_STAGE_2_ALL_TRANSFER_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_ALL_TRANSFER_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_ALL_TRANSFER_BIT = PipelineStageFlagBits2 0x0000000000001000

-- | 'PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT' is equivalent to
-- 'PIPELINE_STAGE_2_ALL_COMMANDS_BIT' with
-- 'Vulkan.Core13.Enums.AccessFlags2.AccessFlags2' set to @0@ when
-- specified in the first synchronization scope, but equivalent to
-- 'PIPELINE_STAGE_2_NONE' in the second scope.
pattern $bPIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT = PipelineStageFlagBits2 0x0000000000002000

-- | '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.
pattern $bPIPELINE_STAGE_2_HOST_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_HOST_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_HOST_BIT = PipelineStageFlagBits2 0x0000000000004000

-- | 'PIPELINE_STAGE_2_ALL_GRAPHICS_BIT' specifies the execution of all
-- graphics pipeline stages, and is equivalent to the logical OR of:
--
-- -   'PIPELINE_STAGE_2_DRAW_INDIRECT_BIT'
--
-- -   'PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
--
-- -   'PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT'
--
-- -   'PIPELINE_STAGE_2_VERTEX_INPUT_BIT'
--
-- -   'PIPELINE_STAGE_2_VERTEX_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT'
--
-- -   'PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT'
--
-- -   'PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT'
--
-- -   'PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT'
--
-- -   'PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT'
--
-- -   'PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
--
-- -   'PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT'
--
-- -   'PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI'
--
-- -   'PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI'
--
-- -   'PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI'
pattern $bPIPELINE_STAGE_2_ALL_GRAPHICS_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_ALL_GRAPHICS_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT = PipelineStageFlagBits2 0x0000000000008000

-- | 'PIPELINE_STAGE_2_ALL_COMMANDS_BIT' specifies all operations performed
-- by all commands supported on the queue it is used with.
pattern $bPIPELINE_STAGE_2_ALL_COMMANDS_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_ALL_COMMANDS_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_ALL_COMMANDS_BIT = PipelineStageFlagBits2 0x0000000000010000

-- | 'PIPELINE_STAGE_2_COPY_BIT' specifies the execution of all
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#copies copy commands>,
-- including 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults'.
pattern $bPIPELINE_STAGE_2_COPY_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_COPY_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_COPY_BIT = PipelineStageFlagBits2 0x0000000100000000

-- | 'PIPELINE_STAGE_2_RESOLVE_BIT' specifies the execution of
-- 'Vulkan.Core10.CommandBufferBuilding.cmdResolveImage'.
pattern $bPIPELINE_STAGE_2_RESOLVE_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_RESOLVE_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_RESOLVE_BIT = PipelineStageFlagBits2 0x0000000200000000

-- | 'PIPELINE_STAGE_2_BLIT_BIT' specifies the execution of
-- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage'.
pattern $bPIPELINE_STAGE_2_BLIT_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_BLIT_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_BLIT_BIT = PipelineStageFlagBits2 0x0000000400000000

-- | 'PIPELINE_STAGE_2_CLEAR_BIT' specifies the execution of
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#clears clear commands>,
-- with the exception of
-- 'Vulkan.Core10.CommandBufferBuilding.cmdClearAttachments'.
pattern $bPIPELINE_STAGE_2_CLEAR_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_CLEAR_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_CLEAR_BIT = PipelineStageFlagBits2 0x0000000800000000

-- | 'PIPELINE_STAGE_2_INDEX_INPUT_BIT' specifies the stage of the pipeline
-- where index buffers are consumed.
pattern $bPIPELINE_STAGE_2_INDEX_INPUT_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_INDEX_INPUT_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_INDEX_INPUT_BIT = PipelineStageFlagBits2 0x0000001000000000

-- | 'PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT' specifies the stage of the
-- pipeline where vertex buffers are consumed.
pattern $bPIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT = PipelineStageFlagBits2 0x0000002000000000

-- | 'PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT' is equivalent to
-- specifying all supported
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader stages>:
--
-- -   'PIPELINE_STAGE_2_VERTEX_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
--
-- -   'PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT'
--
-- -   'PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI'
pattern $bPIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = PipelineStageFlagBits2 0x0000004000000000

-- | 'PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV' specifies the stage of the
-- pipeline where
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#opticalflow-operations optical flow operation>
-- are performed.
pattern $bPIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = PipelineStageFlagBits2 0x0000000020000000

-- | 'PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI' specifies the
-- cluster culling shader stage.
pattern $bPIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = PipelineStageFlagBits2 0x0000020000000000

-- | 'PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT' specifies the execution of
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#micromap micromap commands>.
pattern $bPIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = PipelineStageFlagBits2 0x0000000040000000

-- | 'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR' specifies the
-- execution of
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#acceleration-structure-copying acceleration structure copy commands>.
pattern $bPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = PipelineStageFlagBits2 0x0000000010000000

-- | '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.
pattern $bPIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = PipelineStageFlagBits2 0x0000010000000000

-- | 'PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI' specifies the subpass
-- shading shader stage.
pattern $bPIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = PipelineStageFlagBits2 0x0000008000000000

-- | 'PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT' specifies the mesh shader stage.
pattern $bPIPELINE_STAGE_2_MESH_SHADER_BIT_EXT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_MESH_SHADER_BIT_EXT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = PipelineStageFlagBits2 0x0000000000100000

-- | 'PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT' specifies the task shader stage.
pattern $bPIPELINE_STAGE_2_TASK_SHADER_BIT_EXT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_TASK_SHADER_BIT_EXT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = PipelineStageFlagBits2 0x0000000000080000

-- | 'PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT' specifies the stage
-- of the pipeline where the fragment density map is read to
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#fragmentdensitymapops generate the fragment areas>.
pattern $bPIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = PipelineStageFlagBits2 0x0000000000800000

-- | 'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR' specifies the execution of
-- the ray tracing shader stages.
pattern $bPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = PipelineStageFlagBits2 0x0000000000200000

-- | 'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' specifies the
-- execution of
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#acceleration-structure acceleration structure commands>
-- or
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#acceleration-structure-copying acceleration structure copy commands>.
pattern $bPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = PipelineStageFlagBits2 0x0000000002000000

-- | 'PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR' specifies
-- the stage of the pipeline where the
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-fragment-shading-rate-attachment fragment shading rate attachment>
-- or
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-shading-rate-image shading rate image>
-- is read to determine the fragment shading rate for portions of a
-- rasterized primitive.
pattern $bPIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = PipelineStageFlagBits2 0x0000000000400000

-- | 'PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV' specifies the stage of the
-- pipeline where device-side generation of commands via
-- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdPreprocessGeneratedCommandsNV'
-- is handled.
pattern $bPIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = PipelineStageFlagBits2 0x0000000000020000

-- | 'PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT' specifies the stage of
-- the pipeline where the predicate of conditional rendering is consumed.
pattern $bPIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = PipelineStageFlagBits2 0x0000000000040000

-- | '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.
pattern $bPIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT :: PipelineStageFlagBits2
$mPIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT :: forall {r}.
PipelineStageFlagBits2 -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = PipelineStageFlagBits2 0x0000000001000000

conNamePipelineStageFlagBits2 :: String
conNamePipelineStageFlagBits2 :: String
conNamePipelineStageFlagBits2 = String
"PipelineStageFlagBits2"

enumPrefixPipelineStageFlagBits2 :: String
enumPrefixPipelineStageFlagBits2 :: String
enumPrefixPipelineStageFlagBits2 = String
"PIPELINE_STAGE_2_"

showTablePipelineStageFlagBits2 :: [(PipelineStageFlagBits2, String)]
showTablePipelineStageFlagBits2 :: [(PipelineStageFlagBits2, String)]
showTablePipelineStageFlagBits2 =
  [ (PipelineStageFlagBits2
PIPELINE_STAGE_2_NONE, String
"NONE")
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_TOP_OF_PIPE_BIT
    , String
"TOP_OF_PIPE_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_DRAW_INDIRECT_BIT
    , String
"DRAW_INDIRECT_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_VERTEX_INPUT_BIT
    , String
"VERTEX_INPUT_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_VERTEX_SHADER_BIT
    , String
"VERTEX_SHADER_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT
    , String
"TESSELLATION_CONTROL_SHADER_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT
    , String
"TESSELLATION_EVALUATION_SHADER_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT
    , String
"GEOMETRY_SHADER_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT
    , String
"FRAGMENT_SHADER_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT
    , String
"EARLY_FRAGMENT_TESTS_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT
    , String
"LATE_FRAGMENT_TESTS_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT
    , String
"COLOR_ATTACHMENT_OUTPUT_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_COMPUTE_SHADER_BIT
    , String
"COMPUTE_SHADER_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_ALL_TRANSFER_BIT
    , String
"ALL_TRANSFER_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT
    , String
"BOTTOM_OF_PIPE_BIT"
    )
  , (PipelineStageFlagBits2
PIPELINE_STAGE_2_HOST_BIT, String
"HOST_BIT")
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT
    , String
"ALL_GRAPHICS_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_ALL_COMMANDS_BIT
    , String
"ALL_COMMANDS_BIT"
    )
  , (PipelineStageFlagBits2
PIPELINE_STAGE_2_COPY_BIT, String
"COPY_BIT")
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_RESOLVE_BIT
    , String
"RESOLVE_BIT"
    )
  , (PipelineStageFlagBits2
PIPELINE_STAGE_2_BLIT_BIT, String
"BLIT_BIT")
  , (PipelineStageFlagBits2
PIPELINE_STAGE_2_CLEAR_BIT, String
"CLEAR_BIT")
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_INDEX_INPUT_BIT
    , String
"INDEX_INPUT_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT
    , String
"VERTEX_ATTRIBUTE_INPUT_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT
    , String
"PRE_RASTERIZATION_SHADERS_BIT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
    , String
"OPTICAL_FLOW_BIT_NV"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI
    , String
"CLUSTER_CULLING_SHADER_BIT_HUAWEI"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT
    , String
"MICROMAP_BUILD_BIT_EXT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR
    , String
"ACCELERATION_STRUCTURE_COPY_BIT_KHR"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
    , String
"INVOCATION_MASK_BIT_HUAWEI"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI
    , String
"SUBPASS_SHADER_BIT_HUAWEI"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT
    , String
"MESH_SHADER_BIT_EXT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT
    , String
"TASK_SHADER_BIT_EXT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
    , String
"FRAGMENT_DENSITY_PROCESS_BIT_EXT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
    , String
"RAY_TRACING_SHADER_BIT_KHR"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
    , String
"ACCELERATION_STRUCTURE_BUILD_BIT_KHR"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
    , String
"FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
    , String
"COMMAND_PREPROCESS_BIT_NV"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
    , String
"CONDITIONAL_RENDERING_BIT_EXT"
    )
  ,
    ( PipelineStageFlagBits2
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
    , String
"TRANSFORM_FEEDBACK_BIT_EXT"
    )
  ]

instance Show PipelineStageFlagBits2 where
  showsPrec :: Int -> PipelineStageFlagBits2 -> ShowS
showsPrec =
    forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixPipelineStageFlagBits2
      [(PipelineStageFlagBits2, String)]
showTablePipelineStageFlagBits2
      String
conNamePipelineStageFlagBits2
      (\(PipelineStageFlagBits2 Flags64
x) -> Flags64
x)
      (\Flags64
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags64
x)

instance Read PipelineStageFlagBits2 where
  readPrec :: ReadPrec PipelineStageFlagBits2
readPrec =
    forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixPipelineStageFlagBits2
      [(PipelineStageFlagBits2, String)]
showTablePipelineStageFlagBits2
      String
conNamePipelineStageFlagBits2
      Flags64 -> PipelineStageFlagBits2
PipelineStageFlagBits2