{-# 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.Descriptor
       (VkDescriptorBindingFlagBitsEXT(..),
        VkDescriptorBindingBitmask(VkDescriptorBindingBitmask,
                                   VkDescriptorBindingFlags, VkDescriptorBindingFlagBits,
                                   VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT,
                                   VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT,
                                   VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT,
                                   VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT),
        VkDescriptorBindingFlags, VkDescriptorBindingFlagBits,
        VkDescriptorPoolCreateBitmask(VkDescriptorPoolCreateBitmask,
                                      VkDescriptorPoolCreateFlags, VkDescriptorPoolCreateFlagBits,
                                      VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT),
        VkDescriptorPoolCreateFlags, VkDescriptorPoolCreateFlagBits,
        VkDescriptorSetLayoutCreateBitmask(VkDescriptorSetLayoutCreateBitmask,
                                           VkDescriptorSetLayoutCreateFlags,
                                           VkDescriptorSetLayoutCreateFlagBits),
        VkDescriptorSetLayoutCreateFlags,
        VkDescriptorSetLayoutCreateFlagBits,
        VkDescriptorType(VkDescriptorType, VK_DESCRIPTOR_TYPE_SAMPLER,
                         VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
                         VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
                         VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,
                         VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,
                         VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
                         VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
                         VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
                         VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC,
                         VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT),
        VkDescriptorUpdateTemplateType(VkDescriptorUpdateTemplateType,
                                       VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET),
        VkDescriptorUpdateTemplateTypeKHR(..))
       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 VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingFlagBitsEXT VkFlags
                                         deriving (VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
(VkDescriptorBindingFlagBitsEXT
 -> VkDescriptorBindingFlagBitsEXT -> Bool)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT -> Bool)
-> Eq VkDescriptorBindingFlagBitsEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
$c/= :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
== :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
$c== :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
Eq, Eq VkDescriptorBindingFlagBitsEXT
Eq VkDescriptorBindingFlagBitsEXT
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT -> Ordering)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT -> Bool)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT -> Bool)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT -> Bool)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT -> Bool)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT)
-> Ord VkDescriptorBindingFlagBitsEXT
VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Ordering
VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
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 :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
$cmin :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
max :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
$cmax :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
>= :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
$c>= :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
> :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
$c> :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
<= :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
$c<= :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
< :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
$c< :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Bool
compare :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Ordering
$ccompare :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> Ordering
Ord, Int -> VkDescriptorBindingFlagBitsEXT
VkDescriptorBindingFlagBitsEXT -> Int
VkDescriptorBindingFlagBitsEXT -> [VkDescriptorBindingFlagBitsEXT]
VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> [VkDescriptorBindingFlagBitsEXT]
VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> [VkDescriptorBindingFlagBitsEXT]
(VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT)
-> (Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT -> Int)
-> (VkDescriptorBindingFlagBitsEXT
    -> [VkDescriptorBindingFlagBitsEXT])
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT
    -> [VkDescriptorBindingFlagBitsEXT])
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT
    -> [VkDescriptorBindingFlagBitsEXT])
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT
    -> [VkDescriptorBindingFlagBitsEXT])
-> Enum VkDescriptorBindingFlagBitsEXT
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 :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> [VkDescriptorBindingFlagBitsEXT]
$cenumFromThenTo :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> [VkDescriptorBindingFlagBitsEXT]
enumFromTo :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> [VkDescriptorBindingFlagBitsEXT]
$cenumFromTo :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> [VkDescriptorBindingFlagBitsEXT]
enumFromThen :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> [VkDescriptorBindingFlagBitsEXT]
$cenumFromThen :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT
-> [VkDescriptorBindingFlagBitsEXT]
enumFrom :: VkDescriptorBindingFlagBitsEXT -> [VkDescriptorBindingFlagBitsEXT]
$cenumFrom :: VkDescriptorBindingFlagBitsEXT -> [VkDescriptorBindingFlagBitsEXT]
fromEnum :: VkDescriptorBindingFlagBitsEXT -> Int
$cfromEnum :: VkDescriptorBindingFlagBitsEXT -> Int
toEnum :: Int -> VkDescriptorBindingFlagBitsEXT
$ctoEnum :: Int -> VkDescriptorBindingFlagBitsEXT
pred :: VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
$cpred :: VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
succ :: VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
$csucc :: VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
Enum, Eq VkDescriptorBindingFlagBitsEXT
VkDescriptorBindingFlagBitsEXT
Eq VkDescriptorBindingFlagBitsEXT
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> VkDescriptorBindingFlagBitsEXT
-> (Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT -> Int -> Bool)
-> (VkDescriptorBindingFlagBitsEXT -> Maybe Int)
-> (VkDescriptorBindingFlagBitsEXT -> Int)
-> (VkDescriptorBindingFlagBitsEXT -> Bool)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT)
-> (VkDescriptorBindingFlagBitsEXT -> Int)
-> Bits VkDescriptorBindingFlagBitsEXT
Int -> VkDescriptorBindingFlagBitsEXT
VkDescriptorBindingFlagBitsEXT -> Bool
VkDescriptorBindingFlagBitsEXT -> Int
VkDescriptorBindingFlagBitsEXT -> Maybe Int
VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
VkDescriptorBindingFlagBitsEXT -> Int -> Bool
VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
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 :: VkDescriptorBindingFlagBitsEXT -> Int
$cpopCount :: VkDescriptorBindingFlagBitsEXT -> Int
rotateR :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$crotateR :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
rotateL :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$crotateL :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
unsafeShiftR :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$cunsafeShiftR :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
shiftR :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$cshiftR :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
unsafeShiftL :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$cunsafeShiftL :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
shiftL :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$cshiftL :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
isSigned :: VkDescriptorBindingFlagBitsEXT -> Bool
$cisSigned :: VkDescriptorBindingFlagBitsEXT -> Bool
bitSize :: VkDescriptorBindingFlagBitsEXT -> Int
$cbitSize :: VkDescriptorBindingFlagBitsEXT -> Int
bitSizeMaybe :: VkDescriptorBindingFlagBitsEXT -> Maybe Int
$cbitSizeMaybe :: VkDescriptorBindingFlagBitsEXT -> Maybe Int
testBit :: VkDescriptorBindingFlagBitsEXT -> Int -> Bool
$ctestBit :: VkDescriptorBindingFlagBitsEXT -> Int -> Bool
complementBit :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$ccomplementBit :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
clearBit :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$cclearBit :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
setBit :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$csetBit :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
bit :: Int -> VkDescriptorBindingFlagBitsEXT
$cbit :: Int -> VkDescriptorBindingFlagBitsEXT
zeroBits :: VkDescriptorBindingFlagBitsEXT
$czeroBits :: VkDescriptorBindingFlagBitsEXT
rotate :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$crotate :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
shift :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
$cshift :: VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT
complement :: VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
$ccomplement :: VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
xor :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
$cxor :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
.|. :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
$c.|. :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
.&. :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
$c.&. :: VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> VkDescriptorBindingFlagBitsEXT
Bits, Bits VkDescriptorBindingFlagBitsEXT
Bits VkDescriptorBindingFlagBitsEXT
-> (VkDescriptorBindingFlagBitsEXT -> Int)
-> (VkDescriptorBindingFlagBitsEXT -> Int)
-> (VkDescriptorBindingFlagBitsEXT -> Int)
-> FiniteBits VkDescriptorBindingFlagBitsEXT
VkDescriptorBindingFlagBitsEXT -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: VkDescriptorBindingFlagBitsEXT -> Int
$ccountTrailingZeros :: VkDescriptorBindingFlagBitsEXT -> Int
countLeadingZeros :: VkDescriptorBindingFlagBitsEXT -> Int
$ccountLeadingZeros :: VkDescriptorBindingFlagBitsEXT -> Int
finiteBitSize :: VkDescriptorBindingFlagBitsEXT -> Int
$cfiniteBitSize :: VkDescriptorBindingFlagBitsEXT -> Int
FiniteBits, Ptr VkDescriptorBindingFlagBitsEXT
-> IO VkDescriptorBindingFlagBitsEXT
Ptr VkDescriptorBindingFlagBitsEXT
-> Int -> IO VkDescriptorBindingFlagBitsEXT
Ptr VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT -> IO ()
Ptr VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> IO ()
VkDescriptorBindingFlagBitsEXT -> Int
(VkDescriptorBindingFlagBitsEXT -> Int)
-> (VkDescriptorBindingFlagBitsEXT -> Int)
-> (Ptr VkDescriptorBindingFlagBitsEXT
    -> Int -> IO VkDescriptorBindingFlagBitsEXT)
-> (Ptr VkDescriptorBindingFlagBitsEXT
    -> Int -> VkDescriptorBindingFlagBitsEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO VkDescriptorBindingFlagBitsEXT)
-> (forall b.
    Ptr b -> Int -> VkDescriptorBindingFlagBitsEXT -> IO ())
-> (Ptr VkDescriptorBindingFlagBitsEXT
    -> IO VkDescriptorBindingFlagBitsEXT)
-> (Ptr VkDescriptorBindingFlagBitsEXT
    -> VkDescriptorBindingFlagBitsEXT -> IO ())
-> Storable VkDescriptorBindingFlagBitsEXT
forall b. Ptr b -> Int -> IO VkDescriptorBindingFlagBitsEXT
forall b. Ptr b -> Int -> VkDescriptorBindingFlagBitsEXT -> 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 VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> IO ()
$cpoke :: Ptr VkDescriptorBindingFlagBitsEXT
-> VkDescriptorBindingFlagBitsEXT -> IO ()
peek :: Ptr VkDescriptorBindingFlagBitsEXT
-> IO VkDescriptorBindingFlagBitsEXT
$cpeek :: Ptr VkDescriptorBindingFlagBitsEXT
-> IO VkDescriptorBindingFlagBitsEXT
pokeByteOff :: forall b. Ptr b -> Int -> VkDescriptorBindingFlagBitsEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkDescriptorBindingFlagBitsEXT -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkDescriptorBindingFlagBitsEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkDescriptorBindingFlagBitsEXT
pokeElemOff :: Ptr VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT -> IO ()
$cpokeElemOff :: Ptr VkDescriptorBindingFlagBitsEXT
-> Int -> VkDescriptorBindingFlagBitsEXT -> IO ()
peekElemOff :: Ptr VkDescriptorBindingFlagBitsEXT
-> Int -> IO VkDescriptorBindingFlagBitsEXT
$cpeekElemOff :: Ptr VkDescriptorBindingFlagBitsEXT
-> Int -> IO VkDescriptorBindingFlagBitsEXT
alignment :: VkDescriptorBindingFlagBitsEXT -> Int
$calignment :: VkDescriptorBindingFlagBitsEXT -> Int
sizeOf :: VkDescriptorBindingFlagBitsEXT -> Int
$csizeOf :: VkDescriptorBindingFlagBitsEXT -> Int
Storable)

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

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

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

type VkDescriptorBindingFlags = VkDescriptorBindingBitmask FlagMask

type VkDescriptorBindingFlagBits =
     VkDescriptorBindingBitmask FlagBit

pattern VkDescriptorBindingFlagBits ::
        VkFlags -> VkDescriptorBindingBitmask FlagBit

pattern $bVkDescriptorBindingFlagBits :: VkFlags -> VkDescriptorBindingBitmask FlagBit
$mVkDescriptorBindingFlagBits :: forall {r}.
VkDescriptorBindingBitmask FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkDescriptorBindingFlagBits n =
        VkDescriptorBindingBitmask n

pattern VkDescriptorBindingFlags ::
        VkFlags -> VkDescriptorBindingBitmask FlagMask

pattern $bVkDescriptorBindingFlags :: VkFlags -> VkDescriptorBindingBitmask FlagMask
$mVkDescriptorBindingFlags :: forall {r}.
VkDescriptorBindingBitmask FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkDescriptorBindingFlags n = VkDescriptorBindingBitmask n

deriving instance Bits (VkDescriptorBindingBitmask FlagMask)

deriving instance FiniteBits (VkDescriptorBindingBitmask FlagMask)

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

pattern $bVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: forall (a :: FlagType). VkDescriptorBindingBitmask a
$mVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT :: forall {r} {a :: FlagType}.
VkDescriptorBindingBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT =
        VkDescriptorBindingBitmask 1

-- | bitpos = @1@
pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT ::
        VkDescriptorBindingBitmask a

pattern $bVK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: forall (a :: FlagType). VkDescriptorBindingBitmask a
$mVK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT :: forall {r} {a :: FlagType}.
VkDescriptorBindingBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT =
        VkDescriptorBindingBitmask 2

-- | bitpos = @2@
pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT ::
        VkDescriptorBindingBitmask a

pattern $bVK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: forall (a :: FlagType). VkDescriptorBindingBitmask a
$mVK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT :: forall {r} {a :: FlagType}.
VkDescriptorBindingBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT =
        VkDescriptorBindingBitmask 4

-- | bitpos = @3@
pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT ::
        VkDescriptorBindingBitmask a

pattern $bVK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: forall (a :: FlagType). VkDescriptorBindingBitmask a
$mVK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT :: forall {r} {a :: FlagType}.
VkDescriptorBindingBitmask a -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT =
        VkDescriptorBindingBitmask 8

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

type VkDescriptorPoolCreateFlags =
     VkDescriptorPoolCreateBitmask FlagMask

type VkDescriptorPoolCreateFlagBits =
     VkDescriptorPoolCreateBitmask FlagBit

pattern VkDescriptorPoolCreateFlagBits ::
        VkFlags -> VkDescriptorPoolCreateBitmask FlagBit

pattern $bVkDescriptorPoolCreateFlagBits :: VkFlags -> VkDescriptorPoolCreateBitmask FlagBit
$mVkDescriptorPoolCreateFlagBits :: forall {r}.
VkDescriptorPoolCreateBitmask FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkDescriptorPoolCreateFlagBits n =
        VkDescriptorPoolCreateBitmask n

pattern VkDescriptorPoolCreateFlags ::
        VkFlags -> VkDescriptorPoolCreateBitmask FlagMask

pattern $bVkDescriptorPoolCreateFlags :: VkFlags -> VkDescriptorPoolCreateBitmask FlagMask
$mVkDescriptorPoolCreateFlags :: forall {r}.
VkDescriptorPoolCreateBitmask FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkDescriptorPoolCreateFlags n =
        VkDescriptorPoolCreateBitmask n

deriving instance Bits (VkDescriptorPoolCreateBitmask FlagMask)

deriving instance
         FiniteBits (VkDescriptorPoolCreateBitmask FlagMask)

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

-- | Descriptor sets may be freed individually
--
--   bitpos = @0@
pattern VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT ::
        VkDescriptorPoolCreateBitmask a

pattern $bVK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: forall (a :: FlagType). VkDescriptorPoolCreateBitmask a
$mVK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT :: forall {r} {a :: FlagType}.
VkDescriptorPoolCreateBitmask a
-> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT =
        VkDescriptorPoolCreateBitmask 1

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

type VkDescriptorSetLayoutCreateFlags =
     VkDescriptorSetLayoutCreateBitmask FlagMask

type VkDescriptorSetLayoutCreateFlagBits =
     VkDescriptorSetLayoutCreateBitmask FlagBit

pattern VkDescriptorSetLayoutCreateFlagBits ::
        VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit

pattern $bVkDescriptorSetLayoutCreateFlagBits :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagBit
$mVkDescriptorSetLayoutCreateFlagBits :: forall {r}.
VkDescriptorSetLayoutCreateBitmask FlagBit
-> (VkFlags -> r) -> (Void# -> r) -> r
VkDescriptorSetLayoutCreateFlagBits n =
        VkDescriptorSetLayoutCreateBitmask n

pattern VkDescriptorSetLayoutCreateFlags ::
        VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask

pattern $bVkDescriptorSetLayoutCreateFlags :: VkFlags -> VkDescriptorSetLayoutCreateBitmask FlagMask
$mVkDescriptorSetLayoutCreateFlags :: forall {r}.
VkDescriptorSetLayoutCreateBitmask FlagMask
-> (VkFlags -> r) -> (Void# -> r) -> r
VkDescriptorSetLayoutCreateFlags n =
        VkDescriptorSetLayoutCreateBitmask n

deriving instance
         Bits (VkDescriptorSetLayoutCreateBitmask FlagMask)

deriving instance
         FiniteBits (VkDescriptorSetLayoutCreateBitmask FlagMask)

instance Show (VkDescriptorSetLayoutCreateBitmask a) where
    showsPrec :: Int -> VkDescriptorSetLayoutCreateBitmask a -> ShowS
showsPrec Int
p (VkDescriptorSetLayoutCreateBitmask VkFlags
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkDescriptorSetLayoutCreateBitmask " 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 (VkDescriptorSetLayoutCreateBitmask a) where
    readPrec :: ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
readPrec
      = ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
-> ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec (VkDescriptorSetLayoutCreateBitmask a))]
-> ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [] ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
-> ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
-> ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int
-> ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
-> ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkDescriptorSetLayoutCreateBitmask") ReadPrec ()
-> ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
-> ReadPrec (VkDescriptorSetLayoutCreateBitmask a)
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (VkFlags -> VkDescriptorSetLayoutCreateBitmask a
forall (a :: FlagType).
VkFlags -> VkDescriptorSetLayoutCreateBitmask a
VkDescriptorSetLayoutCreateBitmask (VkFlags -> VkDescriptorSetLayoutCreateBitmask a)
-> ReadPrec VkFlags
-> ReadPrec (VkDescriptorSetLayoutCreateBitmask 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#VkDescriptorType VkDescriptorType registry at www.khronos.org>
newtype VkDescriptorType = VkDescriptorType Int32
                           deriving (VkDescriptorType -> VkDescriptorType -> Bool
(VkDescriptorType -> VkDescriptorType -> Bool)
-> (VkDescriptorType -> VkDescriptorType -> Bool)
-> Eq VkDescriptorType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: VkDescriptorType -> VkDescriptorType -> Bool
$c/= :: VkDescriptorType -> VkDescriptorType -> Bool
== :: VkDescriptorType -> VkDescriptorType -> Bool
$c== :: VkDescriptorType -> VkDescriptorType -> Bool
Eq, Eq VkDescriptorType
Eq VkDescriptorType
-> (VkDescriptorType -> VkDescriptorType -> Ordering)
-> (VkDescriptorType -> VkDescriptorType -> Bool)
-> (VkDescriptorType -> VkDescriptorType -> Bool)
-> (VkDescriptorType -> VkDescriptorType -> Bool)
-> (VkDescriptorType -> VkDescriptorType -> Bool)
-> (VkDescriptorType -> VkDescriptorType -> VkDescriptorType)
-> (VkDescriptorType -> VkDescriptorType -> VkDescriptorType)
-> Ord VkDescriptorType
VkDescriptorType -> VkDescriptorType -> Bool
VkDescriptorType -> VkDescriptorType -> Ordering
VkDescriptorType -> VkDescriptorType -> VkDescriptorType
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 :: VkDescriptorType -> VkDescriptorType -> VkDescriptorType
$cmin :: VkDescriptorType -> VkDescriptorType -> VkDescriptorType
max :: VkDescriptorType -> VkDescriptorType -> VkDescriptorType
$cmax :: VkDescriptorType -> VkDescriptorType -> VkDescriptorType
>= :: VkDescriptorType -> VkDescriptorType -> Bool
$c>= :: VkDescriptorType -> VkDescriptorType -> Bool
> :: VkDescriptorType -> VkDescriptorType -> Bool
$c> :: VkDescriptorType -> VkDescriptorType -> Bool
<= :: VkDescriptorType -> VkDescriptorType -> Bool
$c<= :: VkDescriptorType -> VkDescriptorType -> Bool
< :: VkDescriptorType -> VkDescriptorType -> Bool
$c< :: VkDescriptorType -> VkDescriptorType -> Bool
compare :: VkDescriptorType -> VkDescriptorType -> Ordering
$ccompare :: VkDescriptorType -> VkDescriptorType -> Ordering
Ord, Int -> VkDescriptorType
VkDescriptorType -> Int
VkDescriptorType -> [VkDescriptorType]
VkDescriptorType -> VkDescriptorType
VkDescriptorType -> VkDescriptorType -> [VkDescriptorType]
VkDescriptorType
-> VkDescriptorType -> VkDescriptorType -> [VkDescriptorType]
(VkDescriptorType -> VkDescriptorType)
-> (VkDescriptorType -> VkDescriptorType)
-> (Int -> VkDescriptorType)
-> (VkDescriptorType -> Int)
-> (VkDescriptorType -> [VkDescriptorType])
-> (VkDescriptorType -> VkDescriptorType -> [VkDescriptorType])
-> (VkDescriptorType -> VkDescriptorType -> [VkDescriptorType])
-> (VkDescriptorType
    -> VkDescriptorType -> VkDescriptorType -> [VkDescriptorType])
-> Enum VkDescriptorType
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 :: VkDescriptorType
-> VkDescriptorType -> VkDescriptorType -> [VkDescriptorType]
$cenumFromThenTo :: VkDescriptorType
-> VkDescriptorType -> VkDescriptorType -> [VkDescriptorType]
enumFromTo :: VkDescriptorType -> VkDescriptorType -> [VkDescriptorType]
$cenumFromTo :: VkDescriptorType -> VkDescriptorType -> [VkDescriptorType]
enumFromThen :: VkDescriptorType -> VkDescriptorType -> [VkDescriptorType]
$cenumFromThen :: VkDescriptorType -> VkDescriptorType -> [VkDescriptorType]
enumFrom :: VkDescriptorType -> [VkDescriptorType]
$cenumFrom :: VkDescriptorType -> [VkDescriptorType]
fromEnum :: VkDescriptorType -> Int
$cfromEnum :: VkDescriptorType -> Int
toEnum :: Int -> VkDescriptorType
$ctoEnum :: Int -> VkDescriptorType
pred :: VkDescriptorType -> VkDescriptorType
$cpred :: VkDescriptorType -> VkDescriptorType
succ :: VkDescriptorType -> VkDescriptorType
$csucc :: VkDescriptorType -> VkDescriptorType
Enum, Ptr VkDescriptorType -> IO VkDescriptorType
Ptr VkDescriptorType -> Int -> IO VkDescriptorType
Ptr VkDescriptorType -> Int -> VkDescriptorType -> IO ()
Ptr VkDescriptorType -> VkDescriptorType -> IO ()
VkDescriptorType -> Int
(VkDescriptorType -> Int)
-> (VkDescriptorType -> Int)
-> (Ptr VkDescriptorType -> Int -> IO VkDescriptorType)
-> (Ptr VkDescriptorType -> Int -> VkDescriptorType -> IO ())
-> (forall b. Ptr b -> Int -> IO VkDescriptorType)
-> (forall b. Ptr b -> Int -> VkDescriptorType -> IO ())
-> (Ptr VkDescriptorType -> IO VkDescriptorType)
-> (Ptr VkDescriptorType -> VkDescriptorType -> IO ())
-> Storable VkDescriptorType
forall b. Ptr b -> Int -> IO VkDescriptorType
forall b. Ptr b -> Int -> VkDescriptorType -> 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 VkDescriptorType -> VkDescriptorType -> IO ()
$cpoke :: Ptr VkDescriptorType -> VkDescriptorType -> IO ()
peek :: Ptr VkDescriptorType -> IO VkDescriptorType
$cpeek :: Ptr VkDescriptorType -> IO VkDescriptorType
pokeByteOff :: forall b. Ptr b -> Int -> VkDescriptorType -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> VkDescriptorType -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO VkDescriptorType
$cpeekByteOff :: forall b. Ptr b -> Int -> IO VkDescriptorType
pokeElemOff :: Ptr VkDescriptorType -> Int -> VkDescriptorType -> IO ()
$cpokeElemOff :: Ptr VkDescriptorType -> Int -> VkDescriptorType -> IO ()
peekElemOff :: Ptr VkDescriptorType -> Int -> IO VkDescriptorType
$cpeekElemOff :: Ptr VkDescriptorType -> Int -> IO VkDescriptorType
alignment :: VkDescriptorType -> Int
$calignment :: VkDescriptorType -> Int
sizeOf :: VkDescriptorType -> Int
$csizeOf :: VkDescriptorType -> Int
Storable)

instance Show VkDescriptorType where
    showsPrec :: Int -> VkDescriptorType -> ShowS
showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_SAMPLER
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_SAMPLER"
    showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"
    showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"
    showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_STORAGE_IMAGE
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"
    showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"
    showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"
    showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"
    showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"
    showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"
    showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"
    showsPrec Int
_ VkDescriptorType
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
      = String -> ShowS
showString String
"VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"
    showsPrec Int
p (VkDescriptorType Int32
x)
      = Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= Int
11)
          (String -> ShowS
showString String
"VkDescriptorType " 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 VkDescriptorType where
    readPrec :: ReadPrec VkDescriptorType
readPrec
      = ReadPrec VkDescriptorType -> ReadPrec VkDescriptorType
forall a. ReadPrec a -> ReadPrec a
parens
          ([(String, ReadPrec VkDescriptorType)] -> ReadPrec VkDescriptorType
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose
             [(String
"VK_DESCRIPTOR_TYPE_SAMPLER", VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_SAMPLER),
              (String
"VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",
               VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER),
              (String
"VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",
               VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE),
              (String
"VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",
               VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_STORAGE_IMAGE),
              (String
"VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER",
               VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER),
              (String
"VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER",
               VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER),
              (String
"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",
               VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER),
              (String
"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",
               VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER),
              (String
"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",
               VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC),
              (String
"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",
               VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC),
              (String
"VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT",
               VkDescriptorType -> ReadPrec VkDescriptorType
forall (f :: * -> *) a. Applicative f => a -> f a
pure VkDescriptorType
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT)]
             ReadPrec VkDescriptorType
-> ReadPrec VkDescriptorType -> ReadPrec VkDescriptorType
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
             Int -> ReadPrec VkDescriptorType -> ReadPrec VkDescriptorType
forall a. Int -> ReadPrec a -> ReadPrec a
prec Int
10
               (Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident String
"VkDescriptorType") ReadPrec ()
-> ReadPrec VkDescriptorType -> ReadPrec VkDescriptorType
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>>
                  (Int32 -> VkDescriptorType
VkDescriptorType (Int32 -> VkDescriptorType)
-> ReadPrec Int32 -> ReadPrec VkDescriptorType
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_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_SAMPLER :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_SAMPLER :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_SAMPLER = VkDescriptorType 0

pattern VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER ::
        VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER =
        VkDescriptorType 1

pattern VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_SAMPLED_IMAGE :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE = VkDescriptorType 2

pattern VK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_STORAGE_IMAGE :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_STORAGE_IMAGE = VkDescriptorType 3

pattern VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER =
        VkDescriptorType 4

pattern VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER =
        VkDescriptorType 5

pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER = VkDescriptorType 6

pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_STORAGE_BUFFER :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER = VkDescriptorType 7

pattern VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC ::
        VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC =
        VkDescriptorType 8

pattern VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC ::
        VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC =
        VkDescriptorType 9

pattern VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType

pattern $bVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: VkDescriptorType
$mVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT :: forall {r}. VkDescriptorType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = VkDescriptorType 10

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

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

-- | Create descriptor update template for descriptor set updates
pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET ::
        VkDescriptorUpdateTemplateType

pattern $bVK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: VkDescriptorUpdateTemplateType
$mVK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET :: forall {r}.
VkDescriptorUpdateTemplateType -> (Void# -> r) -> (Void# -> r) -> r
VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET =
        VkDescriptorUpdateTemplateType 0

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

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

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