{-# language CPP #-}
module Vulkan.Core10.Enums.PipelineStageFlagBits  ( PipelineStageFlagBits( PIPELINE_STAGE_TOP_OF_PIPE_BIT
                                                                         , PIPELINE_STAGE_DRAW_INDIRECT_BIT
                                                                         , PIPELINE_STAGE_VERTEX_INPUT_BIT
                                                                         , PIPELINE_STAGE_VERTEX_SHADER_BIT
                                                                         , PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT
                                                                         , PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
                                                                         , PIPELINE_STAGE_GEOMETRY_SHADER_BIT
                                                                         , PIPELINE_STAGE_FRAGMENT_SHADER_BIT
                                                                         , PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT
                                                                         , PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT
                                                                         , PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT
                                                                         , PIPELINE_STAGE_COMPUTE_SHADER_BIT
                                                                         , PIPELINE_STAGE_TRANSFER_BIT
                                                                         , PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT
                                                                         , PIPELINE_STAGE_HOST_BIT
                                                                         , PIPELINE_STAGE_ALL_GRAPHICS_BIT
                                                                         , PIPELINE_STAGE_ALL_COMMANDS_BIT
                                                                         , PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV
                                                                         , PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
                                                                         , PIPELINE_STAGE_MESH_SHADER_BIT_NV
                                                                         , PIPELINE_STAGE_TASK_SHADER_BIT_NV
                                                                         , PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
                                                                         , PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
                                                                         , PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR
                                                                         , PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
                                                                         , PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
                                                                         , ..
                                                                         )
                                                  , PipelineStageFlags
                                                  ) where

import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import Numeric (showHex)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Data.Bits (Bits)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import Text.Read.Lex (Lexeme(Ident))
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Zero (Zero)
-- | VkPipelineStageFlagBits - Bitmask specifying pipeline stages
--
-- = See Also
--
-- 'Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.CheckpointDataNV',
-- 'PipelineStageFlags',
-- 'Vulkan.Extensions.VK_AMD_buffer_marker.cmdWriteBufferMarkerAMD',
-- 'Vulkan.Core10.CommandBufferBuilding.cmdWriteTimestamp'
newtype PipelineStageFlagBits = PipelineStageFlagBits Flags
  deriving newtype (PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
(PipelineStageFlagBits -> PipelineStageFlagBits -> Bool)
-> (PipelineStageFlagBits -> PipelineStageFlagBits -> Bool)
-> Eq PipelineStageFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
$c/= :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
== :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
$c== :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
Eq, Eq PipelineStageFlagBits
Eq PipelineStageFlagBits =>
(PipelineStageFlagBits -> PipelineStageFlagBits -> Ordering)
-> (PipelineStageFlagBits -> PipelineStageFlagBits -> Bool)
-> (PipelineStageFlagBits -> PipelineStageFlagBits -> Bool)
-> (PipelineStageFlagBits -> PipelineStageFlagBits -> Bool)
-> (PipelineStageFlagBits -> PipelineStageFlagBits -> Bool)
-> (PipelineStageFlagBits
    -> PipelineStageFlagBits -> PipelineStageFlagBits)
-> (PipelineStageFlagBits
    -> PipelineStageFlagBits -> PipelineStageFlagBits)
-> Ord PipelineStageFlagBits
PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
PipelineStageFlagBits -> PipelineStageFlagBits -> Ordering
PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
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 :: PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
$cmin :: PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
max :: PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
$cmax :: PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
>= :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
$c>= :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
> :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
$c> :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
<= :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
$c<= :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
< :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
$c< :: PipelineStageFlagBits -> PipelineStageFlagBits -> Bool
compare :: PipelineStageFlagBits -> PipelineStageFlagBits -> Ordering
$ccompare :: PipelineStageFlagBits -> PipelineStageFlagBits -> Ordering
$cp1Ord :: Eq PipelineStageFlagBits
Ord, Ptr b -> Int -> IO PipelineStageFlagBits
Ptr b -> Int -> PipelineStageFlagBits -> IO ()
Ptr PipelineStageFlagBits -> IO PipelineStageFlagBits
Ptr PipelineStageFlagBits -> Int -> IO PipelineStageFlagBits
Ptr PipelineStageFlagBits -> Int -> PipelineStageFlagBits -> IO ()
Ptr PipelineStageFlagBits -> PipelineStageFlagBits -> IO ()
PipelineStageFlagBits -> Int
(PipelineStageFlagBits -> Int)
-> (PipelineStageFlagBits -> Int)
-> (Ptr PipelineStageFlagBits -> Int -> IO PipelineStageFlagBits)
-> (Ptr PipelineStageFlagBits
    -> Int -> PipelineStageFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO PipelineStageFlagBits)
-> (forall b. Ptr b -> Int -> PipelineStageFlagBits -> IO ())
-> (Ptr PipelineStageFlagBits -> IO PipelineStageFlagBits)
-> (Ptr PipelineStageFlagBits -> PipelineStageFlagBits -> IO ())
-> Storable PipelineStageFlagBits
forall b. Ptr b -> Int -> IO PipelineStageFlagBits
forall b. Ptr b -> Int -> PipelineStageFlagBits -> 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 PipelineStageFlagBits -> PipelineStageFlagBits -> IO ()
$cpoke :: Ptr PipelineStageFlagBits -> PipelineStageFlagBits -> IO ()
peek :: Ptr PipelineStageFlagBits -> IO PipelineStageFlagBits
$cpeek :: Ptr PipelineStageFlagBits -> IO PipelineStageFlagBits
pokeByteOff :: Ptr b -> Int -> PipelineStageFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PipelineStageFlagBits -> IO ()
peekByteOff :: Ptr b -> Int -> IO PipelineStageFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PipelineStageFlagBits
pokeElemOff :: Ptr PipelineStageFlagBits -> Int -> PipelineStageFlagBits -> IO ()
$cpokeElemOff :: Ptr PipelineStageFlagBits -> Int -> PipelineStageFlagBits -> IO ()
peekElemOff :: Ptr PipelineStageFlagBits -> Int -> IO PipelineStageFlagBits
$cpeekElemOff :: Ptr PipelineStageFlagBits -> Int -> IO PipelineStageFlagBits
alignment :: PipelineStageFlagBits -> Int
$calignment :: PipelineStageFlagBits -> Int
sizeOf :: PipelineStageFlagBits -> Int
$csizeOf :: PipelineStageFlagBits -> Int
Storable, PipelineStageFlagBits
PipelineStageFlagBits -> Zero PipelineStageFlagBits
forall a. a -> Zero a
zero :: PipelineStageFlagBits
$czero :: PipelineStageFlagBits
Zero, Eq PipelineStageFlagBits
PipelineStageFlagBits
Eq PipelineStageFlagBits =>
(PipelineStageFlagBits
 -> PipelineStageFlagBits -> PipelineStageFlagBits)
-> (PipelineStageFlagBits
    -> PipelineStageFlagBits -> PipelineStageFlagBits)
-> (PipelineStageFlagBits
    -> PipelineStageFlagBits -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> PipelineStageFlagBits
-> (Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> Bool)
-> (PipelineStageFlagBits -> Maybe Int)
-> (PipelineStageFlagBits -> Int)
-> (PipelineStageFlagBits -> Bool)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int -> PipelineStageFlagBits)
-> (PipelineStageFlagBits -> Int)
-> Bits PipelineStageFlagBits
Int -> PipelineStageFlagBits
PipelineStageFlagBits -> Bool
PipelineStageFlagBits -> Int
PipelineStageFlagBits -> Maybe Int
PipelineStageFlagBits -> PipelineStageFlagBits
PipelineStageFlagBits -> Int -> Bool
PipelineStageFlagBits -> Int -> PipelineStageFlagBits
PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
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 :: PipelineStageFlagBits -> Int
$cpopCount :: PipelineStageFlagBits -> Int
rotateR :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$crotateR :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
rotateL :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$crotateL :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
unsafeShiftR :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$cunsafeShiftR :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
shiftR :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$cshiftR :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
unsafeShiftL :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$cunsafeShiftL :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
shiftL :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$cshiftL :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
isSigned :: PipelineStageFlagBits -> Bool
$cisSigned :: PipelineStageFlagBits -> Bool
bitSize :: PipelineStageFlagBits -> Int
$cbitSize :: PipelineStageFlagBits -> Int
bitSizeMaybe :: PipelineStageFlagBits -> Maybe Int
$cbitSizeMaybe :: PipelineStageFlagBits -> Maybe Int
testBit :: PipelineStageFlagBits -> Int -> Bool
$ctestBit :: PipelineStageFlagBits -> Int -> Bool
complementBit :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$ccomplementBit :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
clearBit :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$cclearBit :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
setBit :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$csetBit :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
bit :: Int -> PipelineStageFlagBits
$cbit :: Int -> PipelineStageFlagBits
zeroBits :: PipelineStageFlagBits
$czeroBits :: PipelineStageFlagBits
rotate :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$crotate :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
shift :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
$cshift :: PipelineStageFlagBits -> Int -> PipelineStageFlagBits
complement :: PipelineStageFlagBits -> PipelineStageFlagBits
$ccomplement :: PipelineStageFlagBits -> PipelineStageFlagBits
xor :: PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
$cxor :: PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
.|. :: PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
$c.|. :: PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
.&. :: PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
$c.&. :: PipelineStageFlagBits
-> PipelineStageFlagBits -> PipelineStageFlagBits
$cp1Bits :: Eq PipelineStageFlagBits
Bits)

-- | 'PIPELINE_STAGE_TOP_OF_PIPE_BIT' is equivalent to
-- 'PIPELINE_STAGE_ALL_COMMANDS_BIT' with
-- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags' set to @0@ when
-- specified in the second synchronization scope, but specifies no stages
-- in the first scope.
pattern $bPIPELINE_STAGE_TOP_OF_PIPE_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_TOP_OF_PIPE_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_TOP_OF_PIPE_BIT = PipelineStageFlagBits 0x00000001
-- | 'PIPELINE_STAGE_DRAW_INDIRECT_BIT' specifies the stage of the pipeline
-- where Draw\/DispatchIndirect data structures are consumed. This stage
-- also includes reading commands written by
-- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdExecuteGeneratedCommandsNV'.
pattern $bPIPELINE_STAGE_DRAW_INDIRECT_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_DRAW_INDIRECT_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_DRAW_INDIRECT_BIT = PipelineStageFlagBits 0x00000002
-- | 'PIPELINE_STAGE_VERTEX_INPUT_BIT' specifies the stage of the pipeline
-- where vertex and index buffers are consumed.
pattern $bPIPELINE_STAGE_VERTEX_INPUT_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_VERTEX_INPUT_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_VERTEX_INPUT_BIT = PipelineStageFlagBits 0x00000004
-- | 'PIPELINE_STAGE_VERTEX_SHADER_BIT' specifies the vertex shader stage.
pattern $bPIPELINE_STAGE_VERTEX_SHADER_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_VERTEX_SHADER_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_VERTEX_SHADER_BIT = PipelineStageFlagBits 0x00000008
-- | 'PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT' specifies the
-- tessellation control shader stage.
pattern $bPIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT = PipelineStageFlagBits 0x00000010
-- | 'PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT' specifies the
-- tessellation evaluation shader stage.
pattern $bPIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT = PipelineStageFlagBits 0x00000020
-- | 'PIPELINE_STAGE_GEOMETRY_SHADER_BIT' specifies the geometry shader
-- stage.
pattern $bPIPELINE_STAGE_GEOMETRY_SHADER_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_GEOMETRY_SHADER_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_GEOMETRY_SHADER_BIT = PipelineStageFlagBits 0x00000040
-- | 'PIPELINE_STAGE_FRAGMENT_SHADER_BIT' specifies the fragment shader
-- stage.
pattern $bPIPELINE_STAGE_FRAGMENT_SHADER_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_FRAGMENT_SHADER_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_FRAGMENT_SHADER_BIT = PipelineStageFlagBits 0x00000080
-- | 'PIPELINE_STAGE_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://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-load-store-ops subpass load operations>
-- for framebuffer attachments with a depth\/stencil format.
pattern $bPIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT = PipelineStageFlagBits 0x00000100
-- | 'PIPELINE_STAGE_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://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-load-store-ops subpass store operations>
-- for framebuffer attachments with a depth\/stencil format.
pattern $bPIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT = PipelineStageFlagBits 0x00000200
-- | 'PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT' specifies the stage of the
-- pipeline after blending where the final color values are output from the
-- pipeline. This stage also includes
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-load-store-ops subpass load and store operations>
-- and multisample resolve operations for framebuffer attachments with a
-- color or depth\/stencil format.
pattern $bPIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT = PipelineStageFlagBits 0x00000400
-- | 'PIPELINE_STAGE_COMPUTE_SHADER_BIT' specifies the execution of a compute
-- shader.
pattern $bPIPELINE_STAGE_COMPUTE_SHADER_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_COMPUTE_SHADER_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_COMPUTE_SHADER_BIT = PipelineStageFlagBits 0x00000800
-- | 'PIPELINE_STAGE_TRANSFER_BIT' specifies the following commands:
--
-- -   All
--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies copy commands>,
--     including
--     'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults'
--
-- -   'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage'
--
-- -   'Vulkan.Core10.CommandBufferBuilding.cmdResolveImage'
--
-- -   All
--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#clears clear commands>,
--     with the exception of
--     'Vulkan.Core10.CommandBufferBuilding.cmdClearAttachments'
pattern $bPIPELINE_STAGE_TRANSFER_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_TRANSFER_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_TRANSFER_BIT = PipelineStageFlagBits 0x00001000
-- | 'PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT' is equivalent to
-- 'PIPELINE_STAGE_ALL_COMMANDS_BIT' with
-- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags' set to @0@ when
-- specified in the first synchronization scope, but specifies no stages in
-- the second scope.
pattern $bPIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_BOTTOM_OF_PIPE_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT = PipelineStageFlagBits 0x00002000
-- | 'PIPELINE_STAGE_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_HOST_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_HOST_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_HOST_BIT = PipelineStageFlagBits 0x00004000
-- | 'PIPELINE_STAGE_ALL_GRAPHICS_BIT' specifies the execution of all
-- graphics pipeline stages, and is equivalent to the logical OR of:
--
-- -   'PIPELINE_STAGE_DRAW_INDIRECT_BIT'
--
-- -   'PIPELINE_STAGE_TASK_SHADER_BIT_NV'
--
-- -   'PIPELINE_STAGE_MESH_SHADER_BIT_NV'
--
-- -   'PIPELINE_STAGE_VERTEX_INPUT_BIT'
--
-- -   'PIPELINE_STAGE_VERTEX_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_GEOMETRY_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_FRAGMENT_SHADER_BIT'
--
-- -   'PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT'
--
-- -   'PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT'
--
-- -   'PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT'
--
-- -   'PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT'
--
-- -   'PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT'
--
-- -   'PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'
--
-- -   'PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'
pattern $bPIPELINE_STAGE_ALL_GRAPHICS_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_ALL_GRAPHICS_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_ALL_GRAPHICS_BIT = PipelineStageFlagBits 0x00008000
-- | 'PIPELINE_STAGE_ALL_COMMANDS_BIT' specifies all commands supported on
-- the queue it is used with.
pattern $bPIPELINE_STAGE_ALL_COMMANDS_BIT :: PipelineStageFlagBits
$mPIPELINE_STAGE_ALL_COMMANDS_BIT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_ALL_COMMANDS_BIT = PipelineStageFlagBits 0x00010000
-- | 'PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV' specifies the stage of the
-- pipeline where device-side preprocessing for generated commands via
-- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdPreprocessGeneratedCommandsNV'
-- is handled.
pattern $bPIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV :: PipelineStageFlagBits
$mPIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV = PipelineStageFlagBits 0x00020000
-- | 'PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT' specifies the stage of
-- the pipeline where the fragment density map is read to
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fragmentdensitymapops generate the fragment areas>.
pattern $bPIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: PipelineStageFlagBits
$mPIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT = PipelineStageFlagBits 0x00800000
-- | 'PIPELINE_STAGE_MESH_SHADER_BIT_NV' specifies the mesh shader stage.
pattern $bPIPELINE_STAGE_MESH_SHADER_BIT_NV :: PipelineStageFlagBits
$mPIPELINE_STAGE_MESH_SHADER_BIT_NV :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_MESH_SHADER_BIT_NV = PipelineStageFlagBits 0x00100000
-- | 'PIPELINE_STAGE_TASK_SHADER_BIT_NV' specifies the task shader stage.
pattern $bPIPELINE_STAGE_TASK_SHADER_BIT_NV :: PipelineStageFlagBits
$mPIPELINE_STAGE_TASK_SHADER_BIT_NV :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_TASK_SHADER_BIT_NV = PipelineStageFlagBits 0x00080000
-- | 'PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV' specifies the stage of the
-- pipeline where the
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-shading-rate-image shading rate image>
-- is read to determine the shading rate for portions of a rasterized
-- primitive.
pattern $bPIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV :: PipelineStageFlagBits
$mPIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV = PipelineStageFlagBits 0x00400000
-- | 'PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' specifies the
-- execution of
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure acceleration structure commands>.
pattern $bPIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: PipelineStageFlagBits
$mPIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = PipelineStageFlagBits 0x02000000
-- | 'PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR' specifies the execution of
-- the ray tracing shader stages.
pattern $bPIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR :: PipelineStageFlagBits
$mPIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR = PipelineStageFlagBits 0x00200000
-- | 'PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT' specifies the stage of
-- the pipeline where the predicate of conditional rendering is consumed.
pattern $bPIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT :: PipelineStageFlagBits
$mPIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT = PipelineStageFlagBits 0x00040000
-- | 'PIPELINE_STAGE_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_TRANSFORM_FEEDBACK_BIT_EXT :: PipelineStageFlagBits
$mPIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT :: forall r.
PipelineStageFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT = PipelineStageFlagBits 0x01000000

type PipelineStageFlags = PipelineStageFlagBits

instance Show PipelineStageFlagBits where
  showsPrec :: Int -> PipelineStageFlagBits -> ShowS
showsPrec p :: Int
p = \case
    PIPELINE_STAGE_TOP_OF_PIPE_BIT -> String -> ShowS
showString "PIPELINE_STAGE_TOP_OF_PIPE_BIT"
    PIPELINE_STAGE_DRAW_INDIRECT_BIT -> String -> ShowS
showString "PIPELINE_STAGE_DRAW_INDIRECT_BIT"
    PIPELINE_STAGE_VERTEX_INPUT_BIT -> String -> ShowS
showString "PIPELINE_STAGE_VERTEX_INPUT_BIT"
    PIPELINE_STAGE_VERTEX_SHADER_BIT -> String -> ShowS
showString "PIPELINE_STAGE_VERTEX_SHADER_BIT"
    PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT -> String -> ShowS
showString "PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"
    PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT -> String -> ShowS
showString "PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"
    PIPELINE_STAGE_GEOMETRY_SHADER_BIT -> String -> ShowS
showString "PIPELINE_STAGE_GEOMETRY_SHADER_BIT"
    PIPELINE_STAGE_FRAGMENT_SHADER_BIT -> String -> ShowS
showString "PIPELINE_STAGE_FRAGMENT_SHADER_BIT"
    PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT -> String -> ShowS
showString "PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"
    PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT -> String -> ShowS
showString "PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"
    PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT -> String -> ShowS
showString "PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"
    PIPELINE_STAGE_COMPUTE_SHADER_BIT -> String -> ShowS
showString "PIPELINE_STAGE_COMPUTE_SHADER_BIT"
    PIPELINE_STAGE_TRANSFER_BIT -> String -> ShowS
showString "PIPELINE_STAGE_TRANSFER_BIT"
    PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT -> String -> ShowS
showString "PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"
    PIPELINE_STAGE_HOST_BIT -> String -> ShowS
showString "PIPELINE_STAGE_HOST_BIT"
    PIPELINE_STAGE_ALL_GRAPHICS_BIT -> String -> ShowS
showString "PIPELINE_STAGE_ALL_GRAPHICS_BIT"
    PIPELINE_STAGE_ALL_COMMANDS_BIT -> String -> ShowS
showString "PIPELINE_STAGE_ALL_COMMANDS_BIT"
    PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV -> String -> ShowS
showString "PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV"
    PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT -> String -> ShowS
showString "PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT"
    PIPELINE_STAGE_MESH_SHADER_BIT_NV -> String -> ShowS
showString "PIPELINE_STAGE_MESH_SHADER_BIT_NV"
    PIPELINE_STAGE_TASK_SHADER_BIT_NV -> String -> ShowS
showString "PIPELINE_STAGE_TASK_SHADER_BIT_NV"
    PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV -> String -> ShowS
showString "PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV"
    PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR -> String -> ShowS
showString "PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"
    PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR -> String -> ShowS
showString "PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR"
    PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT -> String -> ShowS
showString "PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT"
    PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT -> String -> ShowS
showString "PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT"
    PipelineStageFlagBits x :: Flags
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "PipelineStageFlagBits 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)

instance Read PipelineStageFlagBits where
  readPrec :: ReadPrec PipelineStageFlagBits
readPrec = ReadPrec PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec PipelineStageFlagBits)]
-> ReadPrec PipelineStageFlagBits
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [("PIPELINE_STAGE_TOP_OF_PIPE_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_TOP_OF_PIPE_BIT)
                            , ("PIPELINE_STAGE_DRAW_INDIRECT_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_DRAW_INDIRECT_BIT)
                            , ("PIPELINE_STAGE_VERTEX_INPUT_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_VERTEX_INPUT_BIT)
                            , ("PIPELINE_STAGE_VERTEX_SHADER_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_VERTEX_SHADER_BIT)
                            , ("PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT)
                            , ("PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT)
                            , ("PIPELINE_STAGE_GEOMETRY_SHADER_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_GEOMETRY_SHADER_BIT)
                            , ("PIPELINE_STAGE_FRAGMENT_SHADER_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_FRAGMENT_SHADER_BIT)
                            , ("PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT)
                            , ("PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT)
                            , ("PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT)
                            , ("PIPELINE_STAGE_COMPUTE_SHADER_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_COMPUTE_SHADER_BIT)
                            , ("PIPELINE_STAGE_TRANSFER_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_TRANSFER_BIT)
                            , ("PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT)
                            , ("PIPELINE_STAGE_HOST_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_HOST_BIT)
                            , ("PIPELINE_STAGE_ALL_GRAPHICS_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_ALL_GRAPHICS_BIT)
                            , ("PIPELINE_STAGE_ALL_COMMANDS_BIT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_ALL_COMMANDS_BIT)
                            , ("PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV)
                            , ("PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT)
                            , ("PIPELINE_STAGE_MESH_SHADER_BIT_NV", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_MESH_SHADER_BIT_NV)
                            , ("PIPELINE_STAGE_TASK_SHADER_BIT_NV", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_TASK_SHADER_BIT_NV)
                            , ("PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV)
                            , ("PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR)
                            , ("PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR)
                            , ("PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT)
                            , ("PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT", PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure PipelineStageFlagBits
PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT)]
                     ReadPrec PipelineStageFlagBits
-> ReadPrec PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                     Int
-> ReadPrec PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
                       Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "PipelineStageFlagBits")
                       Flags
v <- ReadPrec Flags -> ReadPrec Flags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Flags
forall a. Read a => ReadPrec a
readPrec
                       PipelineStageFlagBits -> ReadPrec PipelineStageFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Flags -> PipelineStageFlagBits
PipelineStageFlagBits Flags
v)))