{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds                  #-}
{-# LANGUAGE FlexibleInstances          #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures             #-}
{-# LANGUAGE PatternSynonyms            #-}
{-# LANGUAGE StandaloneDeriving         #-}
{-# LANGUAGE Strict                     #-}
{-# LANGUAGE TypeSynonymInstances       #-}
module Graphics.Vulkan.Types.Enum.Shader
       (VkShaderCorePropertiesBitmaskAMD(VkShaderCorePropertiesBitmaskAMD,
                                         VkShaderCorePropertiesFlagsAMD,
                                         VkShaderCorePropertiesFlagBitsAMD),
        VkShaderCorePropertiesFlagsAMD, VkShaderCorePropertiesFlagBitsAMD,
        VkShaderFloatControlsIndependence(VkShaderFloatControlsIndependence,
                                          VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY,
                                          VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL,
                                          VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE),
        VkShaderFloatControlsIndependenceKHR(..),
        VkShaderInfoTypeAMD(VkShaderInfoTypeAMD,
                            VK_SHADER_INFO_TYPE_STATISTICS_AMD, VK_SHADER_INFO_TYPE_BINARY_AMD,
                            VK_SHADER_INFO_TYPE_DISASSEMBLY_AMD),
        VkShaderModuleCreateBitmask(VkShaderModuleCreateBitmask,
                                    VkShaderModuleCreateFlags, VkShaderModuleCreateFlagBits),
        VkShaderModuleCreateFlags, VkShaderModuleCreateFlagBits,
        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.Coerce                     (coerce)
import Foreign.Storable                (Storable)
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 (..))

newtype VkShaderCorePropertiesBitmaskAMD (a ::
                                            FlagType) = VkShaderCorePropertiesBitmaskAMD VkFlags
                                                        deriving (VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
(VkShaderCorePropertiesBitmaskAMD a
 -> VkShaderCorePropertiesBitmaskAMD a -> Bool)
-> (VkShaderCorePropertiesBitmaskAMD a
    -> VkShaderCorePropertiesBitmaskAMD a -> Bool)
-> Eq (VkShaderCorePropertiesBitmaskAMD a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
/= :: VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
$c/= :: forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
== :: VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
$c== :: forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
Eq, Eq (VkShaderCorePropertiesBitmaskAMD a)
Eq (VkShaderCorePropertiesBitmaskAMD a)
-> (VkShaderCorePropertiesBitmaskAMD a
    -> VkShaderCorePropertiesBitmaskAMD a -> Ordering)
-> (VkShaderCorePropertiesBitmaskAMD a
    -> VkShaderCorePropertiesBitmaskAMD a -> Bool)
-> (VkShaderCorePropertiesBitmaskAMD a
    -> VkShaderCorePropertiesBitmaskAMD a -> Bool)
-> (VkShaderCorePropertiesBitmaskAMD a
    -> VkShaderCorePropertiesBitmaskAMD a -> Bool)
-> (VkShaderCorePropertiesBitmaskAMD a
    -> VkShaderCorePropertiesBitmaskAMD a -> Bool)
-> (VkShaderCorePropertiesBitmaskAMD a
    -> VkShaderCorePropertiesBitmaskAMD a
    -> VkShaderCorePropertiesBitmaskAMD a)
-> (VkShaderCorePropertiesBitmaskAMD a
    -> VkShaderCorePropertiesBitmaskAMD a
    -> VkShaderCorePropertiesBitmaskAMD a)
-> Ord (VkShaderCorePropertiesBitmaskAMD a)
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Ordering
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD 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 (VkShaderCorePropertiesBitmaskAMD a)
forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Ordering
forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
min :: VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
$cmin :: forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
max :: VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
$cmax :: forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a
>= :: VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
$c>= :: forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
> :: VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
$c> :: forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
<= :: VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
$c<= :: forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
< :: VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
$c< :: forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Bool
compare :: VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Ordering
$ccompare :: forall (a :: FlagType).
VkShaderCorePropertiesBitmaskAMD a
-> VkShaderCorePropertiesBitmaskAMD a -> Ordering
Ord, Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> IO (VkShaderCorePropertiesBitmaskAMD a)
Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> Int -> IO (VkShaderCorePropertiesBitmaskAMD a)
Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> Int -> VkShaderCorePropertiesBitmaskAMD a -> IO ()
Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> VkShaderCorePropertiesBitmaskAMD a -> IO ()
VkShaderCorePropertiesBitmaskAMD a -> Int
(VkShaderCorePropertiesBitmaskAMD a -> Int)
-> (VkShaderCorePropertiesBitmaskAMD a -> Int)
-> (Ptr (VkShaderCorePropertiesBitmaskAMD a)
    -> Int -> IO (VkShaderCorePropertiesBitmaskAMD a))
-> (Ptr (VkShaderCorePropertiesBitmaskAMD a)
    -> Int -> VkShaderCorePropertiesBitmaskAMD a -> IO ())
-> (forall b.
    Ptr b -> Int -> IO (VkShaderCorePropertiesBitmaskAMD a))
-> (forall b.
    Ptr b -> Int -> VkShaderCorePropertiesBitmaskAMD a -> IO ())
-> (Ptr (VkShaderCorePropertiesBitmaskAMD a)
    -> IO (VkShaderCorePropertiesBitmaskAMD a))
-> (Ptr (VkShaderCorePropertiesBitmaskAMD a)
    -> VkShaderCorePropertiesBitmaskAMD a -> IO ())
-> Storable (VkShaderCorePropertiesBitmaskAMD a)
forall b. Ptr b -> Int -> IO (VkShaderCorePropertiesBitmaskAMD a)
forall b.
Ptr b -> Int -> VkShaderCorePropertiesBitmaskAMD 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 (VkShaderCorePropertiesBitmaskAMD a)
-> IO (VkShaderCorePropertiesBitmaskAMD a)
forall (a :: FlagType).
Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> Int -> IO (VkShaderCorePropertiesBitmaskAMD a)
forall (a :: FlagType).
Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> Int -> VkShaderCorePropertiesBitmaskAMD a -> IO ()
forall (a :: FlagType).
Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> VkShaderCorePropertiesBitmaskAMD a -> IO ()
forall (a :: FlagType). VkShaderCorePropertiesBitmaskAMD a -> Int
forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkShaderCorePropertiesBitmaskAMD a)
forall (a :: FlagType) b.
Ptr b -> Int -> VkShaderCorePropertiesBitmaskAMD a -> IO ()
poke :: Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> VkShaderCorePropertiesBitmaskAMD a -> IO ()
$cpoke :: forall (a :: FlagType).
Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> VkShaderCorePropertiesBitmaskAMD a -> IO ()
peek :: Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> IO (VkShaderCorePropertiesBitmaskAMD a)
$cpeek :: forall (a :: FlagType).
Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> IO (VkShaderCorePropertiesBitmaskAMD a)
pokeByteOff :: forall b.
Ptr b -> Int -> VkShaderCorePropertiesBitmaskAMD a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkShaderCorePropertiesBitmaskAMD a -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO (VkShaderCorePropertiesBitmaskAMD a)
$cpeekByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkShaderCorePropertiesBitmaskAMD a)
pokeElemOff :: Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> Int -> VkShaderCorePropertiesBitmaskAMD a -> IO ()
$cpokeElemOff :: forall (a :: FlagType).
Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> Int -> VkShaderCorePropertiesBitmaskAMD a -> IO ()
peekElemOff :: Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> Int -> IO (VkShaderCorePropertiesBitmaskAMD a)
$cpeekElemOff :: forall (a :: FlagType).
Ptr (VkShaderCorePropertiesBitmaskAMD a)
-> Int -> IO (VkShaderCorePropertiesBitmaskAMD a)
alignment :: VkShaderCorePropertiesBitmaskAMD a -> Int
$calignment :: forall (a :: FlagType). VkShaderCorePropertiesBitmaskAMD a -> Int
sizeOf :: VkShaderCorePropertiesBitmaskAMD a -> Int
$csizeOf :: forall (a :: FlagType). VkShaderCorePropertiesBitmaskAMD a -> Int
Storable)

type VkShaderCorePropertiesFlagsAMD =
     VkShaderCorePropertiesBitmaskAMD FlagMask

type VkShaderCorePropertiesFlagBitsAMD =
     VkShaderCorePropertiesBitmaskAMD FlagBit

pattern VkShaderCorePropertiesFlagBitsAMD ::
        VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit

pattern $bVkShaderCorePropertiesFlagBitsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagBit
$mVkShaderCorePropertiesFlagBitsAMD :: forall {r}.
VkShaderCorePropertiesBitmaskAMD FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkShaderCorePropertiesFlagBitsAMD n =
        VkShaderCorePropertiesBitmaskAMD n

pattern VkShaderCorePropertiesFlagsAMD ::
        VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask

pattern $bVkShaderCorePropertiesFlagsAMD :: VkFlags -> VkShaderCorePropertiesBitmaskAMD FlagMask
$mVkShaderCorePropertiesFlagsAMD :: forall {r}.
VkShaderCorePropertiesBitmaskAMD FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkShaderCorePropertiesFlagsAMD n =
        VkShaderCorePropertiesBitmaskAMD n

deriving instance Bits (VkShaderCorePropertiesBitmaskAMD FlagMask)

deriving instance
         FiniteBits (VkShaderCorePropertiesBitmaskAMD FlagMask)

instance Show (VkShaderCorePropertiesBitmaskAMD a) where
    showsPrec :: Int -> VkShaderCorePropertiesBitmaskAMD a -> ShowS
showsPrec Int
p (VkShaderCorePropertiesBitmaskAMD VkFlags
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkShaderCorePropertiesBitmaskAMD " 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 (VkShaderCorePropertiesBitmaskAMD a) where
    readPrec :: ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
readPrec
      = ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
-> ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec (VkShaderCorePropertiesBitmaskAMD a))]
-> ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [] ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
-> ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
-> ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
-> ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkShaderCorePropertiesBitmaskAMD") ReadPrec ()
-> ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
-> ReadPrec (VkShaderCorePropertiesBitmaskAMD a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (VkFlags -> VkShaderCorePropertiesBitmaskAMD a
forall (a :: FlagType).
VkFlags -> VkShaderCorePropertiesBitmaskAMD a
VkShaderCorePropertiesBitmaskAMD (VkFlags -> VkShaderCorePropertiesBitmaskAMD a)
-> ReadPrec VkFlags
-> ReadPrec (VkShaderCorePropertiesBitmaskAMD 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)))

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

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

pattern $bVK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: VkShaderFloatControlsIndependence
$mVK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY :: forall {r}.
VkShaderFloatControlsIndependence
-> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY =
        VkShaderFloatControlsIndependence 0

pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL ::
        VkShaderFloatControlsIndependence

pattern $bVK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: VkShaderFloatControlsIndependence
$mVK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL :: forall {r}.
VkShaderFloatControlsIndependence
-> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL =
        VkShaderFloatControlsIndependence 1

pattern VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE ::
        VkShaderFloatControlsIndependence

pattern $bVK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: VkShaderFloatControlsIndependence
$mVK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE :: forall {r}.
VkShaderFloatControlsIndependence
-> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE =
        VkShaderFloatControlsIndependence 2

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

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

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

-- | type = @enum@
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#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
Ord, 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, 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 :: forall b. Ptr b -> Int -> VkShaderInfoTypeAMD -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkShaderInfoTypeAMD -> IO ()
peekByteOff :: forall b. 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)

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 VkShaderModuleCreateBitmask (a ::
                                       FlagType) = VkShaderModuleCreateBitmask VkFlags
                                                   deriving (VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
(VkShaderModuleCreateBitmask a
 -> VkShaderModuleCreateBitmask a -> Bool)
-> (VkShaderModuleCreateBitmask a
    -> VkShaderModuleCreateBitmask a -> Bool)
-> Eq (VkShaderModuleCreateBitmask a)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
/= :: VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
$c/= :: forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
== :: VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
$c== :: forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
Eq, Eq (VkShaderModuleCreateBitmask a)
Eq (VkShaderModuleCreateBitmask a)
-> (VkShaderModuleCreateBitmask a
    -> VkShaderModuleCreateBitmask a -> Ordering)
-> (VkShaderModuleCreateBitmask a
    -> VkShaderModuleCreateBitmask a -> Bool)
-> (VkShaderModuleCreateBitmask a
    -> VkShaderModuleCreateBitmask a -> Bool)
-> (VkShaderModuleCreateBitmask a
    -> VkShaderModuleCreateBitmask a -> Bool)
-> (VkShaderModuleCreateBitmask a
    -> VkShaderModuleCreateBitmask a -> Bool)
-> (VkShaderModuleCreateBitmask a
    -> VkShaderModuleCreateBitmask a -> VkShaderModuleCreateBitmask a)
-> (VkShaderModuleCreateBitmask a
    -> VkShaderModuleCreateBitmask a -> VkShaderModuleCreateBitmask a)
-> Ord (VkShaderModuleCreateBitmask a)
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Ordering
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> VkShaderModuleCreateBitmask 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 (VkShaderModuleCreateBitmask a)
forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Ordering
forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> VkShaderModuleCreateBitmask a
min :: VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> VkShaderModuleCreateBitmask a
$cmin :: forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> VkShaderModuleCreateBitmask a
max :: VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> VkShaderModuleCreateBitmask a
$cmax :: forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> VkShaderModuleCreateBitmask a
>= :: VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
$c>= :: forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
> :: VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
$c> :: forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
<= :: VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
$c<= :: forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
< :: VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
$c< :: forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Bool
compare :: VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Ordering
$ccompare :: forall (a :: FlagType).
VkShaderModuleCreateBitmask a
-> VkShaderModuleCreateBitmask a -> Ordering
Ord, Ptr (VkShaderModuleCreateBitmask a)
-> IO (VkShaderModuleCreateBitmask a)
Ptr (VkShaderModuleCreateBitmask a)
-> Int -> IO (VkShaderModuleCreateBitmask a)
Ptr (VkShaderModuleCreateBitmask a)
-> Int -> VkShaderModuleCreateBitmask a -> IO ()
Ptr (VkShaderModuleCreateBitmask a)
-> VkShaderModuleCreateBitmask a -> IO ()
VkShaderModuleCreateBitmask a -> Int
(VkShaderModuleCreateBitmask a -> Int)
-> (VkShaderModuleCreateBitmask a -> Int)
-> (Ptr (VkShaderModuleCreateBitmask a)
    -> Int -> IO (VkShaderModuleCreateBitmask a))
-> (Ptr (VkShaderModuleCreateBitmask a)
    -> Int -> VkShaderModuleCreateBitmask a -> IO ())
-> (forall b. Ptr b -> Int -> IO (VkShaderModuleCreateBitmask a))
-> (forall b.
    Ptr b -> Int -> VkShaderModuleCreateBitmask a -> IO ())
-> (Ptr (VkShaderModuleCreateBitmask a)
    -> IO (VkShaderModuleCreateBitmask a))
-> (Ptr (VkShaderModuleCreateBitmask a)
    -> VkShaderModuleCreateBitmask a -> IO ())
-> Storable (VkShaderModuleCreateBitmask a)
forall b. Ptr b -> Int -> IO (VkShaderModuleCreateBitmask a)
forall b. Ptr b -> Int -> VkShaderModuleCreateBitmask 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 (VkShaderModuleCreateBitmask a)
-> IO (VkShaderModuleCreateBitmask a)
forall (a :: FlagType).
Ptr (VkShaderModuleCreateBitmask a)
-> Int -> IO (VkShaderModuleCreateBitmask a)
forall (a :: FlagType).
Ptr (VkShaderModuleCreateBitmask a)
-> Int -> VkShaderModuleCreateBitmask a -> IO ()
forall (a :: FlagType).
Ptr (VkShaderModuleCreateBitmask a)
-> VkShaderModuleCreateBitmask a -> IO ()
forall (a :: FlagType). VkShaderModuleCreateBitmask a -> Int
forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkShaderModuleCreateBitmask a)
forall (a :: FlagType) b.
Ptr b -> Int -> VkShaderModuleCreateBitmask a -> IO ()
poke :: Ptr (VkShaderModuleCreateBitmask a)
-> VkShaderModuleCreateBitmask a -> IO ()
$cpoke :: forall (a :: FlagType).
Ptr (VkShaderModuleCreateBitmask a)
-> VkShaderModuleCreateBitmask a -> IO ()
peek :: Ptr (VkShaderModuleCreateBitmask a)
-> IO (VkShaderModuleCreateBitmask a)
$cpeek :: forall (a :: FlagType).
Ptr (VkShaderModuleCreateBitmask a)
-> IO (VkShaderModuleCreateBitmask a)
pokeByteOff :: forall b. Ptr b -> Int -> VkShaderModuleCreateBitmask a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkShaderModuleCreateBitmask a -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO (VkShaderModuleCreateBitmask a)
$cpeekByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> IO (VkShaderModuleCreateBitmask a)
pokeElemOff :: Ptr (VkShaderModuleCreateBitmask a)
-> Int -> VkShaderModuleCreateBitmask a -> IO ()
$cpokeElemOff :: forall (a :: FlagType).
Ptr (VkShaderModuleCreateBitmask a)
-> Int -> VkShaderModuleCreateBitmask a -> IO ()
peekElemOff :: Ptr (VkShaderModuleCreateBitmask a)
-> Int -> IO (VkShaderModuleCreateBitmask a)
$cpeekElemOff :: forall (a :: FlagType).
Ptr (VkShaderModuleCreateBitmask a)
-> Int -> IO (VkShaderModuleCreateBitmask a)
alignment :: VkShaderModuleCreateBitmask a -> Int
$calignment :: forall (a :: FlagType). VkShaderModuleCreateBitmask a -> Int
sizeOf :: VkShaderModuleCreateBitmask a -> Int
$csizeOf :: forall (a :: FlagType). VkShaderModuleCreateBitmask a -> Int
Storable)

type VkShaderModuleCreateFlags =
     VkShaderModuleCreateBitmask FlagMask

type VkShaderModuleCreateFlagBits =
     VkShaderModuleCreateBitmask FlagBit

pattern VkShaderModuleCreateFlagBits ::
        VkFlags -> VkShaderModuleCreateBitmask FlagBit

pattern $bVkShaderModuleCreateFlagBits :: VkFlags -> VkShaderModuleCreateBitmask FlagBit
$mVkShaderModuleCreateFlagBits :: forall {r}.
VkShaderModuleCreateBitmask FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkShaderModuleCreateFlagBits n =
        VkShaderModuleCreateBitmask n

pattern VkShaderModuleCreateFlags ::
        VkFlags -> VkShaderModuleCreateBitmask FlagMask

pattern $bVkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateBitmask FlagMask
$mVkShaderModuleCreateFlags :: forall {r}.
VkShaderModuleCreateBitmask FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkShaderModuleCreateFlags n = VkShaderModuleCreateBitmask n

deriving instance Bits (VkShaderModuleCreateBitmask FlagMask)

deriving instance FiniteBits (VkShaderModuleCreateBitmask FlagMask)

instance Show (VkShaderModuleCreateBitmask a) where
    showsPrec :: Int -> VkShaderModuleCreateBitmask a -> ShowS
showsPrec Int
p (VkShaderModuleCreateBitmask VkFlags
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkShaderModuleCreateBitmask " 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 (VkShaderModuleCreateBitmask a) where
    readPrec :: ReadPrec (VkShaderModuleCreateBitmask a)
readPrec
      = ReadPrec (VkShaderModuleCreateBitmask a)
-> ReadPrec (VkShaderModuleCreateBitmask a)
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec (VkShaderModuleCreateBitmask a))]
-> ReadPrec (VkShaderModuleCreateBitmask a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [] ReadPrec (VkShaderModuleCreateBitmask a)
-> ReadPrec (VkShaderModuleCreateBitmask a)
-> ReadPrec (VkShaderModuleCreateBitmask a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec (VkShaderModuleCreateBitmask a)
-> ReadPrec (VkShaderModuleCreateBitmask a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkShaderModuleCreateBitmask") ReadPrec ()
-> ReadPrec (VkShaderModuleCreateBitmask a)
-> ReadPrec (VkShaderModuleCreateBitmask a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (VkFlags -> VkShaderModuleCreateBitmask a
forall (a :: FlagType). VkFlags -> VkShaderModuleCreateBitmask a
VkShaderModuleCreateBitmask (VkFlags -> VkShaderModuleCreateBitmask a)
-> ReadPrec VkFlags -> ReadPrec (VkShaderModuleCreateBitmask 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)))

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
Ord, 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 :: forall b. Ptr b -> Int -> VkShaderStageBitmask a -> IO ()
$cpokeByteOff :: forall (a :: FlagType) b.
Ptr b -> Int -> VkShaderStageBitmask a -> IO ()
peekByteOff :: forall b. 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)

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)

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 :: forall (a :: FlagType). 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 :: forall (a :: FlagType). 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 :: forall (a :: FlagType). 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 :: forall (a :: FlagType). 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 :: forall (a :: FlagType). 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 :: forall (a :: FlagType). 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 :: forall (a :: FlagType). 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 :: forall (a :: FlagType). VkShaderStageBitmask a
$mVK_SHADER_STAGE_ALL :: forall {r} {a :: FlagType}.
VkShaderStageBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_SHADER_STAGE_ALL = VkShaderStageBitmask 2147483647