{-# language CPP #-}
-- No documentation found for Chapter "PipelineCreateFlagBits"
module Vulkan.Core10.Enums.PipelineCreateFlagBits  ( PipelineCreateFlags
                                                   , PipelineCreateFlagBits( PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT
                                                                           , PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT
                                                                           , PIPELINE_CREATE_DERIVATIVE_BIT
                                                                           , PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT
                                                                           , PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT
                                                                           , PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV
                                                                           , PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT
                                                                           , PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
                                                                           , PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
                                                                           , PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
                                                                           , PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT
                                                                           , PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
                                                                           , PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
                                                                           , PIPELINE_CREATE_LIBRARY_BIT_KHR
                                                                           , PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
                                                                           , PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
                                                                           , PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR
                                                                           , PIPELINE_CREATE_DEFER_COMPILE_BIT_NV
                                                                           , PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
                                                                           , PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR
                                                                           , PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
                                                                           , PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
                                                                           , PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
                                                                           , PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
                                                                           , PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
                                                                           , PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
                                                                           , PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
                                                                           , PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT
                                                                           , PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT
                                                                           , PIPELINE_CREATE_DISPATCH_BASE_BIT
                                                                           , PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT
                                                                           , ..
                                                                           )
                                                   ) 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 (Flags)
type PipelineCreateFlags = PipelineCreateFlagBits

-- | VkPipelineCreateFlagBits - Bitmask controlling how a pipeline is created
--
-- = Description
--
-- -   'PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT' specifies that the
--     created pipeline will not be optimized. Using this flag /may/ reduce
--     the time taken to create the pipeline.
--
-- -   'PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT' specifies that the pipeline
--     to be created is allowed to be the parent of a pipeline that will be
--     created in a subsequent pipeline creation call.
--
-- -   'PIPELINE_CREATE_DERIVATIVE_BIT' specifies that the pipeline to be
--     created will be a child of a previously created parent pipeline.
--
-- -   'PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT' specifies that
--     any shader input variables decorated as @ViewIndex@ will be assigned
--     values as if they were decorated as @DeviceIndex@.
--
-- -   'Vulkan.Core11.Promoted_From_VK_KHR_device_group.PIPELINE_CREATE_DISPATCH_BASE'
--     specifies that a compute pipeline /can/ be used with
--     'Vulkan.Core11.Promoted_From_VK_KHR_device_group.cmdDispatchBase'
--     with a non-zero base workgroup.
--
-- -   'PIPELINE_CREATE_DEFER_COMPILE_BIT_NV' specifies that a pipeline is
--     created with all shaders in the deferred state. Before using the
--     pipeline the application /must/ call
--     'Vulkan.Extensions.VK_NV_ray_tracing.compileDeferredNV' exactly once
--     on each shader in the pipeline before using the pipeline.
--
-- -   'PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR' specifies that the
--     shader compiler should capture statistics for the pipeline
--     executables produced by the compile process which /can/ later be
--     retrieved by calling
--     'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.getPipelineExecutableStatisticsKHR'.
--     Enabling this flag /must/ not affect the final compiled pipeline but
--     /may/ disable pipeline caching or otherwise affect pipeline creation
--     time.
--
-- -   'PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR' specifies
--     that the shader compiler should capture the internal representations
--     of pipeline executables produced by the compile process which /can/
--     later be retrieved by calling
--     'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.getPipelineExecutableInternalRepresentationsKHR'.
--     Enabling this flag /must/ not affect the final compiled pipeline but
--     /may/ disable pipeline caching or otherwise affect pipeline creation
--     time. When capturing IR from pipelines created with pipeline
--     libraries, there is no guarantee that IR from libraries /can/ be
--     retrieved from the linked pipeline. Applications /should/ retrieve
--     IR from each library, and any linked pipelines, separately.
--
-- -   'PIPELINE_CREATE_LIBRARY_BIT_KHR' specifies that the pipeline
--     /cannot/ be used directly, and instead defines a /pipeline library/
--     that /can/ be combined with other pipelines using the
--     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'
--     structure. This is available in ray tracing and graphics pipelines.
--
-- -   'PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR'
--     specifies that an any-hit shader will always be present when an
--     any-hit shader would be executed. A NULL any-hit shader is an
--     any-hit shader which is effectively
--     'Vulkan.Core10.APIConstants.SHADER_UNUSED_KHR', such as from a
--     shader group consisting entirely of zeros.
--
-- -   'PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR'
--     specifies that a closest hit shader will always be present when a
--     closest hit shader would be executed. A NULL closest hit shader is a
--     closest hit shader which is effectively
--     'Vulkan.Core10.APIConstants.SHADER_UNUSED_KHR', such as from a
--     shader group consisting entirely of zeros.
--
-- -   'PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR' specifies
--     that a miss shader will always be present when a miss shader would
--     be executed. A NULL miss shader is a miss shader which is
--     effectively 'Vulkan.Core10.APIConstants.SHADER_UNUSED_KHR', such as
--     from a shader group consisting entirely of zeros.
--
-- -   'PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR'
--     specifies that an intersection shader will always be present when an
--     intersection shader would be executed. A NULL intersection shader is
--     an intersection shader which is effectively
--     'Vulkan.Core10.APIConstants.SHADER_UNUSED_KHR', such as from a
--     shader group consisting entirely of zeros.
--
-- -   'PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR' specifies that
--     triangle primitives will be skipped during traversal using
--     @OpTraceRayKHR@.
--
-- -   'PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR' specifies that AABB
--     primitives will be skipped during traversal using @OpTraceRayKHR@.
--
-- -   'PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR'
--     specifies that the shader group handles /can/ be saved and reused on
--     a subsequent run (e.g. for trace capture and replay).
--
-- -   'PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV' specifies that the
--     pipeline can be used in combination with
--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#device-generated-commands>.
--
-- -   'PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT' specifies
--     that pipeline creation will fail if a compile is required for
--     creation of a valid 'Vulkan.Core10.Handles.Pipeline' object;
--     'Vulkan.Core10.Enums.Result.PIPELINE_COMPILE_REQUIRED' will be
--     returned by pipeline creation, and the
--     'Vulkan.Core10.Handles.Pipeline' will be set to
--     'Vulkan.Core10.APIConstants.NULL_HANDLE'.
--
-- -   When creating multiple pipelines,
--     'PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT' specifies that control
--     will be returned to the application if any individual pipeline
--     returns a result which is not 'Vulkan.Core10.Enums.Result.SUCCESS'
--     rather than continuing to create additional pipelines.
--
-- -   'PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV' specifies that the
--     pipeline is allowed to use @OpTraceRayMotionNV@.
--
-- -   'PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
--     specifies that the pipeline will be used with a fragment shading
--     rate attachment and dynamic rendering.
--
-- -   'PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
--     specifies that the pipeline will be used with a fragment density map
--     attachment and dynamic rendering.
--
-- -   'PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT' specifies that
--     pipeline libraries being linked into this library /should/ have link
--     time optimizations applied. If this bit is omitted, implementations
--     /should/ instead perform linking as rapidly as possible.
--
-- -   'PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT'
--     specifies that pipeline libraries should retain any information
--     necessary to later perform an optimal link with
--     'PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT'.
--
-- -   'PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT' specifies that a
--     pipeline will be used with
--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorbuffers descriptor buffers>,
--     rather than
--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#descriptorsets descriptor sets>.
--
-- -   'PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT' specifies
--     that the pipeline /may/ be used with an attachment feedback loop
--     including color attachments. It is ignored if
--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT'
--     is set in @pDynamicStates@.
--
-- -   'PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT'
--     specifies that the pipeline /may/ be used with an attachment
--     feedback loop including depth-stencil attachments. It is ignored if
--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT'
--     is set in @pDynamicStates@.
--
-- -   'PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT' specifies
--     that the pipeline /can/ be used with acceleration structures which
--     reference an opacity micromap array.
--
-- -   'PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV' specifies
--     that the pipeline /can/ be used with aceleration structures which
--     reference a displacement micromap array.
--
-- -   'PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT' specifies that the
--     pipeline /must/ not be bound to a protected command buffer.
--
-- -   'PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT' specifies that the
--     pipeline /must/ not be bound to an unprotected command buffer.
--
-- It is valid to set both 'PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT' and
-- 'PIPELINE_CREATE_DERIVATIVE_BIT'. This allows a pipeline to be both a
-- parent and possibly a child in a pipeline hierarchy. See
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-pipeline-derivatives Pipeline Derivatives>
-- for more information.
--
-- When an implementation is looking up a pipeline in a
-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-cache pipeline cache>,
-- if that pipeline is being created using linked libraries,
-- implementations /should/ always return an equivalent pipeline created
-- with 'PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT' if available,
-- whether or not that bit was specified.
--
-- Note
--
-- Using 'PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT' (or not) when
-- linking pipeline libraries is intended as a performance tradeoff between
-- host and device. If the bit is omitted, linking should be faster and
-- produce a pipeline more rapidly, but performance of the pipeline on the
-- target device may be reduced. If the bit is included, linking may be
-- slower but should produce a pipeline with device performance comparable
-- to a monolithically created pipeline. Using both options can allow
-- latency-sensitive applications to generate a suboptimal but usable
-- pipeline quickly, and then perform an optimal link in the background,
-- substituting the result for the suboptimally linked pipeline as soon as
-- it is available.
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
-- 'PipelineCreateFlags'
newtype PipelineCreateFlagBits = PipelineCreateFlagBits Flags
  deriving newtype (PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
$c/= :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
== :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
$c== :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
Eq, Eq PipelineCreateFlagBits
PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
PipelineCreateFlagBits -> PipelineCreateFlagBits -> Ordering
PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
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 :: PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
$cmin :: PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
max :: PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
$cmax :: PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
>= :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
$c>= :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
> :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
$c> :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
<= :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
$c<= :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
< :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
$c< :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Bool
compare :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Ordering
$ccompare :: PipelineCreateFlagBits -> PipelineCreateFlagBits -> Ordering
Ord, Ptr PipelineCreateFlagBits -> IO PipelineCreateFlagBits
Ptr PipelineCreateFlagBits -> Int -> IO PipelineCreateFlagBits
Ptr PipelineCreateFlagBits
-> Int -> PipelineCreateFlagBits -> IO ()
Ptr PipelineCreateFlagBits -> PipelineCreateFlagBits -> IO ()
PipelineCreateFlagBits -> Int
forall b. Ptr b -> Int -> IO PipelineCreateFlagBits
forall b. Ptr b -> Int -> PipelineCreateFlagBits -> 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 PipelineCreateFlagBits -> PipelineCreateFlagBits -> IO ()
$cpoke :: Ptr PipelineCreateFlagBits -> PipelineCreateFlagBits -> IO ()
peek :: Ptr PipelineCreateFlagBits -> IO PipelineCreateFlagBits
$cpeek :: Ptr PipelineCreateFlagBits -> IO PipelineCreateFlagBits
pokeByteOff :: forall b. Ptr b -> Int -> PipelineCreateFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> PipelineCreateFlagBits -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO PipelineCreateFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO PipelineCreateFlagBits
pokeElemOff :: Ptr PipelineCreateFlagBits
-> Int -> PipelineCreateFlagBits -> IO ()
$cpokeElemOff :: Ptr PipelineCreateFlagBits
-> Int -> PipelineCreateFlagBits -> IO ()
peekElemOff :: Ptr PipelineCreateFlagBits -> Int -> IO PipelineCreateFlagBits
$cpeekElemOff :: Ptr PipelineCreateFlagBits -> Int -> IO PipelineCreateFlagBits
alignment :: PipelineCreateFlagBits -> Int
$calignment :: PipelineCreateFlagBits -> Int
sizeOf :: PipelineCreateFlagBits -> Int
$csizeOf :: PipelineCreateFlagBits -> Int
Storable, PipelineCreateFlagBits
forall a. a -> Zero a
zero :: PipelineCreateFlagBits
$czero :: PipelineCreateFlagBits
Zero, Eq PipelineCreateFlagBits
PipelineCreateFlagBits
Int -> PipelineCreateFlagBits
PipelineCreateFlagBits -> Bool
PipelineCreateFlagBits -> Int
PipelineCreateFlagBits -> Maybe Int
PipelineCreateFlagBits -> PipelineCreateFlagBits
PipelineCreateFlagBits -> Int -> Bool
PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
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 :: PipelineCreateFlagBits -> Int
$cpopCount :: PipelineCreateFlagBits -> Int
rotateR :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$crotateR :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
rotateL :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$crotateL :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
unsafeShiftR :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$cunsafeShiftR :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
shiftR :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$cshiftR :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
unsafeShiftL :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$cunsafeShiftL :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
shiftL :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$cshiftL :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
isSigned :: PipelineCreateFlagBits -> Bool
$cisSigned :: PipelineCreateFlagBits -> Bool
bitSize :: PipelineCreateFlagBits -> Int
$cbitSize :: PipelineCreateFlagBits -> Int
bitSizeMaybe :: PipelineCreateFlagBits -> Maybe Int
$cbitSizeMaybe :: PipelineCreateFlagBits -> Maybe Int
testBit :: PipelineCreateFlagBits -> Int -> Bool
$ctestBit :: PipelineCreateFlagBits -> Int -> Bool
complementBit :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$ccomplementBit :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
clearBit :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$cclearBit :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
setBit :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$csetBit :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
bit :: Int -> PipelineCreateFlagBits
$cbit :: Int -> PipelineCreateFlagBits
zeroBits :: PipelineCreateFlagBits
$czeroBits :: PipelineCreateFlagBits
rotate :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$crotate :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
shift :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
$cshift :: PipelineCreateFlagBits -> Int -> PipelineCreateFlagBits
complement :: PipelineCreateFlagBits -> PipelineCreateFlagBits
$ccomplement :: PipelineCreateFlagBits -> PipelineCreateFlagBits
xor :: PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
$cxor :: PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
.|. :: PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
$c.|. :: PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
.&. :: PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
$c.&. :: PipelineCreateFlagBits
-> PipelineCreateFlagBits -> PipelineCreateFlagBits
Bits, Bits PipelineCreateFlagBits
PipelineCreateFlagBits -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: PipelineCreateFlagBits -> Int
$ccountTrailingZeros :: PipelineCreateFlagBits -> Int
countLeadingZeros :: PipelineCreateFlagBits -> Int
$ccountLeadingZeros :: PipelineCreateFlagBits -> Int
finiteBitSize :: PipelineCreateFlagBits -> Int
$cfiniteBitSize :: PipelineCreateFlagBits -> Int
FiniteBits)

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT"
pattern $bPIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = PipelineCreateFlagBits 0x00000001

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"
pattern $bPIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_ALLOW_DERIVATIVES_BIT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = PipelineCreateFlagBits 0x00000002

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_DERIVATIVE_BIT"
pattern $bPIPELINE_CREATE_DERIVATIVE_BIT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_DERIVATIVE_BIT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_DERIVATIVE_BIT = PipelineCreateFlagBits 0x00000004

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT"
pattern $bPIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = PipelineCreateFlagBits 0x40000000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT"
pattern $bPIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = PipelineCreateFlagBits 0x08000000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV"
pattern $bPIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = PipelineCreateFlagBits 0x10000000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT"
pattern $bPIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = PipelineCreateFlagBits 0x01000000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"
pattern $bPIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = PipelineCreateFlagBits 0x04000000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"
pattern $bPIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = PipelineCreateFlagBits 0x02000000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV"
pattern $bPIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = PipelineCreateFlagBits 0x00100000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT"
pattern $bPIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = PipelineCreateFlagBits 0x00000400

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT"
pattern $bPIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = PipelineCreateFlagBits 0x00800000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT"
pattern $bPIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = PipelineCreateFlagBits 0x20000000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_LIBRARY_BIT_KHR"
pattern $bPIPELINE_CREATE_LIBRARY_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_LIBRARY_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_LIBRARY_BIT_KHR = PipelineCreateFlagBits 0x00000800

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV"
pattern $bPIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV :: PipelineCreateFlagBits
$mPIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = PipelineCreateFlagBits 0x00040000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR"
pattern $bPIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = PipelineCreateFlagBits 0x00000080

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR"
pattern $bPIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR = PipelineCreateFlagBits 0x00000040

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV"
pattern $bPIPELINE_CREATE_DEFER_COMPILE_BIT_NV :: PipelineCreateFlagBits
$mPIPELINE_CREATE_DEFER_COMPILE_BIT_NV :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_DEFER_COMPILE_BIT_NV = PipelineCreateFlagBits 0x00000020

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"
pattern $bPIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = PipelineCreateFlagBits 0x00080000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR"
pattern $bPIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR = PipelineCreateFlagBits 0x00002000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"
pattern $bPIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = PipelineCreateFlagBits 0x00001000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"
pattern $bPIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = PipelineCreateFlagBits 0x00020000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"
pattern $bPIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = PipelineCreateFlagBits 0x00010000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"
pattern $bPIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = PipelineCreateFlagBits 0x00008000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"
pattern $bPIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = PipelineCreateFlagBits 0x00004000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"
pattern $bPIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = PipelineCreateFlagBits 0x00400000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"
pattern $bPIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = PipelineCreateFlagBits 0x00200000

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT"
pattern $bPIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT = PipelineCreateFlagBits 0x00000200

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT"
pattern $bPIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT = PipelineCreateFlagBits 0x00000100

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_DISPATCH_BASE_BIT"
pattern $bPIPELINE_CREATE_DISPATCH_BASE_BIT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_DISPATCH_BASE_BIT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_DISPATCH_BASE_BIT = PipelineCreateFlagBits 0x00000010

-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT"
pattern $bPIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT :: PipelineCreateFlagBits
$mPIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT :: forall {r}.
PipelineCreateFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = PipelineCreateFlagBits 0x00000008

conNamePipelineCreateFlagBits :: String
conNamePipelineCreateFlagBits :: String
conNamePipelineCreateFlagBits = String
"PipelineCreateFlagBits"

enumPrefixPipelineCreateFlagBits :: String
enumPrefixPipelineCreateFlagBits :: String
enumPrefixPipelineCreateFlagBits = String
"PIPELINE_CREATE_"

showTablePipelineCreateFlagBits :: [(PipelineCreateFlagBits, String)]
showTablePipelineCreateFlagBits :: [(PipelineCreateFlagBits, String)]
showTablePipelineCreateFlagBits =
  [
    ( PipelineCreateFlagBits
PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT
    , String
"DISABLE_OPTIMIZATION_BIT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT
    , String
"ALLOW_DERIVATIVES_BIT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_DERIVATIVE_BIT
    , String
"DERIVATIVE_BIT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT
    , String
"PROTECTED_ACCESS_ONLY_BIT_EXT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT
    , String
"NO_PROTECTED_ACCESS_BIT_EXT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV
    , String
"RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT
    , String
"RAY_TRACING_OPACITY_MICROMAP_BIT_EXT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
    , String
"DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
    , String
"COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
    , String
"RAY_TRACING_ALLOW_MOTION_BIT_NV"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT
    , String
"LINK_TIME_OPTIMIZATION_BIT_EXT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
    , String
"RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
    , String
"DESCRIPTOR_BUFFER_BIT_EXT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_LIBRARY_BIT_KHR
    , String
"LIBRARY_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
    , String
"INDIRECT_BINDABLE_BIT_NV"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
    , String
"CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR
    , String
"CAPTURE_STATISTICS_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_DEFER_COMPILE_BIT_NV
    , String
"DEFER_COMPILE_BIT_NV"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
    , String
"RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR
    , String
"RAY_TRACING_SKIP_AABBS_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
    , String
"RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
    , String
"RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
    , String
"RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
    , String
"RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
    , String
"RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
    , String
"RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
    , String
"RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT
    , String
"EARLY_RETURN_ON_FAILURE_BIT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT
    , String
"FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_DISPATCH_BASE_BIT
    , String
"DISPATCH_BASE_BIT"
    )
  ,
    ( PipelineCreateFlagBits
PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT
    , String
"VIEW_INDEX_FROM_DEVICE_INDEX_BIT"
    )
  ]

instance Show PipelineCreateFlagBits where
  showsPrec :: Int -> PipelineCreateFlagBits -> ShowS
showsPrec =
    forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
      String
enumPrefixPipelineCreateFlagBits
      [(PipelineCreateFlagBits, String)]
showTablePipelineCreateFlagBits
      String
conNamePipelineCreateFlagBits
      (\(PipelineCreateFlagBits Flags
x) -> Flags
x)
      (\Flags
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 Flags
x)

instance Read PipelineCreateFlagBits where
  readPrec :: ReadPrec PipelineCreateFlagBits
readPrec =
    forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
      String
enumPrefixPipelineCreateFlagBits
      [(PipelineCreateFlagBits, String)]
showTablePipelineCreateFlagBits
      String
conNamePipelineCreateFlagBits
      Flags -> PipelineCreateFlagBits
PipelineCreateFlagBits