{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE DeriveDataTypeable         #-}
{-# LANGUAGE DeriveGeneric              #-}
{-# LANGUAGE FlexibleInstances          #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures             #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE StandaloneDeriving         #-}
{-# LANGUAGE Strict                     #-}
{-# LANGUAGE TypeSynonymInstances       #-}
module Graphics.Vulkan.Types.Enum.Shader
       (VkShaderInfoTypeAMD(VkShaderInfoTypeAMD,
                            VK_SHADER_INFO_TYPE_STATISTICS_AMD, VK_SHADER_INFO_TYPE_BINARY_AMD,
                            VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD),
        VkShaderStageBitmask(VkShaderStageBitmask, VkShaderStageFlags,
                             VkShaderStageFlagBits, VK_SHADER_STAGE_VERTEX_BIT,
                             VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
                             VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
                             VK_SHADER_STAGE_GEOMETRY_BIT, VK_SHADER_STAGE_FRAGMENT_BIT,
                             VK_SHADER_STAGE_COMPUTE_BIT, VK_SHADER_STAGE_ALL_GRAPHICS,
                             VK_SHADER_STAGE_ALL),
        VkShaderStageFlags, VkShaderStageFlagBits)
       where
import           Data.Bits                       (Bits, FiniteBits)
import           Data.Data                       (Data)
import           Foreign.Storable                (Storable)
import           GHC.Generics                    (Generic)
import           GHC.Read                        (choose, expectP)
import           Graphics.Vulkan.Marshal         (FlagBit, FlagMask, FlagType,
                                                  Int32)
import           Graphics.Vulkan.Types.BaseTypes (VkFlags (..))
import           Text.ParserCombinators.ReadPrec (prec, step, (+++))
import           Text.Read                       (Read (..), parens)
import           Text.Read.Lex                   (Lexeme (..))

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderInfoTypeAMD VkShaderInfoTypeAMD registry at www.khronos.org>
newtype VkShaderInfoTypeAMD = VkShaderInfoTypeAMD Int32
                                deriving (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
(VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool)
-> (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool)
-> Eq VkShaderInfoTypeAMD
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
$c/= :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
== :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
$c== :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
Eq, Eq VkShaderInfoTypeAMD
Eq VkShaderInfoTypeAMD
-> (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Ordering)
-> (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool)
-> (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool)
-> (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool)
-> (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool)
-> (VkShaderInfoTypeAMD
    -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> (VkShaderInfoTypeAMD
    -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> Ord VkShaderInfoTypeAMD
VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Ordering
VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
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 :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$cmin :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
max :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$cmax :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
>= :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
$c>= :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
> :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
$c> :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
<= :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
$c<= :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
< :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
$c< :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Bool
compare :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Ordering
$ccompare :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> Ordering
$cp1Ord :: Eq VkShaderInfoTypeAMD
Ord, Integer -> VkShaderInfoTypeAMD
VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
(VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> (VkShaderInfoTypeAMD
    -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> (VkShaderInfoTypeAMD
    -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> (Integer -> VkShaderInfoTypeAMD)
-> Num VkShaderInfoTypeAMD
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> VkShaderInfoTypeAMD
$cfromInteger :: Integer -> VkShaderInfoTypeAMD
signum :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$csignum :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
abs :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$cabs :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
negate :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$cnegate :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
* :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$c* :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
- :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$c- :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
+ :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$c+ :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
Num, VkShaderInfoTypeAMD
VkShaderInfoTypeAMD
-> VkShaderInfoTypeAMD -> Bounded VkShaderInfoTypeAMD
forall a. a -> a -> Bounded a
maxBound :: VkShaderInfoTypeAMD
$cmaxBound :: VkShaderInfoTypeAMD
minBound :: VkShaderInfoTypeAMD
$cminBound :: VkShaderInfoTypeAMD
Bounded, Ptr b -> Int -> IO VkShaderInfoTypeAMD
Ptr b -> Int -> VkShaderInfoTypeAMD -> IO ()
Ptr VkShaderInfoTypeAMD -> IO VkShaderInfoTypeAMD
Ptr VkShaderInfoTypeAMD -> Int -> IO VkShaderInfoTypeAMD
Ptr VkShaderInfoTypeAMD -> Int -> VkShaderInfoTypeAMD -> IO ()
Ptr VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> IO ()
VkShaderInfoTypeAMD -> Int
(VkShaderInfoTypeAMD -> Int)
-> (VkShaderInfoTypeAMD -> Int)
-> (Ptr VkShaderInfoTypeAMD -> Int -> IO VkShaderInfoTypeAMD)
-> (Ptr VkShaderInfoTypeAMD -> Int -> VkShaderInfoTypeAMD -> IO ())
-> (forall b. Ptr b -> Int -> IO VkShaderInfoTypeAMD)
-> (forall b. Ptr b -> Int -> VkShaderInfoTypeAMD -> IO ())
-> (Ptr VkShaderInfoTypeAMD -> IO VkShaderInfoTypeAMD)
-> (Ptr VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> IO ())
-> Storable VkShaderInfoTypeAMD
forall b. Ptr b -> Int -> IO VkShaderInfoTypeAMD
forall b. Ptr b -> Int -> VkShaderInfoTypeAMD -> 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 VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> IO ()
$cpoke :: Ptr VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> IO ()
peek :: Ptr VkShaderInfoTypeAMD -> IO VkShaderInfoTypeAMD
$cpeek :: Ptr VkShaderInfoTypeAMD -> IO VkShaderInfoTypeAMD
pokeByteOff :: Ptr b -> Int -> VkShaderInfoTypeAMD -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkShaderInfoTypeAMD -> IO ()
peekByteOff :: Ptr b -> Int -> IO VkShaderInfoTypeAMD
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkShaderInfoTypeAMD
pokeElemOff :: Ptr VkShaderInfoTypeAMD -> Int -> VkShaderInfoTypeAMD -> IO ()
$cpokeElemOff :: Ptr VkShaderInfoTypeAMD -> Int -> VkShaderInfoTypeAMD -> IO ()
peekElemOff :: Ptr VkShaderInfoTypeAMD -> Int -> IO VkShaderInfoTypeAMD
$cpeekElemOff :: Ptr VkShaderInfoTypeAMD -> Int -> IO VkShaderInfoTypeAMD
alignment :: VkShaderInfoTypeAMD -> Int
$calignment :: VkShaderInfoTypeAMD -> Int
sizeOf :: VkShaderInfoTypeAMD -> Int
$csizeOf :: VkShaderInfoTypeAMD -> Int
Storable, Int -> VkShaderInfoTypeAMD
VkShaderInfoTypeAMD -> Int
VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD]
VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD]
VkShaderInfoTypeAMD
-> VkShaderInfoTypeAMD
-> VkShaderInfoTypeAMD
-> [VkShaderInfoTypeAMD]
(VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> (VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> (Int -> VkShaderInfoTypeAMD)
-> (VkShaderInfoTypeAMD -> Int)
-> (VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD])
-> (VkShaderInfoTypeAMD
    -> VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD])
-> (VkShaderInfoTypeAMD
    -> VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD])
-> (VkShaderInfoTypeAMD
    -> VkShaderInfoTypeAMD
    -> VkShaderInfoTypeAMD
    -> [VkShaderInfoTypeAMD])
-> Enum VkShaderInfoTypeAMD
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 :: VkShaderInfoTypeAMD
-> VkShaderInfoTypeAMD
-> VkShaderInfoTypeAMD
-> [VkShaderInfoTypeAMD]
$cenumFromThenTo :: VkShaderInfoTypeAMD
-> VkShaderInfoTypeAMD
-> VkShaderInfoTypeAMD
-> [VkShaderInfoTypeAMD]
enumFromTo :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD]
$cenumFromTo :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD]
enumFromThen :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD]
$cenumFromThen :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD]
enumFrom :: VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD]
$cenumFrom :: VkShaderInfoTypeAMD -> [VkShaderInfoTypeAMD]
fromEnum :: VkShaderInfoTypeAMD -> Int
$cfromEnum :: VkShaderInfoTypeAMD -> Int
toEnum :: Int -> VkShaderInfoTypeAMD
$ctoEnum :: Int -> VkShaderInfoTypeAMD
pred :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$cpred :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
succ :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$csucc :: VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
Enum, Typeable VkShaderInfoTypeAMD
DataType
Constr
Typeable VkShaderInfoTypeAMD
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g)
    -> VkShaderInfoTypeAMD
    -> c VkShaderInfoTypeAMD)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c VkShaderInfoTypeAMD)
-> (VkShaderInfoTypeAMD -> Constr)
-> (VkShaderInfoTypeAMD -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c VkShaderInfoTypeAMD))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c VkShaderInfoTypeAMD))
-> ((forall b. Data b => b -> b)
    -> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> VkShaderInfoTypeAMD -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> VkShaderInfoTypeAMD -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> VkShaderInfoTypeAMD -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkShaderInfoTypeAMD -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD)
-> Data VkShaderInfoTypeAMD
VkShaderInfoTypeAMD -> DataType
VkShaderInfoTypeAMD -> Constr
(forall b. Data b => b -> b)
-> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkShaderInfoTypeAMD
-> c VkShaderInfoTypeAMD
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkShaderInfoTypeAMD
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> VkShaderInfoTypeAMD -> u
forall u.
(forall d. Data d => d -> u) -> VkShaderInfoTypeAMD -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkShaderInfoTypeAMD -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkShaderInfoTypeAMD -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkShaderInfoTypeAMD
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkShaderInfoTypeAMD
-> c VkShaderInfoTypeAMD
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkShaderInfoTypeAMD)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkShaderInfoTypeAMD)
$cVkShaderInfoTypeAMD :: Constr
$tVkShaderInfoTypeAMD :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD
gmapMp :: (forall d. Data d => d -> m d)
-> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD
gmapM :: (forall d. Data d => d -> m d)
-> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkShaderInfoTypeAMD -> m VkShaderInfoTypeAMD
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkShaderInfoTypeAMD -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> VkShaderInfoTypeAMD -> u
gmapQ :: (forall d. Data d => d -> u) -> VkShaderInfoTypeAMD -> [u]
$cgmapQ :: forall u.
(forall d. Data d => d -> u) -> VkShaderInfoTypeAMD -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkShaderInfoTypeAMD -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> VkShaderInfoTypeAMD -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkShaderInfoTypeAMD -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> VkShaderInfoTypeAMD -> r
gmapT :: (forall b. Data b => b -> b)
-> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
$cgmapT :: (forall b. Data b => b -> b)
-> VkShaderInfoTypeAMD -> VkShaderInfoTypeAMD
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkShaderInfoTypeAMD)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c VkShaderInfoTypeAMD)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c VkShaderInfoTypeAMD)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c VkShaderInfoTypeAMD)
dataTypeOf :: VkShaderInfoTypeAMD -> DataType
$cdataTypeOf :: VkShaderInfoTypeAMD -> DataType
toConstr :: VkShaderInfoTypeAMD -> Constr
$ctoConstr :: VkShaderInfoTypeAMD -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkShaderInfoTypeAMD
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c VkShaderInfoTypeAMD
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkShaderInfoTypeAMD
-> c VkShaderInfoTypeAMD
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkShaderInfoTypeAMD
-> c VkShaderInfoTypeAMD
$cp1Data :: Typeable VkShaderInfoTypeAMD
Data, (forall x. VkShaderInfoTypeAMD -> Rep VkShaderInfoTypeAMD x)
-> (forall x. Rep VkShaderInfoTypeAMD x -> VkShaderInfoTypeAMD)
-> Generic VkShaderInfoTypeAMD
forall x. Rep VkShaderInfoTypeAMD x -> VkShaderInfoTypeAMD
forall x. VkShaderInfoTypeAMD -> Rep VkShaderInfoTypeAMD x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep VkShaderInfoTypeAMD x -> VkShaderInfoTypeAMD
$cfrom :: forall x. VkShaderInfoTypeAMD -> Rep VkShaderInfoTypeAMD x
Generic)

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

pattern $bVK_SHADER_INFO_TYPE_STATISTICS_AMD :: VkShaderInfoTypeAMD
$mVK_SHADER_INFO_TYPE_STATISTICS_AMD :: forall r. VkShaderInfoTypeAMD -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_INFO_TYPE_STATISTICS_AMD = VkShaderInfoTypeAMD 0

pattern VK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD

pattern $bVK_SHADER_INFO_TYPE_BINARY_AMD :: VkShaderInfoTypeAMD
$mVK_SHADER_INFO_TYPE_BINARY_AMD :: forall r. VkShaderInfoTypeAMD -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_INFO_TYPE_BINARY_AMD = VkShaderInfoTypeAMD 1

pattern VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD

pattern $bVK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: VkShaderInfoTypeAMD
$mVK_SHADER_INFO_TYPE_DISASSEMBLY_AMD :: forall r. VkShaderInfoTypeAMD -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD = VkShaderInfoTypeAMD 2

newtype VkShaderStageBitmask (a ::
                                FlagType) = VkShaderStageBitmask VkFlags
                                              deriving (VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
(VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool)
-> (VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool)
-> Eq (VkShaderStageBitmask a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (a :: FlagType).
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
/= :: VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
$c/= :: forall (a :: FlagType).
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
== :: VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
$c== :: forall (a :: FlagType).
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
Eq, Eq (VkShaderStageBitmask a)
Eq (VkShaderStageBitmask a)
-> (VkShaderStageBitmask a -> VkShaderStageBitmask a -> Ordering)
-> (VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool)
-> (VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool)
-> (VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool)
-> (VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool)
-> (VkShaderStageBitmask a
    -> VkShaderStageBitmask a -> VkShaderStageBitmask a)
-> (VkShaderStageBitmask a
    -> VkShaderStageBitmask a -> VkShaderStageBitmask a)
-> Ord (VkShaderStageBitmask a)
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Ordering
VkShaderStageBitmask a
-> VkShaderStageBitmask a -> VkShaderStageBitmask a
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall (a :: FlagType). Eq (VkShaderStageBitmask a)
forall (a :: FlagType).
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
forall (a :: FlagType).
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Ordering
forall (a :: FlagType).
VkShaderStageBitmask a
-> VkShaderStageBitmask a -> VkShaderStageBitmask a
min :: VkShaderStageBitmask a
-> VkShaderStageBitmask a -> VkShaderStageBitmask a
$cmin :: forall (a :: FlagType).
VkShaderStageBitmask a
-> VkShaderStageBitmask a -> VkShaderStageBitmask a
max :: VkShaderStageBitmask a
-> VkShaderStageBitmask a -> VkShaderStageBitmask a
$cmax :: forall (a :: FlagType).
VkShaderStageBitmask a
-> VkShaderStageBitmask a -> VkShaderStageBitmask a
>= :: VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
$c>= :: forall (a :: FlagType).
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
> :: VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
$c> :: forall (a :: FlagType).
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
<= :: VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
$c<= :: forall (a :: FlagType).
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
< :: VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
$c< :: forall (a :: FlagType).
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Bool
compare :: VkShaderStageBitmask a -> VkShaderStageBitmask a -> Ordering
$ccompare :: forall (a :: FlagType).
VkShaderStageBitmask a -> VkShaderStageBitmask a -> Ordering
$cp1Ord :: forall (a :: FlagType). Eq (VkShaderStageBitmask a)
Ord, Ptr b -> Int -> IO (VkShaderStageBitmask a)
Ptr b -> Int -> VkShaderStageBitmask a -> IO ()
Ptr (VkShaderStageBitmask a) -> IO (VkShaderStageBitmask a)
Ptr (VkShaderStageBitmask a) -> Int -> IO (VkShaderStageBitmask a)
Ptr (VkShaderStageBitmask a)
-> Int -> VkShaderStageBitmask a -> IO ()
Ptr (VkShaderStageBitmask a) -> VkShaderStageBitmask a -> IO ()
VkShaderStageBitmask a -> Int
(VkShaderStageBitmask a -> Int)
-> (VkShaderStageBitmask a -> Int)
-> (Ptr (VkShaderStageBitmask a)
    -> Int -> IO (VkShaderStageBitmask a))
-> (Ptr (VkShaderStageBitmask a)
    -> Int -> VkShaderStageBitmask a -> IO ())
-> (forall b. Ptr b -> Int -> IO (VkShaderStageBitmask a))
-> (forall b. Ptr b -> Int -> VkShaderStageBitmask a -> IO ())
-> (Ptr (VkShaderStageBitmask a) -> IO (VkShaderStageBitmask a))
-> (Ptr (VkShaderStageBitmask a)
    -> VkShaderStageBitmask a -> IO ())
-> Storable (VkShaderStageBitmask a)
forall b. Ptr b -> Int -> IO (VkShaderStageBitmask a)
forall b. Ptr b -> Int -> VkShaderStageBitmask a -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
forall (a :: FlagType).
Ptr (VkShaderStageBitmask a) -> IO (VkShaderStageBitmask a)
forall (a :: FlagType).
Ptr (VkShaderStageBitmask a) -> Int -> IO (VkShaderStageBitmask a)
forall (a :: FlagType).
Ptr (VkShaderStageBitmask a)
-> Int -> VkShaderStageBitmask a -> IO ()
forall (a :: FlagType).
Ptr (VkShaderStageBitmask a) -> VkShaderStageBitmask a -> IO ()
forall (a :: FlagType). VkShaderStageBitmask a -> Int
forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkShaderStageBitmask a)
forall (a :: FlagType) b.
Ptr b -> Int -> VkShaderStageBitmask a -> IO ()
poke :: Ptr (VkShaderStageBitmask a) -> VkShaderStageBitmask a -> IO ()
$cpoke :: forall (a :: FlagType).
Ptr (VkShaderStageBitmask a) -> VkShaderStageBitmask a -> IO ()
peek :: Ptr (VkShaderStageBitmask a) -> IO (VkShaderStageBitmask a)
$cpeek :: forall (a :: FlagType).
Ptr (VkShaderStageBitmask a) -> IO (VkShaderStageBitmask a)
pokeByteOff :: Ptr b -> Int -> VkShaderStageBitmask a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkShaderStageBitmask a -> IO ()
peekByteOff :: Ptr b -> Int -> IO (VkShaderStageBitmask a)
$cpeekByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkShaderStageBitmask a)
pokeElemOff :: Ptr (VkShaderStageBitmask a)
-> Int -> VkShaderStageBitmask a -> IO ()
$cpokeElemOff :: forall (a :: FlagType).
Ptr (VkShaderStageBitmask a)
-> Int -> VkShaderStageBitmask a -> IO ()
peekElemOff :: Ptr (VkShaderStageBitmask a) -> Int -> IO (VkShaderStageBitmask a)
$cpeekElemOff :: forall (a :: FlagType).
Ptr (VkShaderStageBitmask a) -> Int -> IO (VkShaderStageBitmask a)
alignment :: VkShaderStageBitmask a -> Int
$calignment :: forall (a :: FlagType). VkShaderStageBitmask a -> Int
sizeOf :: VkShaderStageBitmask a -> Int
$csizeOf :: forall (a :: FlagType). VkShaderStageBitmask a -> Int
Storable, Typeable (VkShaderStageBitmask a)
DataType
Constr
Typeable (VkShaderStageBitmask a)
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g)
    -> VkShaderStageBitmask a
    -> c (VkShaderStageBitmask a))
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c (VkShaderStageBitmask a))
-> (VkShaderStageBitmask a -> Constr)
-> (VkShaderStageBitmask a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d))
    -> Maybe (c (VkShaderStageBitmask a)))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c (VkShaderStageBitmask a)))
-> ((forall b. Data b => b -> b)
    -> VkShaderStageBitmask a -> VkShaderStageBitmask a)
-> (forall r r'.
    (r -> r' -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkShaderStageBitmask a
    -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r
    -> (forall d. Data d => d -> r')
    -> VkShaderStageBitmask a
    -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> VkShaderStageBitmask a -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> VkShaderStageBitmask a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> VkShaderStageBitmask a -> m (VkShaderStageBitmask a))
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkShaderStageBitmask a -> m (VkShaderStageBitmask a))
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> VkShaderStageBitmask a -> m (VkShaderStageBitmask a))
-> Data (VkShaderStageBitmask a)
VkShaderStageBitmask a -> DataType
VkShaderStageBitmask a -> Constr
(forall b. Data b => b -> b)
-> VkShaderStageBitmask a -> VkShaderStageBitmask a
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkShaderStageBitmask a
-> c (VkShaderStageBitmask a)
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkShaderStageBitmask a)
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> VkShaderStageBitmask a -> u
forall u.
(forall d. Data d => d -> u) -> VkShaderStageBitmask a -> [u]
forall r r'.
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkShaderStageBitmask a
-> r
forall r r'.
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkShaderStageBitmask a
-> r
forall (a :: FlagType).
Typeable a =>
Typeable (VkShaderStageBitmask a)
forall (a :: FlagType).
Typeable a =>
VkShaderStageBitmask a -> DataType
forall (a :: FlagType).
Typeable a =>
VkShaderStageBitmask a -> Constr
forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkShaderStageBitmask a -> VkShaderStageBitmask a
forall (a :: FlagType) u.
Typeable a =>
Int -> (forall d. Data d => d -> u) -> VkShaderStageBitmask a -> u
forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u) -> VkShaderStageBitmask a -> [u]
forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkShaderStageBitmask a
-> r
forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkShaderStageBitmask a
-> r
forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkShaderStageBitmask a -> m (VkShaderStageBitmask a)
forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkShaderStageBitmask a -> m (VkShaderStageBitmask a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkShaderStageBitmask a)
forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkShaderStageBitmask a
-> c (VkShaderStageBitmask a)
forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (VkShaderStageBitmask a))
forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkShaderStageBitmask a))
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> VkShaderStageBitmask a -> m (VkShaderStageBitmask a)
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> VkShaderStageBitmask a -> m (VkShaderStageBitmask a)
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkShaderStageBitmask a)
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkShaderStageBitmask a
-> c (VkShaderStageBitmask a)
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c (VkShaderStageBitmask a))
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkShaderStageBitmask a))
$cVkShaderStageBitmask :: Constr
$tVkShaderStageBitmask :: DataType
gmapMo :: (forall d. Data d => d -> m d)
-> VkShaderStageBitmask a -> m (VkShaderStageBitmask a)
$cgmapMo :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkShaderStageBitmask a -> m (VkShaderStageBitmask a)
gmapMp :: (forall d. Data d => d -> m d)
-> VkShaderStageBitmask a -> m (VkShaderStageBitmask a)
$cgmapMp :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, MonadPlus m) =>
(forall d. Data d => d -> m d)
-> VkShaderStageBitmask a -> m (VkShaderStageBitmask a)
gmapM :: (forall d. Data d => d -> m d)
-> VkShaderStageBitmask a -> m (VkShaderStageBitmask a)
$cgmapM :: forall (a :: FlagType) (m :: * -> *).
(Typeable a, Monad m) =>
(forall d. Data d => d -> m d)
-> VkShaderStageBitmask a -> m (VkShaderStageBitmask a)
gmapQi :: Int -> (forall d. Data d => d -> u) -> VkShaderStageBitmask a -> u
$cgmapQi :: forall (a :: FlagType) u.
Typeable a =>
Int -> (forall d. Data d => d -> u) -> VkShaderStageBitmask a -> u
gmapQ :: (forall d. Data d => d -> u) -> VkShaderStageBitmask a -> [u]
$cgmapQ :: forall (a :: FlagType) u.
Typeable a =>
(forall d. Data d => d -> u) -> VkShaderStageBitmask a -> [u]
gmapQr :: (r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkShaderStageBitmask a
-> r
$cgmapQr :: forall (a :: FlagType) r r'.
Typeable a =>
(r' -> r -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkShaderStageBitmask a
-> r
gmapQl :: (r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkShaderStageBitmask a
-> r
$cgmapQl :: forall (a :: FlagType) r r'.
Typeable a =>
(r -> r' -> r)
-> r
-> (forall d. Data d => d -> r')
-> VkShaderStageBitmask a
-> r
gmapT :: (forall b. Data b => b -> b)
-> VkShaderStageBitmask a -> VkShaderStageBitmask a
$cgmapT :: forall (a :: FlagType).
Typeable a =>
(forall b. Data b => b -> b)
-> VkShaderStageBitmask a -> VkShaderStageBitmask a
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkShaderStageBitmask a))
$cdataCast2 :: forall (a :: FlagType) (t :: * -> * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c (VkShaderStageBitmask a))
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c (VkShaderStageBitmask a))
$cdataCast1 :: forall (a :: FlagType) (t :: * -> *) (c :: * -> *).
(Typeable a, Typeable t) =>
(forall d. Data d => c (t d)) -> Maybe (c (VkShaderStageBitmask a))
dataTypeOf :: VkShaderStageBitmask a -> DataType
$cdataTypeOf :: forall (a :: FlagType).
Typeable a =>
VkShaderStageBitmask a -> DataType
toConstr :: VkShaderStageBitmask a -> Constr
$ctoConstr :: forall (a :: FlagType).
Typeable a =>
VkShaderStageBitmask a -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkShaderStageBitmask a)
$cgunfold :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c (VkShaderStageBitmask a)
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkShaderStageBitmask a
-> c (VkShaderStageBitmask a)
$cgfoldl :: forall (a :: FlagType) (c :: * -> *).
Typeable a =>
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g)
-> VkShaderStageBitmask a
-> c (VkShaderStageBitmask a)
$cp1Data :: forall (a :: FlagType).
Typeable a =>
Typeable (VkShaderStageBitmask a)
Data, (forall x.
 VkShaderStageBitmask a -> Rep (VkShaderStageBitmask a) x)
-> (forall x.
    Rep (VkShaderStageBitmask a) x -> VkShaderStageBitmask a)
-> Generic (VkShaderStageBitmask a)
forall x. Rep (VkShaderStageBitmask a) x -> VkShaderStageBitmask a
forall x. VkShaderStageBitmask a -> Rep (VkShaderStageBitmask a) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall (a :: FlagType) x.
Rep (VkShaderStageBitmask a) x -> VkShaderStageBitmask a
forall (a :: FlagType) x.
VkShaderStageBitmask a -> Rep (VkShaderStageBitmask a) x
$cto :: forall (a :: FlagType) x.
Rep (VkShaderStageBitmask a) x -> VkShaderStageBitmask a
$cfrom :: forall (a :: FlagType) x.
VkShaderStageBitmask a -> Rep (VkShaderStageBitmask a) x
Generic)

type VkShaderStageFlags = VkShaderStageBitmask FlagMask

type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit

pattern VkShaderStageFlagBits ::
        VkFlags -> VkShaderStageBitmask FlagBit

pattern $bVkShaderStageFlagBits :: VkFlags -> VkShaderStageBitmask FlagBit
$mVkShaderStageFlagBits :: forall r.
VkShaderStageBitmask FlagBit -> (VkFlags -> r) -> (Void# -> r) -> r
VkShaderStageFlagBits n = VkShaderStageBitmask n

pattern VkShaderStageFlags ::
        VkFlags -> VkShaderStageBitmask FlagMask

pattern $bVkShaderStageFlags :: VkFlags -> VkShaderStageBitmask FlagMask
$mVkShaderStageFlags :: forall r.
VkShaderStageBitmask FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkShaderStageFlags n = VkShaderStageBitmask n

deriving instance Bits (VkShaderStageBitmask FlagMask)

deriving instance FiniteBits (VkShaderStageBitmask FlagMask)

deriving instance Integral (VkShaderStageBitmask FlagMask)

deriving instance Num (VkShaderStageBitmask FlagMask)

deriving instance Bounded (VkShaderStageBitmask FlagMask)

deriving instance Enum (VkShaderStageBitmask FlagMask)

deriving instance Real (VkShaderStageBitmask FlagMask)

instance Show (VkShaderStageBitmask a) where
        showsPrec :: Int -> VkShaderStageBitmask a -> ShowS
showsPrec Int
_ VkShaderStageBitmask a
VK_SHADER_STAGE_VERTEX_BIT
          = String -> ShowS
showString String
"VK_SHADER_STAGE_VERTEX_BIT"
        showsPrec Int
_ VkShaderStageBitmask a
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT
          = String -> ShowS
showString String
"VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"
        showsPrec Int
_ VkShaderStageBitmask a
VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
          = String -> ShowS
showString String
"VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"
        showsPrec Int
_ VkShaderStageBitmask a
VK_SHADER_STAGE_GEOMETRY_BIT
          = String -> ShowS
showString String
"VK_SHADER_STAGE_GEOMETRY_BIT"
        showsPrec Int
_ VkShaderStageBitmask a
VK_SHADER_STAGE_FRAGMENT_BIT
          = String -> ShowS
showString String
"VK_SHADER_STAGE_FRAGMENT_BIT"
        showsPrec Int
_ VkShaderStageBitmask a
VK_SHADER_STAGE_COMPUTE_BIT
          = String -> ShowS
showString String
"VK_SHADER_STAGE_COMPUTE_BIT"
        showsPrec Int
_ VkShaderStageBitmask a
VK_SHADER_STAGE_ALL_GRAPHICS
          = String -> ShowS
showString String
"VK_SHADER_STAGE_ALL_GRAPHICS"
        showsPrec Int
_ VkShaderStageBitmask a
VK_SHADER_STAGE_ALL = String -> ShowS
showString String
"VK_SHADER_STAGE_ALL"
        showsPrec Int
p (VkShaderStageBitmask VkFlags
x)
          = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
              (String -> ShowS
showString String
"VkShaderStageBitmask " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> VkFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11 VkFlags
x)

instance Read (VkShaderStageBitmask a) where
        readPrec :: ReadPrec (VkShaderStageBitmask a)
readPrec
          = ReadPrec (VkShaderStageBitmask a)
-> ReadPrec (VkShaderStageBitmask a)
forall a. ReadPrec a -> ReadPrec a
parens
              ([(String, ReadPrec (VkShaderStageBitmask a))]
-> ReadPrec (VkShaderStageBitmask a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
                 [(String
"VK_SHADER_STAGE_VERTEX_BIT", VkShaderStageBitmask a -> ReadPrec (VkShaderStageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkShaderStageBitmask a
forall (a :: FlagType). VkShaderStageBitmask a
VK_SHADER_STAGE_VERTEX_BIT),
                  (String
"VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT",
                   VkShaderStageBitmask a -> ReadPrec (VkShaderStageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkShaderStageBitmask a
forall (a :: FlagType). VkShaderStageBitmask a
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT),
                  (String
"VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT",
                   VkShaderStageBitmask a -> ReadPrec (VkShaderStageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkShaderStageBitmask a
forall (a :: FlagType). VkShaderStageBitmask a
VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT),
                  (String
"VK_SHADER_STAGE_GEOMETRY_BIT",
                   VkShaderStageBitmask a -> ReadPrec (VkShaderStageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkShaderStageBitmask a
forall (a :: FlagType). VkShaderStageBitmask a
VK_SHADER_STAGE_GEOMETRY_BIT),
                  (String
"VK_SHADER_STAGE_FRAGMENT_BIT",
                   VkShaderStageBitmask a -> ReadPrec (VkShaderStageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkShaderStageBitmask a
forall (a :: FlagType). VkShaderStageBitmask a
VK_SHADER_STAGE_FRAGMENT_BIT),
                  (String
"VK_SHADER_STAGE_COMPUTE_BIT", VkShaderStageBitmask a -> ReadPrec (VkShaderStageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkShaderStageBitmask a
forall (a :: FlagType). VkShaderStageBitmask a
VK_SHADER_STAGE_COMPUTE_BIT),
                  (String
"VK_SHADER_STAGE_ALL_GRAPHICS",
                   VkShaderStageBitmask a -> ReadPrec (VkShaderStageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkShaderStageBitmask a
forall (a :: FlagType). VkShaderStageBitmask a
VK_SHADER_STAGE_ALL_GRAPHICS),
                  (String
"VK_SHADER_STAGE_ALL", VkShaderStageBitmask a -> ReadPrec (VkShaderStageBitmask a)
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkShaderStageBitmask a
forall (a :: FlagType). VkShaderStageBitmask a
VK_SHADER_STAGE_ALL)]
                 ReadPrec (VkShaderStageBitmask a)
-> ReadPrec (VkShaderStageBitmask a)
-> ReadPrec (VkShaderStageBitmask a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                 Int
-> ReadPrec (VkShaderStageBitmask a)
-> ReadPrec (VkShaderStageBitmask a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
                   (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkShaderStageBitmask") ReadPrec ()
-> ReadPrec (VkShaderStageBitmask a)
-> ReadPrec (VkShaderStageBitmask a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                      (VkFlags -> VkShaderStageBitmask a
forall (a :: FlagType). VkFlags -> VkShaderStageBitmask a
VkShaderStageBitmask (VkFlags -> VkShaderStageBitmask a)
-> ReadPrec VkFlags -> ReadPrec (VkShaderStageBitmask a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ReadPrec VkFlags -> ReadPrec VkFlags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec VkFlags
forall a. Read a => ReadPrec a
readPrec)))

-- | bitpos = @0@
pattern VK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a

pattern $bVK_SHADER_STAGE_VERTEX_BIT :: VkShaderStageBitmask a
$mVK_SHADER_STAGE_VERTEX_BIT :: forall r (a :: FlagType).
VkShaderStageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_STAGE_VERTEX_BIT = VkShaderStageBitmask 1

-- | bitpos = @1@
pattern VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT ::
        VkShaderStageBitmask a

pattern $bVK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: VkShaderStageBitmask a
$mVK_SHADER_STAGE_TESSELLATION_CONTROL_BIT :: forall r (a :: FlagType).
VkShaderStageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT =
        VkShaderStageBitmask 2

-- | bitpos = @2@
pattern VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT ::
        VkShaderStageBitmask a

pattern $bVK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: VkShaderStageBitmask a
$mVK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT :: forall r (a :: FlagType).
VkShaderStageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT =
        VkShaderStageBitmask 4

-- | bitpos = @3@
pattern VK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a

pattern $bVK_SHADER_STAGE_GEOMETRY_BIT :: VkShaderStageBitmask a
$mVK_SHADER_STAGE_GEOMETRY_BIT :: forall r (a :: FlagType).
VkShaderStageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_STAGE_GEOMETRY_BIT = VkShaderStageBitmask 8

-- | bitpos = @4@
pattern VK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a

pattern $bVK_SHADER_STAGE_FRAGMENT_BIT :: VkShaderStageBitmask a
$mVK_SHADER_STAGE_FRAGMENT_BIT :: forall r (a :: FlagType).
VkShaderStageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_STAGE_FRAGMENT_BIT = VkShaderStageBitmask 16

-- | bitpos = @5@
pattern VK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a

pattern $bVK_SHADER_STAGE_COMPUTE_BIT :: VkShaderStageBitmask a
$mVK_SHADER_STAGE_COMPUTE_BIT :: forall r (a :: FlagType).
VkShaderStageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_STAGE_COMPUTE_BIT = VkShaderStageBitmask 32

pattern VK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a

pattern $bVK_SHADER_STAGE_ALL_GRAPHICS :: VkShaderStageBitmask a
$mVK_SHADER_STAGE_ALL_GRAPHICS :: forall r (a :: FlagType).
VkShaderStageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_STAGE_ALL_GRAPHICS = VkShaderStageBitmask 31

pattern VK_SHADER_STAGE_ALL :: VkShaderStageBitmask a

pattern $bVK_SHADER_STAGE_ALL :: VkShaderStageBitmask a
$mVK_SHADER_STAGE_ALL :: forall r (a :: FlagType).
VkShaderStageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_STAGE_ALL = VkShaderStageBitmask 2147483647