{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE Strict #-}
module Graphics.Vulkan.Types.Enum.PhysicalDeviceType
(VkPhysicalDeviceType(VkPhysicalDeviceType,
VK_PHYSICAL_DEVICE_TYPE_OTHER,
VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU,
VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU,
VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU, VK_PHYSICAL_DEVICE_TYPE_CPU))
where
import Foreign.Storable (Storable)
import GHC.Read (choose, expectP)
import Graphics.Vulkan.Marshal (Int32)
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read (Read (..), parens)
import Text.Read.Lex (Lexeme (..))
newtype VkPhysicalDeviceType = VkPhysicalDeviceType Int32
deriving (VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
(VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool)
-> (VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool)
-> Eq VkPhysicalDeviceType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
$c/= :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
== :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
$c== :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
Eq, Eq VkPhysicalDeviceType
Eq VkPhysicalDeviceType
-> (VkPhysicalDeviceType -> VkPhysicalDeviceType -> Ordering)
-> (VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool)
-> (VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool)
-> (VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool)
-> (VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool)
-> (VkPhysicalDeviceType
-> VkPhysicalDeviceType -> VkPhysicalDeviceType)
-> (VkPhysicalDeviceType
-> VkPhysicalDeviceType -> VkPhysicalDeviceType)
-> Ord VkPhysicalDeviceType
VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
VkPhysicalDeviceType -> VkPhysicalDeviceType -> Ordering
VkPhysicalDeviceType
-> VkPhysicalDeviceType -> VkPhysicalDeviceType
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 :: VkPhysicalDeviceType
-> VkPhysicalDeviceType -> VkPhysicalDeviceType
$cmin :: VkPhysicalDeviceType
-> VkPhysicalDeviceType -> VkPhysicalDeviceType
max :: VkPhysicalDeviceType
-> VkPhysicalDeviceType -> VkPhysicalDeviceType
$cmax :: VkPhysicalDeviceType
-> VkPhysicalDeviceType -> VkPhysicalDeviceType
>= :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
$c>= :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
> :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
$c> :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
<= :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
$c<= :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
< :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
$c< :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Bool
compare :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Ordering
$ccompare :: VkPhysicalDeviceType -> VkPhysicalDeviceType -> Ordering
Ord, Int -> VkPhysicalDeviceType
VkPhysicalDeviceType -> Int
VkPhysicalDeviceType -> [VkPhysicalDeviceType]
VkPhysicalDeviceType -> VkPhysicalDeviceType
VkPhysicalDeviceType
-> VkPhysicalDeviceType -> [VkPhysicalDeviceType]
VkPhysicalDeviceType
-> VkPhysicalDeviceType
-> VkPhysicalDeviceType
-> [VkPhysicalDeviceType]
(VkPhysicalDeviceType -> VkPhysicalDeviceType)
-> (VkPhysicalDeviceType -> VkPhysicalDeviceType)
-> (Int -> VkPhysicalDeviceType)
-> (VkPhysicalDeviceType -> Int)
-> (VkPhysicalDeviceType -> [VkPhysicalDeviceType])
-> (VkPhysicalDeviceType
-> VkPhysicalDeviceType -> [VkPhysicalDeviceType])
-> (VkPhysicalDeviceType
-> VkPhysicalDeviceType -> [VkPhysicalDeviceType])
-> (VkPhysicalDeviceType
-> VkPhysicalDeviceType
-> VkPhysicalDeviceType
-> [VkPhysicalDeviceType])
-> Enum VkPhysicalDeviceType
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 :: VkPhysicalDeviceType
-> VkPhysicalDeviceType
-> VkPhysicalDeviceType
-> [VkPhysicalDeviceType]
$cenumFromThenTo :: VkPhysicalDeviceType
-> VkPhysicalDeviceType
-> VkPhysicalDeviceType
-> [VkPhysicalDeviceType]
enumFromTo :: VkPhysicalDeviceType
-> VkPhysicalDeviceType -> [VkPhysicalDeviceType]
$cenumFromTo :: VkPhysicalDeviceType
-> VkPhysicalDeviceType -> [VkPhysicalDeviceType]
enumFromThen :: VkPhysicalDeviceType
-> VkPhysicalDeviceType -> [VkPhysicalDeviceType]
$cenumFromThen :: VkPhysicalDeviceType
-> VkPhysicalDeviceType -> [VkPhysicalDeviceType]
enumFrom :: VkPhysicalDeviceType -> [VkPhysicalDeviceType]
$cenumFrom :: VkPhysicalDeviceType -> [VkPhysicalDeviceType]
fromEnum :: VkPhysicalDeviceType -> Int
$cfromEnum :: VkPhysicalDeviceType -> Int
toEnum :: Int -> VkPhysicalDeviceType
$ctoEnum :: Int -> VkPhysicalDeviceType
pred :: VkPhysicalDeviceType -> VkPhysicalDeviceType
$cpred :: VkPhysicalDeviceType -> VkPhysicalDeviceType
succ :: VkPhysicalDeviceType -> VkPhysicalDeviceType
$csucc :: VkPhysicalDeviceType -> VkPhysicalDeviceType
Enum, Ptr VkPhysicalDeviceType -> IO VkPhysicalDeviceType
Ptr VkPhysicalDeviceType -> Int -> IO VkPhysicalDeviceType
Ptr VkPhysicalDeviceType -> Int -> VkPhysicalDeviceType -> IO ()
Ptr VkPhysicalDeviceType -> VkPhysicalDeviceType -> IO ()
VkPhysicalDeviceType -> Int
(VkPhysicalDeviceType -> Int)
-> (VkPhysicalDeviceType -> Int)
-> (Ptr VkPhysicalDeviceType -> Int -> IO VkPhysicalDeviceType)
-> (Ptr VkPhysicalDeviceType
-> Int -> VkPhysicalDeviceType -> IO ())
-> (forall b. Ptr b -> Int -> IO VkPhysicalDeviceType)
-> (forall b. Ptr b -> Int -> VkPhysicalDeviceType -> IO ())
-> (Ptr VkPhysicalDeviceType -> IO VkPhysicalDeviceType)
-> (Ptr VkPhysicalDeviceType -> VkPhysicalDeviceType -> IO ())
-> Storable VkPhysicalDeviceType
forall b. Ptr b -> Int -> IO VkPhysicalDeviceType
forall b. Ptr b -> Int -> VkPhysicalDeviceType -> 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 VkPhysicalDeviceType -> VkPhysicalDeviceType -> IO ()
$cpoke :: Ptr VkPhysicalDeviceType -> VkPhysicalDeviceType -> IO ()
peek :: Ptr VkPhysicalDeviceType -> IO VkPhysicalDeviceType
$cpeek :: Ptr VkPhysicalDeviceType -> IO VkPhysicalDeviceType
pokeByteOff :: forall b. Ptr b -> Int -> VkPhysicalDeviceType -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkPhysicalDeviceType -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkPhysicalDeviceType
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkPhysicalDeviceType
pokeElemOff :: Ptr VkPhysicalDeviceType -> Int -> VkPhysicalDeviceType -> IO ()
$cpokeElemOff :: Ptr VkPhysicalDeviceType -> Int -> VkPhysicalDeviceType -> IO ()
peekElemOff :: Ptr VkPhysicalDeviceType -> Int -> IO VkPhysicalDeviceType
$cpeekElemOff :: Ptr VkPhysicalDeviceType -> Int -> IO VkPhysicalDeviceType
alignment :: VkPhysicalDeviceType -> Int
$calignment :: VkPhysicalDeviceType -> Int
sizeOf :: VkPhysicalDeviceType -> Int
$csizeOf :: VkPhysicalDeviceType -> Int
Storable)
instance Show VkPhysicalDeviceType where
showsPrec :: Int -> VkPhysicalDeviceType -> ShowS
showsPrec Int
_ VkPhysicalDeviceType
VK_PHYSICAL_DEVICE_TYPE_OTHER
= String -> ShowS
showString String
"VK_PHYSICAL_DEVICE_TYPE_OTHER"
showsPrec Int
_ VkPhysicalDeviceType
VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
= String -> ShowS
showString String
"VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU"
showsPrec Int
_ VkPhysicalDeviceType
VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
= String -> ShowS
showString String
"VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU"
showsPrec Int
_ VkPhysicalDeviceType
VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU
= String -> ShowS
showString String
"VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU"
showsPrec Int
_ VkPhysicalDeviceType
VK_PHYSICAL_DEVICE_TYPE_CPU
= String -> ShowS
showString String
"VK_PHYSICAL_DEVICE_TYPE_CPU"
showsPrec Int
p (VkPhysicalDeviceType Int32
x)
= Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
(String -> ShowS
showString String
"VkPhysicalDeviceType " 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 VkPhysicalDeviceType where
readPrec :: ReadPrec VkPhysicalDeviceType
readPrec
= ReadPrec VkPhysicalDeviceType -> ReadPrec VkPhysicalDeviceType
forall a. ReadPrec a -> ReadPrec a
parens
([(String, ReadPrec VkPhysicalDeviceType)]
-> ReadPrec VkPhysicalDeviceType
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
[(String
"VK_PHYSICAL_DEVICE_TYPE_OTHER",
VkPhysicalDeviceType -> ReadPrec VkPhysicalDeviceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkPhysicalDeviceType
VK_PHYSICAL_DEVICE_TYPE_OTHER),
(String
"VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU",
VkPhysicalDeviceType -> ReadPrec VkPhysicalDeviceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkPhysicalDeviceType
VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU),
(String
"VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU",
VkPhysicalDeviceType -> ReadPrec VkPhysicalDeviceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkPhysicalDeviceType
VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU),
(String
"VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU",
VkPhysicalDeviceType -> ReadPrec VkPhysicalDeviceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkPhysicalDeviceType
VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU),
(String
"VK_PHYSICAL_DEVICE_TYPE_CPU", VkPhysicalDeviceType -> ReadPrec VkPhysicalDeviceType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkPhysicalDeviceType
VK_PHYSICAL_DEVICE_TYPE_CPU)]
ReadPrec VkPhysicalDeviceType
-> ReadPrec VkPhysicalDeviceType -> ReadPrec VkPhysicalDeviceType
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
Int
-> ReadPrec VkPhysicalDeviceType -> ReadPrec VkPhysicalDeviceType
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
(Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkPhysicalDeviceType") ReadPrec ()
-> ReadPrec VkPhysicalDeviceType -> ReadPrec VkPhysicalDeviceType
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
(Int32 -> VkPhysicalDeviceType
VkPhysicalDeviceType (Int32 -> VkPhysicalDeviceType)
-> ReadPrec Int32 -> ReadPrec VkPhysicalDeviceType
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_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType
pattern $bVK_PHYSICAL_DEVICE_TYPE_OTHER :: VkPhysicalDeviceType
$mVK_PHYSICAL_DEVICE_TYPE_OTHER :: forall {r}.
VkPhysicalDeviceType -> (Void# -> r) -> (Void# -> r) -> r
VK_PHYSICAL_DEVICE_TYPE_OTHER = VkPhysicalDeviceType 0
pattern VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU ::
VkPhysicalDeviceType
pattern $bVK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: VkPhysicalDeviceType
$mVK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU :: forall {r}.
VkPhysicalDeviceType -> (Void# -> r) -> (Void# -> r) -> r
VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU =
VkPhysicalDeviceType 1
pattern VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU ::
VkPhysicalDeviceType
pattern $bVK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: VkPhysicalDeviceType
$mVK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU :: forall {r}.
VkPhysicalDeviceType -> (Void# -> r) -> (Void# -> r) -> r
VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU =
VkPhysicalDeviceType 2
pattern VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType
pattern $bVK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: VkPhysicalDeviceType
$mVK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU :: forall {r}.
VkPhysicalDeviceType -> (Void# -> r) -> (Void# -> r) -> r
VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU =
VkPhysicalDeviceType 3
pattern VK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType
pattern $bVK_PHYSICAL_DEVICE_TYPE_CPU :: VkPhysicalDeviceType
$mVK_PHYSICAL_DEVICE_TYPE_CPU :: forall {r}.
VkPhysicalDeviceType -> (Void# -> r) -> (Void# -> r) -> r
VK_PHYSICAL_DEVICE_TYPE_CPU = VkPhysicalDeviceType 4