{-# 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.Geometry
       (VkGeometryFlagBitsNV(..),
        VkGeometryBitmaskKHR(VkGeometryBitmaskKHR, VkGeometryFlagsKHR,
                             VkGeometryFlagBitsKHR, VK_GEOMETRY_OPAQUE_BIT_KHR,
                             VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR),
        VkGeometryFlagsKHR, VkGeometryFlagBitsKHR,
        VkGeometryInstanceFlagBitsNV(..),
        VkGeometryInstanceBitmaskKHR(VkGeometryInstanceBitmaskKHR,
                                     VkGeometryInstanceFlagsKHR, VkGeometryInstanceFlagBitsKHR,
                                     VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR,
                                     VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR,
                                     VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR,
                                     VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR),
        VkGeometryInstanceFlagsKHR, VkGeometryInstanceFlagBitsKHR,
        VkGeometryTypeKHR(VkGeometryTypeKHR,
                          VK_GEOMETRY_TYPE_TRIANGLES_KHR, VK_GEOMETRY_TYPE_AABBS_KHR),
        VkGeometryTypeNV(..))
       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, Int32)
import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read                       (Read (..), parens)
import Text.Read.Lex                   (Lexeme (..))

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

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

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

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

type VkGeometryFlagsKHR = VkGeometryBitmaskKHR FlagMask

type VkGeometryFlagBitsKHR = VkGeometryBitmaskKHR FlagBit

pattern VkGeometryFlagBitsKHR ::
        VkFlags -> VkGeometryBitmaskKHR FlagBit

pattern $bVkGeometryFlagBitsKHR :: VkFlags -> VkGeometryBitmaskKHR FlagBit
$mVkGeometryFlagBitsKHR :: forall {r}.
VkGeometryBitmaskKHR FlagBit -> (VkFlags -> r) -> (Void# -> r) -> r
VkGeometryFlagBitsKHR n = VkGeometryBitmaskKHR n

pattern VkGeometryFlagsKHR ::
        VkFlags -> VkGeometryBitmaskKHR FlagMask

pattern $bVkGeometryFlagsKHR :: VkFlags -> VkGeometryBitmaskKHR FlagMask
$mVkGeometryFlagsKHR :: forall {r}.
VkGeometryBitmaskKHR FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkGeometryFlagsKHR n = VkGeometryBitmaskKHR n

deriving instance Bits (VkGeometryBitmaskKHR FlagMask)

deriving instance FiniteBits (VkGeometryBitmaskKHR FlagMask)

instance Show (VkGeometryBitmaskKHR a) where
    showsPrec :: Int -> VkGeometryBitmaskKHR a -> ShowS
showsPrec Int
_ VkGeometryBitmaskKHR a
VK_GEOMETRY_OPAQUE_BIT_KHR
      = String -> ShowS
showString String
"VK_GEOMETRY_OPAQUE_BIT_KHR"
    showsPrec Int
_ VkGeometryBitmaskKHR a
VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR
      = String -> ShowS
showString String
"VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR"
    showsPrec Int
p (VkGeometryBitmaskKHR VkFlags
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkGeometryBitmaskKHR " 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 (VkGeometryBitmaskKHR a) where
    readPrec :: ReadPrec (VkGeometryBitmaskKHR a)
readPrec
      = ReadPrec (VkGeometryBitmaskKHR a)
-> ReadPrec (VkGeometryBitmaskKHR a)
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec (VkGeometryBitmaskKHR a))]
-> ReadPrec (VkGeometryBitmaskKHR a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_GEOMETRY_OPAQUE_BIT_KHR", VkGeometryBitmaskKHR a -> ReadPrec (VkGeometryBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkGeometryBitmaskKHR a
forall (a :: FlagType). VkGeometryBitmaskKHR a
VK_GEOMETRY_OPAQUE_BIT_KHR),
              (String
"VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR",
               VkGeometryBitmaskKHR a -> ReadPrec (VkGeometryBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkGeometryBitmaskKHR a
forall (a :: FlagType). VkGeometryBitmaskKHR a
VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR)]
             ReadPrec (VkGeometryBitmaskKHR a)
-> ReadPrec (VkGeometryBitmaskKHR a)
-> ReadPrec (VkGeometryBitmaskKHR a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec (VkGeometryBitmaskKHR a)
-> ReadPrec (VkGeometryBitmaskKHR a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkGeometryBitmaskKHR") ReadPrec ()
-> ReadPrec (VkGeometryBitmaskKHR a)
-> ReadPrec (VkGeometryBitmaskKHR a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (VkFlags -> VkGeometryBitmaskKHR a
forall (a :: FlagType). VkFlags -> VkGeometryBitmaskKHR a
VkGeometryBitmaskKHR (VkFlags -> VkGeometryBitmaskKHR a)
-> ReadPrec VkFlags -> ReadPrec (VkGeometryBitmaskKHR 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_GEOMETRY_OPAQUE_BIT_KHR :: VkGeometryBitmaskKHR a

pattern $bVK_GEOMETRY_OPAQUE_BIT_KHR :: forall (a :: FlagType). VkGeometryBitmaskKHR a
$mVK_GEOMETRY_OPAQUE_BIT_KHR :: forall {r} {a :: FlagType}.
VkGeometryBitmaskKHR a -> (Void# -> r) -> (Void# -> r) -> r
VK_GEOMETRY_OPAQUE_BIT_KHR = VkGeometryBitmaskKHR 1

-- | bitpos = @1@
pattern VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR ::
        VkGeometryBitmaskKHR a

pattern $bVK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR :: forall (a :: FlagType). VkGeometryBitmaskKHR a
$mVK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR :: forall {r} {a :: FlagType}.
VkGeometryBitmaskKHR a -> (Void# -> r) -> (Void# -> r) -> r
VK_GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR =
        VkGeometryBitmaskKHR 2

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

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

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

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

type VkGeometryInstanceFlagsKHR =
     VkGeometryInstanceBitmaskKHR FlagMask

type VkGeometryInstanceFlagBitsKHR =
     VkGeometryInstanceBitmaskKHR FlagBit

pattern VkGeometryInstanceFlagBitsKHR ::
        VkFlags -> VkGeometryInstanceBitmaskKHR FlagBit

pattern $bVkGeometryInstanceFlagBitsKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR FlagBit
$mVkGeometryInstanceFlagBitsKHR :: forall {r}.
VkGeometryInstanceBitmaskKHR FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkGeometryInstanceFlagBitsKHR n =
        VkGeometryInstanceBitmaskKHR n

pattern VkGeometryInstanceFlagsKHR ::
        VkFlags -> VkGeometryInstanceBitmaskKHR FlagMask

pattern $bVkGeometryInstanceFlagsKHR :: VkFlags -> VkGeometryInstanceBitmaskKHR FlagMask
$mVkGeometryInstanceFlagsKHR :: forall {r}.
VkGeometryInstanceBitmaskKHR FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkGeometryInstanceFlagsKHR n =
        VkGeometryInstanceBitmaskKHR n

deriving instance Bits (VkGeometryInstanceBitmaskKHR FlagMask)

deriving instance
         FiniteBits (VkGeometryInstanceBitmaskKHR FlagMask)

instance Show (VkGeometryInstanceBitmaskKHR a) where
    showsPrec :: Int -> VkGeometryInstanceBitmaskKHR a -> ShowS
showsPrec Int
_
      VkGeometryInstanceBitmaskKHR a
VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR
      = String -> ShowS
showString
          String
"VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR"
    showsPrec Int
_
      VkGeometryInstanceBitmaskKHR a
VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR
      = String -> ShowS
showString
          String
"VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR"
    showsPrec Int
_ VkGeometryInstanceBitmaskKHR a
VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR
      = String -> ShowS
showString String
"VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR"
    showsPrec Int
_ VkGeometryInstanceBitmaskKHR a
VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR
      = String -> ShowS
showString String
"VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR"
    showsPrec Int
p (VkGeometryInstanceBitmaskKHR VkFlags
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkGeometryInstanceBitmaskKHR " 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 (VkGeometryInstanceBitmaskKHR a) where
    readPrec :: ReadPrec (VkGeometryInstanceBitmaskKHR a)
readPrec
      = ReadPrec (VkGeometryInstanceBitmaskKHR a)
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec (VkGeometryInstanceBitmaskKHR a))]
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR",
               VkGeometryInstanceBitmaskKHR a
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkGeometryInstanceBitmaskKHR a
forall (a :: FlagType). VkGeometryInstanceBitmaskKHR a
VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR),
              (String
"VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR",
               VkGeometryInstanceBitmaskKHR a
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkGeometryInstanceBitmaskKHR a
forall (a :: FlagType). VkGeometryInstanceBitmaskKHR a
VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR),
              (String
"VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR",
               VkGeometryInstanceBitmaskKHR a
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkGeometryInstanceBitmaskKHR a
forall (a :: FlagType). VkGeometryInstanceBitmaskKHR a
VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR),
              (String
"VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR",
               VkGeometryInstanceBitmaskKHR a
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkGeometryInstanceBitmaskKHR a
forall (a :: FlagType). VkGeometryInstanceBitmaskKHR a
VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR)]
             ReadPrec (VkGeometryInstanceBitmaskKHR a)
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkGeometryInstanceBitmaskKHR") ReadPrec ()
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
-> ReadPrec (VkGeometryInstanceBitmaskKHR a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (VkFlags -> VkGeometryInstanceBitmaskKHR a
forall (a :: FlagType). VkFlags -> VkGeometryInstanceBitmaskKHR a
VkGeometryInstanceBitmaskKHR (VkFlags -> VkGeometryInstanceBitmaskKHR a)
-> ReadPrec VkFlags -> ReadPrec (VkGeometryInstanceBitmaskKHR 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_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR
        :: VkGeometryInstanceBitmaskKHR a

pattern $bVK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR :: forall (a :: FlagType). VkGeometryInstanceBitmaskKHR a
$mVK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR :: forall {r} {a :: FlagType}.
VkGeometryInstanceBitmaskKHR a -> (Void# -> r) -> (Void# -> r) -> r
VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR =
        VkGeometryInstanceBitmaskKHR 1

-- | bitpos = @1@
pattern VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR
        :: VkGeometryInstanceBitmaskKHR a

pattern $bVK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR :: forall (a :: FlagType). VkGeometryInstanceBitmaskKHR a
$mVK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR :: forall {r} {a :: FlagType}.
VkGeometryInstanceBitmaskKHR a -> (Void# -> r) -> (Void# -> r) -> r
VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR
        = VkGeometryInstanceBitmaskKHR 2

-- | bitpos = @2@
pattern VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR ::
        VkGeometryInstanceBitmaskKHR a

pattern $bVK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR :: forall (a :: FlagType). VkGeometryInstanceBitmaskKHR a
$mVK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR :: forall {r} {a :: FlagType}.
VkGeometryInstanceBitmaskKHR a -> (Void# -> r) -> (Void# -> r) -> r
VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR =
        VkGeometryInstanceBitmaskKHR 4

-- | bitpos = @3@
pattern VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR ::
        VkGeometryInstanceBitmaskKHR a

pattern $bVK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR :: forall (a :: FlagType). VkGeometryInstanceBitmaskKHR a
$mVK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR :: forall {r} {a :: FlagType}.
VkGeometryInstanceBitmaskKHR a -> (Void# -> r) -> (Void# -> r) -> r
VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR =
        VkGeometryInstanceBitmaskKHR 8

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkGeometryTypeKHR VkGeometryTypeKHR registry at www.khronos.org>
newtype VkGeometryTypeKHR = VkGeometryTypeKHR Int32
                            deriving (VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
(VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool)
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool)
-> Eq VkGeometryTypeKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
$c/= :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
== :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
$c== :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
Eq, Eq VkGeometryTypeKHR
Eq VkGeometryTypeKHR
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR -> Ordering)
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool)
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool)
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool)
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool)
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR -> VkGeometryTypeKHR)
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR -> VkGeometryTypeKHR)
-> Ord VkGeometryTypeKHR
VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
VkGeometryTypeKHR -> VkGeometryTypeKHR -> Ordering
VkGeometryTypeKHR -> VkGeometryTypeKHR -> VkGeometryTypeKHR
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 :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> VkGeometryTypeKHR
$cmin :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> VkGeometryTypeKHR
max :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> VkGeometryTypeKHR
$cmax :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> VkGeometryTypeKHR
>= :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
$c>= :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
> :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
$c> :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
<= :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
$c<= :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
< :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
$c< :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Bool
compare :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Ordering
$ccompare :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> Ordering
Ord, Int -> VkGeometryTypeKHR
VkGeometryTypeKHR -> Int
VkGeometryTypeKHR -> [VkGeometryTypeKHR]
VkGeometryTypeKHR -> VkGeometryTypeKHR
VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR]
VkGeometryTypeKHR
-> VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR]
(VkGeometryTypeKHR -> VkGeometryTypeKHR)
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR)
-> (Int -> VkGeometryTypeKHR)
-> (VkGeometryTypeKHR -> Int)
-> (VkGeometryTypeKHR -> [VkGeometryTypeKHR])
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR])
-> (VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR])
-> (VkGeometryTypeKHR
    -> VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR])
-> Enum VkGeometryTypeKHR
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 :: VkGeometryTypeKHR
-> VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR]
$cenumFromThenTo :: VkGeometryTypeKHR
-> VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR]
enumFromTo :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR]
$cenumFromTo :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR]
enumFromThen :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR]
$cenumFromThen :: VkGeometryTypeKHR -> VkGeometryTypeKHR -> [VkGeometryTypeKHR]
enumFrom :: VkGeometryTypeKHR -> [VkGeometryTypeKHR]
$cenumFrom :: VkGeometryTypeKHR -> [VkGeometryTypeKHR]
fromEnum :: VkGeometryTypeKHR -> Int
$cfromEnum :: VkGeometryTypeKHR -> Int
toEnum :: Int -> VkGeometryTypeKHR
$ctoEnum :: Int -> VkGeometryTypeKHR
pred :: VkGeometryTypeKHR -> VkGeometryTypeKHR
$cpred :: VkGeometryTypeKHR -> VkGeometryTypeKHR
succ :: VkGeometryTypeKHR -> VkGeometryTypeKHR
$csucc :: VkGeometryTypeKHR -> VkGeometryTypeKHR
Enum, Ptr VkGeometryTypeKHR -> IO VkGeometryTypeKHR
Ptr VkGeometryTypeKHR -> Int -> IO VkGeometryTypeKHR
Ptr VkGeometryTypeKHR -> Int -> VkGeometryTypeKHR -> IO ()
Ptr VkGeometryTypeKHR -> VkGeometryTypeKHR -> IO ()
VkGeometryTypeKHR -> Int
(VkGeometryTypeKHR -> Int)
-> (VkGeometryTypeKHR -> Int)
-> (Ptr VkGeometryTypeKHR -> Int -> IO VkGeometryTypeKHR)
-> (Ptr VkGeometryTypeKHR -> Int -> VkGeometryTypeKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO VkGeometryTypeKHR)
-> (forall b. Ptr b -> Int -> VkGeometryTypeKHR -> IO ())
-> (Ptr VkGeometryTypeKHR -> IO VkGeometryTypeKHR)
-> (Ptr VkGeometryTypeKHR -> VkGeometryTypeKHR -> IO ())
-> Storable VkGeometryTypeKHR
forall b. Ptr b -> Int -> IO VkGeometryTypeKHR
forall b. Ptr b -> Int -> VkGeometryTypeKHR -> 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 VkGeometryTypeKHR -> VkGeometryTypeKHR -> IO ()
$cpoke :: Ptr VkGeometryTypeKHR -> VkGeometryTypeKHR -> IO ()
peek :: Ptr VkGeometryTypeKHR -> IO VkGeometryTypeKHR
$cpeek :: Ptr VkGeometryTypeKHR -> IO VkGeometryTypeKHR
pokeByteOff :: forall b. Ptr b -> Int -> VkGeometryTypeKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkGeometryTypeKHR -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkGeometryTypeKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkGeometryTypeKHR
pokeElemOff :: Ptr VkGeometryTypeKHR -> Int -> VkGeometryTypeKHR -> IO ()
$cpokeElemOff :: Ptr VkGeometryTypeKHR -> Int -> VkGeometryTypeKHR -> IO ()
peekElemOff :: Ptr VkGeometryTypeKHR -> Int -> IO VkGeometryTypeKHR
$cpeekElemOff :: Ptr VkGeometryTypeKHR -> Int -> IO VkGeometryTypeKHR
alignment :: VkGeometryTypeKHR -> Int
$calignment :: VkGeometryTypeKHR -> Int
sizeOf :: VkGeometryTypeKHR -> Int
$csizeOf :: VkGeometryTypeKHR -> Int
Storable)

instance Show VkGeometryTypeKHR where
    showsPrec :: Int -> VkGeometryTypeKHR -> ShowS
showsPrec Int
_ VkGeometryTypeKHR
VK_GEOMETRY_TYPE_TRIANGLES_KHR
      = String -> ShowS
showString String
"VK_GEOMETRY_TYPE_TRIANGLES_KHR"
    showsPrec Int
_ VkGeometryTypeKHR
VK_GEOMETRY_TYPE_AABBS_KHR
      = String -> ShowS
showString String
"VK_GEOMETRY_TYPE_AABBS_KHR"
    showsPrec Int
p (VkGeometryTypeKHR Int32
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkGeometryTypeKHR " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 Int32
x)

instance Read VkGeometryTypeKHR where
    readPrec :: ReadPrec VkGeometryTypeKHR
readPrec
      = ReadPrec VkGeometryTypeKHR -> ReadPrec VkGeometryTypeKHR
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec VkGeometryTypeKHR)]
-> ReadPrec VkGeometryTypeKHR
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_GEOMETRY_TYPE_TRIANGLES_KHR",
               VkGeometryTypeKHR -> ReadPrec VkGeometryTypeKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkGeometryTypeKHR
VK_GEOMETRY_TYPE_TRIANGLES_KHR),
              (String
"VK_GEOMETRY_TYPE_AABBS_KHR", VkGeometryTypeKHR -> ReadPrec VkGeometryTypeKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkGeometryTypeKHR
VK_GEOMETRY_TYPE_AABBS_KHR)]
             ReadPrec VkGeometryTypeKHR
-> ReadPrec VkGeometryTypeKHR -> ReadPrec VkGeometryTypeKHR
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int -> ReadPrec VkGeometryTypeKHR -> ReadPrec VkGeometryTypeKHR
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkGeometryTypeKHR") ReadPrec ()
-> ReadPrec VkGeometryTypeKHR -> ReadPrec VkGeometryTypeKHR
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (Int32 -> VkGeometryTypeKHR
VkGeometryTypeKHR (Int32 -> VkGeometryTypeKHR)
-> ReadPrec Int32 -> ReadPrec VkGeometryTypeKHR
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec Int32 -> ReadPrec Int32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Int32
forall a. Read a => ReadPrec a
readPrec)))

pattern VK_GEOMETRY_TYPE_TRIANGLES_KHR :: VkGeometryTypeKHR

pattern $bVK_GEOMETRY_TYPE_TRIANGLES_KHR :: VkGeometryTypeKHR
$mVK_GEOMETRY_TYPE_TRIANGLES_KHR :: forall {r}. VkGeometryTypeKHR -> (Void# -> r) -> (Void# -> r) -> r
VK_GEOMETRY_TYPE_TRIANGLES_KHR = VkGeometryTypeKHR 0

pattern VK_GEOMETRY_TYPE_AABBS_KHR :: VkGeometryTypeKHR

pattern $bVK_GEOMETRY_TYPE_AABBS_KHR :: VkGeometryTypeKHR
$mVK_GEOMETRY_TYPE_AABBS_KHR :: forall {r}. VkGeometryTypeKHR -> (Void# -> r) -> (Void# -> r) -> r
VK_GEOMETRY_TYPE_AABBS_KHR = VkGeometryTypeKHR 1

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

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

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