{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE Strict                     #-}
module Graphics.Vulkan.Types.Enum.CopyAccelerationStructureMode
       (VkCopyAccelerationStructureModeKHR(VkCopyAccelerationStructureModeKHR,
                                           VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR,
                                           VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
                                           VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR,
                                           VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR),
        VkCopyAccelerationStructureModeNV(..))
       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#VkCopyAccelerationStructureModeKHR VkCopyAccelerationStructureModeKHR registry at www.khronos.org>
newtype VkCopyAccelerationStructureModeKHR = VkCopyAccelerationStructureModeKHR Int32
                                             deriving (VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
(VkCopyAccelerationStructureModeKHR
 -> VkCopyAccelerationStructureModeKHR -> Bool)
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR -> Bool)
-> Eq VkCopyAccelerationStructureModeKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
$c/= :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
== :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
$c== :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
Eq, Eq VkCopyAccelerationStructureModeKHR
Eq VkCopyAccelerationStructureModeKHR
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR -> Ordering)
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR -> Bool)
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR -> Bool)
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR -> Bool)
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR -> Bool)
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR)
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR)
-> Ord VkCopyAccelerationStructureModeKHR
VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Ordering
VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
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 :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
$cmin :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
max :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
$cmax :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
>= :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
$c>= :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
> :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
$c> :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
<= :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
$c<= :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
< :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
$c< :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Bool
compare :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Ordering
$ccompare :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> Ordering
Ord, Int -> VkCopyAccelerationStructureModeKHR
VkCopyAccelerationStructureModeKHR -> Int
VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
(VkCopyAccelerationStructureModeKHR
 -> VkCopyAccelerationStructureModeKHR)
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR)
-> (Int -> VkCopyAccelerationStructureModeKHR)
-> (VkCopyAccelerationStructureModeKHR -> Int)
-> (VkCopyAccelerationStructureModeKHR
    -> [VkCopyAccelerationStructureModeKHR])
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR
    -> [VkCopyAccelerationStructureModeKHR])
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR
    -> [VkCopyAccelerationStructureModeKHR])
-> (VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR
    -> [VkCopyAccelerationStructureModeKHR])
-> Enum VkCopyAccelerationStructureModeKHR
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 :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
$cenumFromThenTo :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
enumFromTo :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
$cenumFromTo :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
enumFromThen :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
$cenumFromThen :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
enumFrom :: VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
$cenumFrom :: VkCopyAccelerationStructureModeKHR
-> [VkCopyAccelerationStructureModeKHR]
fromEnum :: VkCopyAccelerationStructureModeKHR -> Int
$cfromEnum :: VkCopyAccelerationStructureModeKHR -> Int
toEnum :: Int -> VkCopyAccelerationStructureModeKHR
$ctoEnum :: Int -> VkCopyAccelerationStructureModeKHR
pred :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
$cpred :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
succ :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
$csucc :: VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR
Enum, Ptr VkCopyAccelerationStructureModeKHR
-> IO VkCopyAccelerationStructureModeKHR
Ptr VkCopyAccelerationStructureModeKHR
-> Int -> IO VkCopyAccelerationStructureModeKHR
Ptr VkCopyAccelerationStructureModeKHR
-> Int -> VkCopyAccelerationStructureModeKHR -> IO ()
Ptr VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> IO ()
VkCopyAccelerationStructureModeKHR -> Int
(VkCopyAccelerationStructureModeKHR -> Int)
-> (VkCopyAccelerationStructureModeKHR -> Int)
-> (Ptr VkCopyAccelerationStructureModeKHR
    -> Int -> IO VkCopyAccelerationStructureModeKHR)
-> (Ptr VkCopyAccelerationStructureModeKHR
    -> Int -> VkCopyAccelerationStructureModeKHR -> IO ())
-> (forall b.
    Ptr b -> Int -> IO VkCopyAccelerationStructureModeKHR)
-> (forall b.
    Ptr b -> Int -> VkCopyAccelerationStructureModeKHR -> IO ())
-> (Ptr VkCopyAccelerationStructureModeKHR
    -> IO VkCopyAccelerationStructureModeKHR)
-> (Ptr VkCopyAccelerationStructureModeKHR
    -> VkCopyAccelerationStructureModeKHR -> IO ())
-> Storable VkCopyAccelerationStructureModeKHR
forall b. Ptr b -> Int -> IO VkCopyAccelerationStructureModeKHR
forall b.
Ptr b -> Int -> VkCopyAccelerationStructureModeKHR -> 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 VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> IO ()
$cpoke :: Ptr VkCopyAccelerationStructureModeKHR
-> VkCopyAccelerationStructureModeKHR -> IO ()
peek :: Ptr VkCopyAccelerationStructureModeKHR
-> IO VkCopyAccelerationStructureModeKHR
$cpeek :: Ptr VkCopyAccelerationStructureModeKHR
-> IO VkCopyAccelerationStructureModeKHR
pokeByteOff :: forall b.
Ptr b -> Int -> VkCopyAccelerationStructureModeKHR -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> VkCopyAccelerationStructureModeKHR -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkCopyAccelerationStructureModeKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkCopyAccelerationStructureModeKHR
pokeElemOff :: Ptr VkCopyAccelerationStructureModeKHR
-> Int -> VkCopyAccelerationStructureModeKHR -> IO ()
$cpokeElemOff :: Ptr VkCopyAccelerationStructureModeKHR
-> Int -> VkCopyAccelerationStructureModeKHR -> IO ()
peekElemOff :: Ptr VkCopyAccelerationStructureModeKHR
-> Int -> IO VkCopyAccelerationStructureModeKHR
$cpeekElemOff :: Ptr VkCopyAccelerationStructureModeKHR
-> Int -> IO VkCopyAccelerationStructureModeKHR
alignment :: VkCopyAccelerationStructureModeKHR -> Int
$calignment :: VkCopyAccelerationStructureModeKHR -> Int
sizeOf :: VkCopyAccelerationStructureModeKHR -> Int
$csizeOf :: VkCopyAccelerationStructureModeKHR -> Int
Storable)

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

pattern $bVK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR :: VkCopyAccelerationStructureModeKHR
$mVK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR :: forall {r}.
VkCopyAccelerationStructureModeKHR
-> (Void# -> r) -> (Void# -> r) -> r
VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR =
        VkCopyAccelerationStructureModeKHR 0

pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR ::
        VkCopyAccelerationStructureModeKHR

pattern $bVK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR :: VkCopyAccelerationStructureModeKHR
$mVK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR :: forall {r}.
VkCopyAccelerationStructureModeKHR
-> (Void# -> r) -> (Void# -> r) -> r
VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR =
        VkCopyAccelerationStructureModeKHR 1

pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR ::
        VkCopyAccelerationStructureModeKHR

pattern $bVK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR :: VkCopyAccelerationStructureModeKHR
$mVK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR :: forall {r}.
VkCopyAccelerationStructureModeKHR
-> (Void# -> r) -> (Void# -> r) -> r
VK_COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR =
        VkCopyAccelerationStructureModeKHR 2

pattern VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR ::
        VkCopyAccelerationStructureModeKHR

pattern $bVK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR :: VkCopyAccelerationStructureModeKHR
$mVK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR :: forall {r}.
VkCopyAccelerationStructureModeKHR
-> (Void# -> r) -> (Void# -> r) -> r
VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR =
        VkCopyAccelerationStructureModeKHR 3

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

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

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