{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE FlexibleInstances          #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures             #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE StandaloneDeriving         #-}
{-# LANGUAGE Strict                     #-}
{-# LANGUAGE TypeSynonymInstances       #-}
module Graphics.Vulkan.Types.Enum.BuildAccelerationStructureFlag
       (VkBuildAccelerationStructureFlagBitsNV(..),
        VkBuildAccelerationStructureBitmaskKHR(VkBuildAccelerationStructureBitmaskKHR,
                                               VkBuildAccelerationStructureFlagsKHR,
                                               VkBuildAccelerationStructureFlagBitsKHR,
                                               VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR,
                                               VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR,
                                               VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR,
                                               VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR,
                                               VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR),
        VkBuildAccelerationStructureFlagsKHR,
        VkBuildAccelerationStructureFlagBitsKHR)
       where
import Data.Bits                       (Bits, FiniteBits)
import Data.Coerce                     (coerce)
import Foreign.Storable                (Storable)
import GHC.Read                        (choose, expectP)
import Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType)
import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read                       (Read (..), parens)
import Text.Read.Lex                   (Lexeme (..))

newtype VkBuildAccelerationStructureFlagBitsNV = VkBuildAccelerationStructureFlagBitsNV VkFlags
                                                 deriving (VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
(VkBuildAccelerationStructureFlagBitsNV
 -> VkBuildAccelerationStructureFlagBitsNV -> Bool)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV -> Bool)
-> Eq VkBuildAccelerationStructureFlagBitsNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
$c/= :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
== :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
$c== :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
Eq, Eq VkBuildAccelerationStructureFlagBitsNV
Eq VkBuildAccelerationStructureFlagBitsNV
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV -> Ordering)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV -> Bool)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV -> Bool)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV -> Bool)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV -> Bool)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV)
-> Ord VkBuildAccelerationStructureFlagBitsNV
VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Ordering
VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
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 :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
$cmin :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
max :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
$cmax :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
>= :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
$c>= :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
> :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
$c> :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
<= :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
$c<= :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
< :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
$c< :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Bool
compare :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Ordering
$ccompare :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> Ordering
Ord, Int -> VkBuildAccelerationStructureFlagBitsNV
VkBuildAccelerationStructureFlagBitsNV -> Int
VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
(VkBuildAccelerationStructureFlagBitsNV
 -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV)
-> (Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV -> Int)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> [VkBuildAccelerationStructureFlagBitsNV])
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV
    -> [VkBuildAccelerationStructureFlagBitsNV])
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV
    -> [VkBuildAccelerationStructureFlagBitsNV])
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV
    -> [VkBuildAccelerationStructureFlagBitsNV])
-> Enum VkBuildAccelerationStructureFlagBitsNV
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
$cenumFromThenTo :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
enumFromTo :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
$cenumFromTo :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
enumFromThen :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
$cenumFromThen :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
enumFrom :: VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
$cenumFrom :: VkBuildAccelerationStructureFlagBitsNV
-> [VkBuildAccelerationStructureFlagBitsNV]
fromEnum :: VkBuildAccelerationStructureFlagBitsNV -> Int
$cfromEnum :: VkBuildAccelerationStructureFlagBitsNV -> Int
toEnum :: Int -> VkBuildAccelerationStructureFlagBitsNV
$ctoEnum :: Int -> VkBuildAccelerationStructureFlagBitsNV
pred :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
$cpred :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
succ :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
$csucc :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
Enum, Eq VkBuildAccelerationStructureFlagBitsNV
VkBuildAccelerationStructureFlagBitsNV
Eq VkBuildAccelerationStructureFlagBitsNV
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> VkBuildAccelerationStructureFlagBitsNV
-> (Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV -> Int -> Bool)
-> (VkBuildAccelerationStructureFlagBitsNV -> Maybe Int)
-> (VkBuildAccelerationStructureFlagBitsNV -> Int)
-> (VkBuildAccelerationStructureFlagBitsNV -> Bool)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV)
-> (VkBuildAccelerationStructureFlagBitsNV -> Int)
-> Bits VkBuildAccelerationStructureFlagBitsNV
Int -> VkBuildAccelerationStructureFlagBitsNV
VkBuildAccelerationStructureFlagBitsNV -> Bool
VkBuildAccelerationStructureFlagBitsNV -> Int
VkBuildAccelerationStructureFlagBitsNV -> Maybe Int
VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
VkBuildAccelerationStructureFlagBitsNV -> Int -> Bool
VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
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 :: VkBuildAccelerationStructureFlagBitsNV -> Int
$cpopCount :: VkBuildAccelerationStructureFlagBitsNV -> Int
rotateR :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$crotateR :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
rotateL :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$crotateL :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
unsafeShiftR :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$cunsafeShiftR :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
shiftR :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$cshiftR :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
unsafeShiftL :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$cunsafeShiftL :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
shiftL :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$cshiftL :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
isSigned :: VkBuildAccelerationStructureFlagBitsNV -> Bool
$cisSigned :: VkBuildAccelerationStructureFlagBitsNV -> Bool
bitSize :: VkBuildAccelerationStructureFlagBitsNV -> Int
$cbitSize :: VkBuildAccelerationStructureFlagBitsNV -> Int
bitSizeMaybe :: VkBuildAccelerationStructureFlagBitsNV -> Maybe Int
$cbitSizeMaybe :: VkBuildAccelerationStructureFlagBitsNV -> Maybe Int
testBit :: VkBuildAccelerationStructureFlagBitsNV -> Int -> Bool
$ctestBit :: VkBuildAccelerationStructureFlagBitsNV -> Int -> Bool
complementBit :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$ccomplementBit :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
clearBit :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$cclearBit :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
setBit :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$csetBit :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
bit :: Int -> VkBuildAccelerationStructureFlagBitsNV
$cbit :: Int -> VkBuildAccelerationStructureFlagBitsNV
zeroBits :: VkBuildAccelerationStructureFlagBitsNV
$czeroBits :: VkBuildAccelerationStructureFlagBitsNV
rotate :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$crotate :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
shift :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
$cshift :: VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV
complement :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
$ccomplement :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
xor :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
$cxor :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
.|. :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
$c.|. :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
.&. :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
$c.&. :: VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV
Bits, Bits VkBuildAccelerationStructureFlagBitsNV
Bits VkBuildAccelerationStructureFlagBitsNV
-> (VkBuildAccelerationStructureFlagBitsNV -> Int)
-> (VkBuildAccelerationStructureFlagBitsNV -> Int)
-> (VkBuildAccelerationStructureFlagBitsNV -> Int)
-> FiniteBits VkBuildAccelerationStructureFlagBitsNV
VkBuildAccelerationStructureFlagBitsNV -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: VkBuildAccelerationStructureFlagBitsNV -> Int
$ccountTrailingZeros :: VkBuildAccelerationStructureFlagBitsNV -> Int
countLeadingZeros :: VkBuildAccelerationStructureFlagBitsNV -> Int
$ccountLeadingZeros :: VkBuildAccelerationStructureFlagBitsNV -> Int
finiteBitSize :: VkBuildAccelerationStructureFlagBitsNV -> Int
$cfiniteBitSize :: VkBuildAccelerationStructureFlagBitsNV -> Int
FiniteBits,
                                                           Ptr VkBuildAccelerationStructureFlagBitsNV
-> IO VkBuildAccelerationStructureFlagBitsNV
Ptr VkBuildAccelerationStructureFlagBitsNV
-> Int -> IO VkBuildAccelerationStructureFlagBitsNV
Ptr VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV -> IO ()
Ptr VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> IO ()
VkBuildAccelerationStructureFlagBitsNV -> Int
(VkBuildAccelerationStructureFlagBitsNV -> Int)
-> (VkBuildAccelerationStructureFlagBitsNV -> Int)
-> (Ptr VkBuildAccelerationStructureFlagBitsNV
    -> Int -> IO VkBuildAccelerationStructureFlagBitsNV)
-> (Ptr VkBuildAccelerationStructureFlagBitsNV
    -> Int -> VkBuildAccelerationStructureFlagBitsNV -> IO ())
-> (forall b.
    Ptr b -> Int -> IO VkBuildAccelerationStructureFlagBitsNV)
-> (forall b.
    Ptr b -> Int -> VkBuildAccelerationStructureFlagBitsNV -> IO ())
-> (Ptr VkBuildAccelerationStructureFlagBitsNV
    -> IO VkBuildAccelerationStructureFlagBitsNV)
-> (Ptr VkBuildAccelerationStructureFlagBitsNV
    -> VkBuildAccelerationStructureFlagBitsNV -> IO ())
-> Storable VkBuildAccelerationStructureFlagBitsNV
forall b. Ptr b -> Int -> IO VkBuildAccelerationStructureFlagBitsNV
forall b.
Ptr b -> Int -> VkBuildAccelerationStructureFlagBitsNV -> 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 VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> IO ()
$cpoke :: Ptr VkBuildAccelerationStructureFlagBitsNV
-> VkBuildAccelerationStructureFlagBitsNV -> IO ()
peek :: Ptr VkBuildAccelerationStructureFlagBitsNV
-> IO VkBuildAccelerationStructureFlagBitsNV
$cpeek :: Ptr VkBuildAccelerationStructureFlagBitsNV
-> IO VkBuildAccelerationStructureFlagBitsNV
pokeByteOff :: forall b.
Ptr b -> Int -> VkBuildAccelerationStructureFlagBitsNV -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> VkBuildAccelerationStructureFlagBitsNV -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkBuildAccelerationStructureFlagBitsNV
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkBuildAccelerationStructureFlagBitsNV
pokeElemOff :: Ptr VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV -> IO ()
$cpokeElemOff :: Ptr VkBuildAccelerationStructureFlagBitsNV
-> Int -> VkBuildAccelerationStructureFlagBitsNV -> IO ()
peekElemOff :: Ptr VkBuildAccelerationStructureFlagBitsNV
-> Int -> IO VkBuildAccelerationStructureFlagBitsNV
$cpeekElemOff :: Ptr VkBuildAccelerationStructureFlagBitsNV
-> Int -> IO VkBuildAccelerationStructureFlagBitsNV
alignment :: VkBuildAccelerationStructureFlagBitsNV -> Int
$calignment :: VkBuildAccelerationStructureFlagBitsNV -> Int
sizeOf :: VkBuildAccelerationStructureFlagBitsNV -> Int
$csizeOf :: VkBuildAccelerationStructureFlagBitsNV -> Int
Storable)

instance Show VkBuildAccelerationStructureFlagBitsNV where
    {-# INLINE showsPrec #-}
    showsPrec :: Int -> VkBuildAccelerationStructureFlagBitsNV -> ShowS
showsPrec = (Int -> VkFlags -> ShowS)
-> Int -> VkBuildAccelerationStructureFlagBitsNV -> ShowS
coerce (Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec :: Int -> VkFlags -> ShowS)

instance Read VkBuildAccelerationStructureFlagBitsNV where
    {-# INLINE readsPrec #-}
    readsPrec :: Int -> ReadS VkBuildAccelerationStructureFlagBitsNV
readsPrec = (Int -> ReadS VkFlags)
-> Int -> ReadS VkBuildAccelerationStructureFlagBitsNV
coerce (Int -> ReadS VkFlags
forall a. Read a => Int -> ReadS a
readsPrec :: Int -> ReadS VkFlags)

newtype VkBuildAccelerationStructureBitmaskKHR (a ::
                                                  FlagType) = VkBuildAccelerationStructureBitmaskKHR VkFlags
                                                              deriving (VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
(VkBuildAccelerationStructureBitmaskKHR a
 -> VkBuildAccelerationStructureBitmaskKHR a -> Bool)
-> (VkBuildAccelerationStructureBitmaskKHR a
    -> VkBuildAccelerationStructureBitmaskKHR a -> Bool)
-> Eq (VkBuildAccelerationStructureBitmaskKHR a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
/= :: VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
$c/= :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
== :: VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
$c== :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
Eq, Eq (VkBuildAccelerationStructureBitmaskKHR a)
Eq (VkBuildAccelerationStructureBitmaskKHR a)
-> (VkBuildAccelerationStructureBitmaskKHR a
    -> VkBuildAccelerationStructureBitmaskKHR a -> Ordering)
-> (VkBuildAccelerationStructureBitmaskKHR a
    -> VkBuildAccelerationStructureBitmaskKHR a -> Bool)
-> (VkBuildAccelerationStructureBitmaskKHR a
    -> VkBuildAccelerationStructureBitmaskKHR a -> Bool)
-> (VkBuildAccelerationStructureBitmaskKHR a
    -> VkBuildAccelerationStructureBitmaskKHR a -> Bool)
-> (VkBuildAccelerationStructureBitmaskKHR a
    -> VkBuildAccelerationStructureBitmaskKHR a -> Bool)
-> (VkBuildAccelerationStructureBitmaskKHR a
    -> VkBuildAccelerationStructureBitmaskKHR a
    -> VkBuildAccelerationStructureBitmaskKHR a)
-> (VkBuildAccelerationStructureBitmaskKHR a
    -> VkBuildAccelerationStructureBitmaskKHR a
    -> VkBuildAccelerationStructureBitmaskKHR a)
-> Ord (VkBuildAccelerationStructureBitmaskKHR a)
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Ordering
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
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
forall (a :: FlagType).
Eq (VkBuildAccelerationStructureBitmaskKHR a)
forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Ordering
forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
min :: VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
$cmin :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
max :: VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
$cmax :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a
>= :: VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
$c>= :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
> :: VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
$c> :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
<= :: VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
$c<= :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
< :: VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
$c< :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Bool
compare :: VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Ordering
$ccompare :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a
-> VkBuildAccelerationStructureBitmaskKHR a -> Ordering
Ord, Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> IO (VkBuildAccelerationStructureBitmaskKHR a)
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> Int -> IO (VkBuildAccelerationStructureBitmaskKHR a)
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> Int -> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
VkBuildAccelerationStructureBitmaskKHR a -> Int
(VkBuildAccelerationStructureBitmaskKHR a -> Int)
-> (VkBuildAccelerationStructureBitmaskKHR a -> Int)
-> (Ptr (VkBuildAccelerationStructureBitmaskKHR a)
    -> Int -> IO (VkBuildAccelerationStructureBitmaskKHR a))
-> (Ptr (VkBuildAccelerationStructureBitmaskKHR a)
    -> Int -> VkBuildAccelerationStructureBitmaskKHR a -> IO ())
-> (forall b.
    Ptr b -> Int -> IO (VkBuildAccelerationStructureBitmaskKHR a))
-> (forall b.
    Ptr b -> Int -> VkBuildAccelerationStructureBitmaskKHR a -> IO ())
-> (Ptr (VkBuildAccelerationStructureBitmaskKHR a)
    -> IO (VkBuildAccelerationStructureBitmaskKHR a))
-> (Ptr (VkBuildAccelerationStructureBitmaskKHR a)
    -> VkBuildAccelerationStructureBitmaskKHR a -> IO ())
-> Storable (VkBuildAccelerationStructureBitmaskKHR a)
forall b.
Ptr b -> Int -> IO (VkBuildAccelerationStructureBitmaskKHR a)
forall b.
Ptr b -> Int -> VkBuildAccelerationStructureBitmaskKHR a -> 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
forall (a :: FlagType).
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> IO (VkBuildAccelerationStructureBitmaskKHR a)
forall (a :: FlagType).
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> Int -> IO (VkBuildAccelerationStructureBitmaskKHR a)
forall (a :: FlagType).
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> Int -> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
forall (a :: FlagType).
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a -> Int
forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkBuildAccelerationStructureBitmaskKHR a)
forall (a :: FlagType) b.
Ptr b -> Int -> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
poke :: Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
$cpoke :: forall (a :: FlagType).
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
peek :: Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> IO (VkBuildAccelerationStructureBitmaskKHR a)
$cpeek :: forall (a :: FlagType).
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> IO (VkBuildAccelerationStructureBitmaskKHR a)
pokeByteOff :: forall b.
Ptr b -> Int -> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
peekByteOff :: forall b.
Ptr b -> Int -> IO (VkBuildAccelerationStructureBitmaskKHR a)
$cpeekByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkBuildAccelerationStructureBitmaskKHR a)
pokeElemOff :: Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> Int -> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
$cpokeElemOff :: forall (a :: FlagType).
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> Int -> VkBuildAccelerationStructureBitmaskKHR a -> IO ()
peekElemOff :: Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> Int -> IO (VkBuildAccelerationStructureBitmaskKHR a)
$cpeekElemOff :: forall (a :: FlagType).
Ptr (VkBuildAccelerationStructureBitmaskKHR a)
-> Int -> IO (VkBuildAccelerationStructureBitmaskKHR a)
alignment :: VkBuildAccelerationStructureBitmaskKHR a -> Int
$calignment :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a -> Int
sizeOf :: VkBuildAccelerationStructureBitmaskKHR a -> Int
$csizeOf :: forall (a :: FlagType).
VkBuildAccelerationStructureBitmaskKHR a -> Int
Storable)

type VkBuildAccelerationStructureFlagsKHR =
     VkBuildAccelerationStructureBitmaskKHR FlagMask

type VkBuildAccelerationStructureFlagBitsKHR =
     VkBuildAccelerationStructureBitmaskKHR FlagBit

pattern VkBuildAccelerationStructureFlagBitsKHR ::
        VkFlags -> VkBuildAccelerationStructureBitmaskKHR FlagBit

pattern $bVkBuildAccelerationStructureFlagBitsKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR FlagBit
$mVkBuildAccelerationStructureFlagBitsKHR :: forall {r}.
VkBuildAccelerationStructureBitmaskKHR FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkBuildAccelerationStructureFlagBitsKHR n =
        VkBuildAccelerationStructureBitmaskKHR n

pattern VkBuildAccelerationStructureFlagsKHR ::
        VkFlags -> VkBuildAccelerationStructureBitmaskKHR FlagMask

pattern $bVkBuildAccelerationStructureFlagsKHR :: VkFlags -> VkBuildAccelerationStructureBitmaskKHR FlagMask
$mVkBuildAccelerationStructureFlagsKHR :: forall {r}.
VkBuildAccelerationStructureBitmaskKHR FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkBuildAccelerationStructureFlagsKHR n =
        VkBuildAccelerationStructureBitmaskKHR n

deriving instance
         Bits (VkBuildAccelerationStructureBitmaskKHR FlagMask)

deriving instance
         FiniteBits (VkBuildAccelerationStructureBitmaskKHR FlagMask)

instance Show (VkBuildAccelerationStructureBitmaskKHR a) where
    showsPrec :: Int -> VkBuildAccelerationStructureBitmaskKHR a -> ShowS
showsPrec Int
_ VkBuildAccelerationStructureBitmaskKHR a
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR
      = String -> ShowS
showString String
"VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR"
    showsPrec Int
_
      VkBuildAccelerationStructureBitmaskKHR a
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR
      = String -> ShowS
showString
          String
"VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR"
    showsPrec Int
_
      VkBuildAccelerationStructureBitmaskKHR a
VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR
      = String -> ShowS
showString
          String
"VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR"
    showsPrec Int
_
      VkBuildAccelerationStructureBitmaskKHR a
VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR
      = String -> ShowS
showString
          String
"VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR"
    showsPrec Int
_ VkBuildAccelerationStructureBitmaskKHR a
VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR
      = String -> ShowS
showString String
"VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR"
    showsPrec Int
p (VkBuildAccelerationStructureBitmaskKHR VkFlags
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkBuildAccelerationStructureBitmaskKHR " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
             Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 VkFlags
x)

instance Read (VkBuildAccelerationStructureBitmaskKHR a) where
    readPrec :: ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
readPrec
      = ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec (VkBuildAccelerationStructureBitmaskKHR a))]
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR",
               VkBuildAccelerationStructureBitmaskKHR a
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkBuildAccelerationStructureBitmaskKHR a
forall (a :: FlagType). VkBuildAccelerationStructureBitmaskKHR a
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR),
              (String
"VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR",
               VkBuildAccelerationStructureBitmaskKHR a
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkBuildAccelerationStructureBitmaskKHR a
forall (a :: FlagType). VkBuildAccelerationStructureBitmaskKHR a
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR),
              (String
"VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR",
               VkBuildAccelerationStructureBitmaskKHR a
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkBuildAccelerationStructureBitmaskKHR a
forall (a :: FlagType). VkBuildAccelerationStructureBitmaskKHR a
VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR),
              (String
"VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR",
               VkBuildAccelerationStructureBitmaskKHR a
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkBuildAccelerationStructureBitmaskKHR a
forall (a :: FlagType). VkBuildAccelerationStructureBitmaskKHR a
VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR),
              (String
"VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR",
               VkBuildAccelerationStructureBitmaskKHR a
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkBuildAccelerationStructureBitmaskKHR a
forall (a :: FlagType). VkBuildAccelerationStructureBitmaskKHR a
VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR)]
             ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkBuildAccelerationStructureBitmaskKHR") ReadPrec ()
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (VkFlags -> VkBuildAccelerationStructureBitmaskKHR a
forall (a :: FlagType).
VkFlags -> VkBuildAccelerationStructureBitmaskKHR a
VkBuildAccelerationStructureBitmaskKHR (VkFlags -> VkBuildAccelerationStructureBitmaskKHR a)
-> ReadPrec VkFlags
-> ReadPrec (VkBuildAccelerationStructureBitmaskKHR a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec VkFlags -> ReadPrec VkFlags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec VkFlags
forall a. Read a => ReadPrec a
readPrec)))

-- | bitpos = @0@
pattern VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR ::
        VkBuildAccelerationStructureBitmaskKHR a

pattern $bVK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR :: forall (a :: FlagType). VkBuildAccelerationStructureBitmaskKHR a
$mVK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR :: forall {r} {a :: FlagType}.
VkBuildAccelerationStructureBitmaskKHR a
-> (Void# -> r) -> (Void# -> r) -> r
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR =
        VkBuildAccelerationStructureBitmaskKHR 1

-- | bitpos = @1@
pattern VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR ::
        VkBuildAccelerationStructureBitmaskKHR a

pattern $bVK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR :: forall (a :: FlagType). VkBuildAccelerationStructureBitmaskKHR a
$mVK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR :: forall {r} {a :: FlagType}.
VkBuildAccelerationStructureBitmaskKHR a
-> (Void# -> r) -> (Void# -> r) -> r
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR =
        VkBuildAccelerationStructureBitmaskKHR 2

-- | bitpos = @2@
pattern VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR
        :: VkBuildAccelerationStructureBitmaskKHR a

pattern $bVK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR :: forall (a :: FlagType). VkBuildAccelerationStructureBitmaskKHR a
$mVK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR :: forall {r} {a :: FlagType}.
VkBuildAccelerationStructureBitmaskKHR a
-> (Void# -> r) -> (Void# -> r) -> r
VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR =
        VkBuildAccelerationStructureBitmaskKHR 4

-- | bitpos = @3@
pattern VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR
        :: VkBuildAccelerationStructureBitmaskKHR a

pattern $bVK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR :: forall (a :: FlagType). VkBuildAccelerationStructureBitmaskKHR a
$mVK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR :: forall {r} {a :: FlagType}.
VkBuildAccelerationStructureBitmaskKHR a
-> (Void# -> r) -> (Void# -> r) -> r
VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR =
        VkBuildAccelerationStructureBitmaskKHR 8

-- | bitpos = @4@
pattern VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR ::
        VkBuildAccelerationStructureBitmaskKHR a

pattern $bVK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: forall (a :: FlagType). VkBuildAccelerationStructureBitmaskKHR a
$mVK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: forall {r} {a :: FlagType}.
VkBuildAccelerationStructureBitmaskKHR a
-> (Void# -> r) -> (Void# -> r) -> r
VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR =
        VkBuildAccelerationStructureBitmaskKHR 16