{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE Strict                     #-}
module Graphics.Vulkan.Types.Enum.DriverId
       (VkDriverId(VkDriverId, VK_DRIVER_ID_AMD_PROPRIETARY,
                   VK_DRIVER_ID_AMD_OPEN_SOURCE, VK_DRIVER_ID_MESA_RADV,
                   VK_DRIVER_ID_NVIDIA_PROPRIETARY,
                   VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
                   VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
                   VK_DRIVER_ID_IMAGINATION_PROPRIETARY,
                   VK_DRIVER_ID_QUALCOMM_PROPRIETARY, VK_DRIVER_ID_ARM_PROPRIETARY,
                   VK_DRIVER_ID_GOOGLE_SWIFTSHADER, VK_DRIVER_ID_GGP_PROPRIETARY,
                   VK_DRIVER_ID_BROADCOM_PROPRIETARY, VK_DRIVER_ID_MESA_LLVMPIPE,
                   VK_DRIVER_ID_MOLTENVK),
        VkDriverIdKHR(..))
       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#VkDriverId VkDriverId registry at www.khronos.org>
newtype VkDriverId = VkDriverId Int32
                     deriving (VkDriverId -> VkDriverId -> Bool
(VkDriverId -> VkDriverId -> Bool)
-> (VkDriverId -> VkDriverId -> Bool) -> Eq VkDriverId
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkDriverId -> VkDriverId -> Bool
$c/= :: VkDriverId -> VkDriverId -> Bool
== :: VkDriverId -> VkDriverId -> Bool
$c== :: VkDriverId -> VkDriverId -> Bool
Eq, Eq VkDriverId
Eq VkDriverId
-> (VkDriverId -> VkDriverId -> Ordering)
-> (VkDriverId -> VkDriverId -> Bool)
-> (VkDriverId -> VkDriverId -> Bool)
-> (VkDriverId -> VkDriverId -> Bool)
-> (VkDriverId -> VkDriverId -> Bool)
-> (VkDriverId -> VkDriverId -> VkDriverId)
-> (VkDriverId -> VkDriverId -> VkDriverId)
-> Ord VkDriverId
VkDriverId -> VkDriverId -> Bool
VkDriverId -> VkDriverId -> Ordering
VkDriverId -> VkDriverId -> VkDriverId
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 :: VkDriverId -> VkDriverId -> VkDriverId
$cmin :: VkDriverId -> VkDriverId -> VkDriverId
max :: VkDriverId -> VkDriverId -> VkDriverId
$cmax :: VkDriverId -> VkDriverId -> VkDriverId
>= :: VkDriverId -> VkDriverId -> Bool
$c>= :: VkDriverId -> VkDriverId -> Bool
> :: VkDriverId -> VkDriverId -> Bool
$c> :: VkDriverId -> VkDriverId -> Bool
<= :: VkDriverId -> VkDriverId -> Bool
$c<= :: VkDriverId -> VkDriverId -> Bool
< :: VkDriverId -> VkDriverId -> Bool
$c< :: VkDriverId -> VkDriverId -> Bool
compare :: VkDriverId -> VkDriverId -> Ordering
$ccompare :: VkDriverId -> VkDriverId -> Ordering
Ord, Int -> VkDriverId
VkDriverId -> Int
VkDriverId -> [VkDriverId]
VkDriverId -> VkDriverId
VkDriverId -> VkDriverId -> [VkDriverId]
VkDriverId -> VkDriverId -> VkDriverId -> [VkDriverId]
(VkDriverId -> VkDriverId)
-> (VkDriverId -> VkDriverId)
-> (Int -> VkDriverId)
-> (VkDriverId -> Int)
-> (VkDriverId -> [VkDriverId])
-> (VkDriverId -> VkDriverId -> [VkDriverId])
-> (VkDriverId -> VkDriverId -> [VkDriverId])
-> (VkDriverId -> VkDriverId -> VkDriverId -> [VkDriverId])
-> Enum VkDriverId
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 :: VkDriverId -> VkDriverId -> VkDriverId -> [VkDriverId]
$cenumFromThenTo :: VkDriverId -> VkDriverId -> VkDriverId -> [VkDriverId]
enumFromTo :: VkDriverId -> VkDriverId -> [VkDriverId]
$cenumFromTo :: VkDriverId -> VkDriverId -> [VkDriverId]
enumFromThen :: VkDriverId -> VkDriverId -> [VkDriverId]
$cenumFromThen :: VkDriverId -> VkDriverId -> [VkDriverId]
enumFrom :: VkDriverId -> [VkDriverId]
$cenumFrom :: VkDriverId -> [VkDriverId]
fromEnum :: VkDriverId -> Int
$cfromEnum :: VkDriverId -> Int
toEnum :: Int -> VkDriverId
$ctoEnum :: Int -> VkDriverId
pred :: VkDriverId -> VkDriverId
$cpred :: VkDriverId -> VkDriverId
succ :: VkDriverId -> VkDriverId
$csucc :: VkDriverId -> VkDriverId
Enum, Ptr VkDriverId -> IO VkDriverId
Ptr VkDriverId -> Int -> IO VkDriverId
Ptr VkDriverId -> Int -> VkDriverId -> IO ()
Ptr VkDriverId -> VkDriverId -> IO ()
VkDriverId -> Int
(VkDriverId -> Int)
-> (VkDriverId -> Int)
-> (Ptr VkDriverId -> Int -> IO VkDriverId)
-> (Ptr VkDriverId -> Int -> VkDriverId -> IO ())
-> (forall b. Ptr b -> Int -> IO VkDriverId)
-> (forall b. Ptr b -> Int -> VkDriverId -> IO ())
-> (Ptr VkDriverId -> IO VkDriverId)
-> (Ptr VkDriverId -> VkDriverId -> IO ())
-> Storable VkDriverId
forall b. Ptr b -> Int -> IO VkDriverId
forall b. Ptr b -> Int -> VkDriverId -> 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 VkDriverId -> VkDriverId -> IO ()
$cpoke :: Ptr VkDriverId -> VkDriverId -> IO ()
peek :: Ptr VkDriverId -> IO VkDriverId
$cpeek :: Ptr VkDriverId -> IO VkDriverId
pokeByteOff :: forall b. Ptr b -> Int -> VkDriverId -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkDriverId -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkDriverId
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkDriverId
pokeElemOff :: Ptr VkDriverId -> Int -> VkDriverId -> IO ()
$cpokeElemOff :: Ptr VkDriverId -> Int -> VkDriverId -> IO ()
peekElemOff :: Ptr VkDriverId -> Int -> IO VkDriverId
$cpeekElemOff :: Ptr VkDriverId -> Int -> IO VkDriverId
alignment :: VkDriverId -> Int
$calignment :: VkDriverId -> Int
sizeOf :: VkDriverId -> Int
$csizeOf :: VkDriverId -> Int
Storable)

instance Show VkDriverId where
    showsPrec :: Int -> VkDriverId -> ShowS
showsPrec Int
_ VkDriverId
VK_DRIVER_ID_AMD_PROPRIETARY
      = String -> ShowS
showString String
"VK_DRIVER_ID_AMD_PROPRIETARY"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_AMD_OPEN_SOURCE
      = String -> ShowS
showString String
"VK_DRIVER_ID_AMD_OPEN_SOURCE"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_MESA_RADV
      = String -> ShowS
showString String
"VK_DRIVER_ID_MESA_RADV"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_NVIDIA_PROPRIETARY
      = String -> ShowS
showString String
"VK_DRIVER_ID_NVIDIA_PROPRIETARY"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS
      = String -> ShowS
showString String
"VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA
      = String -> ShowS
showString String
"VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_IMAGINATION_PROPRIETARY
      = String -> ShowS
showString String
"VK_DRIVER_ID_IMAGINATION_PROPRIETARY"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_QUALCOMM_PROPRIETARY
      = String -> ShowS
showString String
"VK_DRIVER_ID_QUALCOMM_PROPRIETARY"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_ARM_PROPRIETARY
      = String -> ShowS
showString String
"VK_DRIVER_ID_ARM_PROPRIETARY"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_GOOGLE_SWIFTSHADER
      = String -> ShowS
showString String
"VK_DRIVER_ID_GOOGLE_SWIFTSHADER"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_GGP_PROPRIETARY
      = String -> ShowS
showString String
"VK_DRIVER_ID_GGP_PROPRIETARY"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_BROADCOM_PROPRIETARY
      = String -> ShowS
showString String
"VK_DRIVER_ID_BROADCOM_PROPRIETARY"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_MESA_LLVMPIPE
      = String -> ShowS
showString String
"VK_DRIVER_ID_MESA_LLVMPIPE"
    showsPrec Int
_ VkDriverId
VK_DRIVER_ID_MOLTENVK
      = String -> ShowS
showString String
"VK_DRIVER_ID_MOLTENVK"
    showsPrec Int
p (VkDriverId Int32
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11) (String -> ShowS
showString String
"VkDriverId " 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 VkDriverId where
    readPrec :: ReadPrec VkDriverId
readPrec
      = ReadPrec VkDriverId -> ReadPrec VkDriverId
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec VkDriverId)] -> ReadPrec VkDriverId
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_DRIVER_ID_AMD_PROPRIETARY",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_AMD_PROPRIETARY),
              (String
"VK_DRIVER_ID_AMD_OPEN_SOURCE",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_AMD_OPEN_SOURCE),
              (String
"VK_DRIVER_ID_MESA_RADV", VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_MESA_RADV),
              (String
"VK_DRIVER_ID_NVIDIA_PROPRIETARY",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_NVIDIA_PROPRIETARY),
              (String
"VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS),
              (String
"VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA),
              (String
"VK_DRIVER_ID_IMAGINATION_PROPRIETARY",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_IMAGINATION_PROPRIETARY),
              (String
"VK_DRIVER_ID_QUALCOMM_PROPRIETARY",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_QUALCOMM_PROPRIETARY),
              (String
"VK_DRIVER_ID_ARM_PROPRIETARY",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_ARM_PROPRIETARY),
              (String
"VK_DRIVER_ID_GOOGLE_SWIFTSHADER",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_GOOGLE_SWIFTSHADER),
              (String
"VK_DRIVER_ID_GGP_PROPRIETARY",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_GGP_PROPRIETARY),
              (String
"VK_DRIVER_ID_BROADCOM_PROPRIETARY",
               VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_BROADCOM_PROPRIETARY),
              (String
"VK_DRIVER_ID_MESA_LLVMPIPE", VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_MESA_LLVMPIPE),
              (String
"VK_DRIVER_ID_MOLTENVK", VkDriverId -> ReadPrec VkDriverId
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDriverId
VK_DRIVER_ID_MOLTENVK)]
             ReadPrec VkDriverId -> ReadPrec VkDriverId -> ReadPrec VkDriverId
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int -> ReadPrec VkDriverId -> ReadPrec VkDriverId
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkDriverId") ReadPrec () -> ReadPrec VkDriverId -> ReadPrec VkDriverId
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> (Int32 -> VkDriverId
VkDriverId (Int32 -> VkDriverId) -> ReadPrec Int32 -> ReadPrec VkDriverId
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)))

-- | Advanced Micro Devices, Inc.
pattern VK_DRIVER_ID_AMD_PROPRIETARY :: VkDriverId

pattern $bVK_DRIVER_ID_AMD_PROPRIETARY :: VkDriverId
$mVK_DRIVER_ID_AMD_PROPRIETARY :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_AMD_PROPRIETARY = VkDriverId 1

-- | Advanced Micro Devices, Inc.
pattern VK_DRIVER_ID_AMD_OPEN_SOURCE :: VkDriverId

pattern $bVK_DRIVER_ID_AMD_OPEN_SOURCE :: VkDriverId
$mVK_DRIVER_ID_AMD_OPEN_SOURCE :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_AMD_OPEN_SOURCE = VkDriverId 2

-- | Mesa open source project
pattern VK_DRIVER_ID_MESA_RADV :: VkDriverId

pattern $bVK_DRIVER_ID_MESA_RADV :: VkDriverId
$mVK_DRIVER_ID_MESA_RADV :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_MESA_RADV = VkDriverId 3

-- | NVIDIA Corporation
pattern VK_DRIVER_ID_NVIDIA_PROPRIETARY :: VkDriverId

pattern $bVK_DRIVER_ID_NVIDIA_PROPRIETARY :: VkDriverId
$mVK_DRIVER_ID_NVIDIA_PROPRIETARY :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_NVIDIA_PROPRIETARY = VkDriverId 4

-- | Intel Corporation
pattern VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS :: VkDriverId

pattern $bVK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS :: VkDriverId
$mVK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS = VkDriverId 5

-- | Intel Corporation
pattern VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA :: VkDriverId

pattern $bVK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA :: VkDriverId
$mVK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA = VkDriverId 6

-- | Imagination Technologies
pattern VK_DRIVER_ID_IMAGINATION_PROPRIETARY :: VkDriverId

pattern $bVK_DRIVER_ID_IMAGINATION_PROPRIETARY :: VkDriverId
$mVK_DRIVER_ID_IMAGINATION_PROPRIETARY :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_IMAGINATION_PROPRIETARY = VkDriverId 7

-- | Qualcomm Technologies, Inc.
pattern VK_DRIVER_ID_QUALCOMM_PROPRIETARY :: VkDriverId

pattern $bVK_DRIVER_ID_QUALCOMM_PROPRIETARY :: VkDriverId
$mVK_DRIVER_ID_QUALCOMM_PROPRIETARY :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_QUALCOMM_PROPRIETARY = VkDriverId 8

-- | Arm Limited
pattern VK_DRIVER_ID_ARM_PROPRIETARY :: VkDriverId

pattern $bVK_DRIVER_ID_ARM_PROPRIETARY :: VkDriverId
$mVK_DRIVER_ID_ARM_PROPRIETARY :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_ARM_PROPRIETARY = VkDriverId 9

-- | Google LLC
pattern VK_DRIVER_ID_GOOGLE_SWIFTSHADER :: VkDriverId

pattern $bVK_DRIVER_ID_GOOGLE_SWIFTSHADER :: VkDriverId
$mVK_DRIVER_ID_GOOGLE_SWIFTSHADER :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_GOOGLE_SWIFTSHADER = VkDriverId 10

-- | Google LLC
pattern VK_DRIVER_ID_GGP_PROPRIETARY :: VkDriverId

pattern $bVK_DRIVER_ID_GGP_PROPRIETARY :: VkDriverId
$mVK_DRIVER_ID_GGP_PROPRIETARY :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_GGP_PROPRIETARY = VkDriverId 11

-- | Broadcom Inc.
pattern VK_DRIVER_ID_BROADCOM_PROPRIETARY :: VkDriverId

pattern $bVK_DRIVER_ID_BROADCOM_PROPRIETARY :: VkDriverId
$mVK_DRIVER_ID_BROADCOM_PROPRIETARY :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_BROADCOM_PROPRIETARY = VkDriverId 12

-- | Mesa
pattern VK_DRIVER_ID_MESA_LLVMPIPE :: VkDriverId

pattern $bVK_DRIVER_ID_MESA_LLVMPIPE :: VkDriverId
$mVK_DRIVER_ID_MESA_LLVMPIPE :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_MESA_LLVMPIPE = VkDriverId 13

-- | MoltenVK
pattern VK_DRIVER_ID_MOLTENVK :: VkDriverId

pattern $bVK_DRIVER_ID_MOLTENVK :: VkDriverId
$mVK_DRIVER_ID_MOLTENVK :: forall {r}. VkDriverId -> (Void# -> r) -> (Void# -> r) -> r
VK_DRIVER_ID_MOLTENVK = VkDriverId 14

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

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

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