{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE Strict                     #-}
module Graphics.Vulkan.Types.Enum.AccelerationStructure
       (VkAccelerationStructureBuildTypeKHR(VkAccelerationStructureBuildTypeKHR,
                                            VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR,
                                            VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR,
                                            VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR),
        VkAccelerationStructureMemoryRequirementsTypeKHR(VkAccelerationStructureMemoryRequirementsTypeKHR,
                                                         VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR,
                                                         VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR,
                                                         VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR),
        VkAccelerationStructureMemoryRequirementsTypeNV(..),
        VkAccelerationStructureTypeKHR(VkAccelerationStructureTypeKHR,
                                       VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR,
                                       VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR),
        VkAccelerationStructureTypeNV(..))
       where
import Data.Bits                       (Bits, FiniteBits)
import Data.Coerce                     (coerce)
import Foreign.Storable                (Storable)
import GHC.Read                        (choose, expectP)
import Graphics.Vulkan.Marshal         (Int32)
import Graphics.Vulkan.Types.BaseTypes (VkFlags)
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read                       (Read (..), parens)
import Text.Read.Lex                   (Lexeme (..))

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

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

pattern $bVK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR :: VkAccelerationStructureBuildTypeKHR
$mVK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR :: forall {r}.
VkAccelerationStructureBuildTypeKHR
-> (Void# -> r) -> (Void# -> r) -> r
VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR =
        VkAccelerationStructureBuildTypeKHR 0

pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR ::
        VkAccelerationStructureBuildTypeKHR

pattern $bVK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR :: VkAccelerationStructureBuildTypeKHR
$mVK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR :: forall {r}.
VkAccelerationStructureBuildTypeKHR
-> (Void# -> r) -> (Void# -> r) -> r
VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR =
        VkAccelerationStructureBuildTypeKHR 1

pattern VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR ::
        VkAccelerationStructureBuildTypeKHR

pattern $bVK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR :: VkAccelerationStructureBuildTypeKHR
$mVK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR :: forall {r}.
VkAccelerationStructureBuildTypeKHR
-> (Void# -> r) -> (Void# -> r) -> r
VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR =
        VkAccelerationStructureBuildTypeKHR 2

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

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

pattern $bVK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR
$mVK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR :: forall {r}.
VkAccelerationStructureMemoryRequirementsTypeKHR
-> (Void# -> r) -> (Void# -> r) -> r
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_KHR
        = VkAccelerationStructureMemoryRequirementsTypeKHR 0

pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR
        :: VkAccelerationStructureMemoryRequirementsTypeKHR

pattern $bVK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR
$mVK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR :: forall {r}.
VkAccelerationStructureMemoryRequirementsTypeKHR
-> (Void# -> r) -> (Void# -> r) -> r
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_KHR
        = VkAccelerationStructureMemoryRequirementsTypeKHR 1

pattern VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR
        :: VkAccelerationStructureMemoryRequirementsTypeKHR

pattern $bVK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR :: VkAccelerationStructureMemoryRequirementsTypeKHR
$mVK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR :: forall {r}.
VkAccelerationStructureMemoryRequirementsTypeKHR
-> (Void# -> r) -> (Void# -> r) -> r
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_KHR
        = VkAccelerationStructureMemoryRequirementsTypeKHR 2

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

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

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

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

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

pattern $bVK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR :: VkAccelerationStructureTypeKHR
$mVK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR :: forall {r}.
VkAccelerationStructureTypeKHR -> (Void# -> r) -> (Void# -> r) -> r
VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR =
        VkAccelerationStructureTypeKHR 0

pattern VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR ::
        VkAccelerationStructureTypeKHR

pattern $bVK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR :: VkAccelerationStructureTypeKHR
$mVK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR :: forall {r}.
VkAccelerationStructureTypeKHR -> (Void# -> r) -> (Void# -> r) -> r
VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR =
        VkAccelerationStructureTypeKHR 1

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

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

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