{-# LINE 1 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MagicHash             #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeApplications      #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.Descriptor
       (VkDescriptorBufferInfo(..), VkDescriptorImageInfo(..),
        VkDescriptorPoolCreateInfo(..), VkDescriptorPoolSize(..),
        VkDescriptorSetAllocateInfo(..), VkDescriptorSetLayoutBinding(..),
        VkDescriptorSetLayoutBindingFlagsCreateInfoEXT(..),
        VkDescriptorSetLayoutCreateInfo(..),
        VkDescriptorSetLayoutSupport(..), VkDescriptorSetLayoutSupportKHR,
        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT(..),
        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT(..),
        VkDescriptorUpdateTemplateCreateInfo(..),
        VkDescriptorUpdateTemplateCreateInfoKHR,
        VkDescriptorUpdateTemplateEntry(..),
        VkDescriptorUpdateTemplateEntryKHR)
       where
import           Foreign.Storable                         (Storable (..))
import           GHC.Base                                 (Addr#, ByteArray#,
                                                           byteArrayContents#,
                                                           plusAddr#)
import           Graphics.Vulkan.Marshal
import           Graphics.Vulkan.Marshal.Internal
import           Graphics.Vulkan.Types.BaseTypes          (VkBool32,
                                                           VkDeviceSize)
import           Graphics.Vulkan.Types.Bitmasks           (VkDescriptorUpdateTemplateCreateFlags)
import           Graphics.Vulkan.Types.Enum.Descriptor    (VkDescriptorBindingFlagsEXT,
                                                           VkDescriptorPoolCreateFlags,
                                                           VkDescriptorSetLayoutCreateFlags,
                                                           VkDescriptorType,
                                                           VkDescriptorUpdateTemplateType)
import           Graphics.Vulkan.Types.Enum.Image         (VkImageLayout)
import           Graphics.Vulkan.Types.Enum.Pipeline      (VkPipelineBindPoint)
import           Graphics.Vulkan.Types.Enum.Shader        (VkShaderStageFlags)
import           Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import           Graphics.Vulkan.Types.Handles            (VkBuffer,
                                                           VkDescriptorPool,
                                                           VkDescriptorSetLayout,
                                                           VkImageView,
                                                           VkPipelineLayout,
                                                           VkSampler)
import           System.IO.Unsafe                         (unsafeDupablePerformIO)

-- | > typedef struct VkDescriptorBufferInfo {
--   >     VkBuffer               buffer;
--   >     VkDeviceSize           offset;
--   >     VkDeviceSize           range;
--   > } VkDescriptorBufferInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorBufferInfo VkDescriptorBufferInfo registry at www.khronos.org>
data VkDescriptorBufferInfo = VkDescriptorBufferInfo# Addr#
                                                      ByteArray#

instance Eq VkDescriptorBufferInfo where
        (VkDescriptorBufferInfo# Addr#
a ByteArray#
_) == :: VkDescriptorBufferInfo -> VkDescriptorBufferInfo -> Bool
== x :: VkDescriptorBufferInfo
x@(VkDescriptorBufferInfo# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorBufferInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorBufferInfo
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorBufferInfo where
        (VkDescriptorBufferInfo# Addr#
a ByteArray#
_) compare :: VkDescriptorBufferInfo -> VkDescriptorBufferInfo -> Ordering
`compare`
          x :: VkDescriptorBufferInfo
x@(VkDescriptorBufferInfo# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorBufferInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorBufferInfo
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorBufferInfo where
        sizeOf :: VkDescriptorBufferInfo -> Int
sizeOf ~VkDescriptorBufferInfo
_ = (Int
24)
{-# LINE 74 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorBufferInfo -> Int
alignment ~VkDescriptorBufferInfo
_ = Int
8
{-# LINE 77 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorBufferInfo -> IO VkDescriptorBufferInfo
peek = Ptr VkDescriptorBufferInfo -> IO VkDescriptorBufferInfo
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorBufferInfo -> VkDescriptorBufferInfo -> IO ()
poke = Ptr VkDescriptorBufferInfo -> VkDescriptorBufferInfo -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkDescriptorBufferInfo where
        unsafeAddr :: VkDescriptorBufferInfo -> Addr#
unsafeAddr (VkDescriptorBufferInfo# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorBufferInfo -> ByteArray#
unsafeByteArray (VkDescriptorBufferInfo# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkDescriptorBufferInfo
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkDescriptorBufferInfo
VkDescriptorBufferInfo# (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off) ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDescriptorBufferInfo where
        type StructFields VkDescriptorBufferInfo =
             '["buffer", "offset", "range"] -- ' closing tick for hsc2hs
        type CUnionType VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorBufferInfo = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "buffer" VkDescriptorBufferInfo where
        type FieldType "buffer" VkDescriptorBufferInfo = VkBuffer
        type FieldOptional "buffer" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "buffer" VkDescriptorBufferInfo =
             (0)
{-# LINE 111 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "buffer" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset = (Int
0)
{-# LINE 118 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "buffer" VkDescriptorBufferInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorBufferInfo -> FieldType "buffer" VkDescriptorBufferInfo
getField VkDescriptorBufferInfo
x
          = IO VkBuffer -> VkBuffer
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorBufferInfo -> Int -> IO VkBuffer
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorBufferInfo -> Ptr VkDescriptorBufferInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorBufferInfo
x) (Int
0))
{-# LINE 125 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorBufferInfo
-> IO (FieldType "buffer" VkDescriptorBufferInfo)
readField Ptr VkDescriptorBufferInfo
p
          = Ptr VkDescriptorBufferInfo -> Int -> IO VkBuffer
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorBufferInfo
p (Int
0)
{-# LINE 129 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "buffer" VkDescriptorBufferInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorBufferInfo
-> FieldType "buffer" VkDescriptorBufferInfo -> IO ()
writeField Ptr VkDescriptorBufferInfo
p
          = Ptr VkDescriptorBufferInfo -> Int -> VkBuffer -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorBufferInfo
p (Int
0)
{-# LINE 135 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "offset" VkDescriptorBufferInfo where
        type FieldType "offset" VkDescriptorBufferInfo = VkDeviceSize
        type FieldOptional "offset" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "offset" VkDescriptorBufferInfo =
             (8)
{-# LINE 142 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "offset" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset = (Int
8)
{-# LINE 149 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "offset" VkDescriptorBufferInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorBufferInfo -> FieldType "offset" VkDescriptorBufferInfo
getField VkDescriptorBufferInfo
x
          = IO VkDeviceSize -> VkDeviceSize
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorBufferInfo -> Int -> IO VkDeviceSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorBufferInfo -> Ptr VkDescriptorBufferInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorBufferInfo
x) (Int
8))
{-# LINE 156 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorBufferInfo
-> IO (FieldType "offset" VkDescriptorBufferInfo)
readField Ptr VkDescriptorBufferInfo
p
          = Ptr VkDescriptorBufferInfo -> Int -> IO VkDeviceSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorBufferInfo
p (Int
8)
{-# LINE 160 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "offset" VkDescriptorBufferInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorBufferInfo
-> FieldType "offset" VkDescriptorBufferInfo -> IO ()
writeField Ptr VkDescriptorBufferInfo
p
          = Ptr VkDescriptorBufferInfo -> Int -> VkDeviceSize -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorBufferInfo
p (Int
8)
{-# LINE 166 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "range" VkDescriptorBufferInfo where
        type FieldType "range" VkDescriptorBufferInfo = VkDeviceSize
        type FieldOptional "range" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "range" VkDescriptorBufferInfo =
             (16)
{-# LINE 173 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "range" VkDescriptorBufferInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset = (Int
16)
{-# LINE 180 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "range" VkDescriptorBufferInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorBufferInfo -> FieldType "range" VkDescriptorBufferInfo
getField VkDescriptorBufferInfo
x
          = IO VkDeviceSize -> VkDeviceSize
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorBufferInfo -> Int -> IO VkDeviceSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorBufferInfo -> Ptr VkDescriptorBufferInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorBufferInfo
x) (Int
16))
{-# LINE 187 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorBufferInfo
-> IO (FieldType "range" VkDescriptorBufferInfo)
readField Ptr VkDescriptorBufferInfo
p
          = Ptr VkDescriptorBufferInfo -> Int -> IO VkDeviceSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorBufferInfo
p (Int
16)
{-# LINE 191 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "range" VkDescriptorBufferInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorBufferInfo
-> FieldType "range" VkDescriptorBufferInfo -> IO ()
writeField Ptr VkDescriptorBufferInfo
p
          = Ptr VkDescriptorBufferInfo -> Int -> VkDeviceSize -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorBufferInfo
p (Int
16)
{-# LINE 197 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorBufferInfo where
        showsPrec :: Int -> VkDescriptorBufferInfo -> ShowS
showsPrec Int
d VkDescriptorBufferInfo
x
          = String -> ShowS
showString String
"VkDescriptorBufferInfo {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"buffer = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkBuffer -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorBufferInfo -> FieldType "buffer" VkDescriptorBufferInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"buffer" VkDescriptorBufferInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"offset = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkDeviceSize -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorBufferInfo -> FieldType "offset" VkDescriptorBufferInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"offset" VkDescriptorBufferInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"range = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkDeviceSize -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorBufferInfo -> FieldType "range" VkDescriptorBufferInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"range" VkDescriptorBufferInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDescriptorImageInfo {
--   >     VkSampler       sampler;
--   >     VkImageView     imageView;
--   >     VkImageLayout   imageLayout;
--   > } VkDescriptorImageInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorImageInfo VkDescriptorImageInfo registry at www.khronos.org>
data VkDescriptorImageInfo = VkDescriptorImageInfo# Addr#
                                                    ByteArray#

instance Eq VkDescriptorImageInfo where
        (VkDescriptorImageInfo# Addr#
a ByteArray#
_) == :: VkDescriptorImageInfo -> VkDescriptorImageInfo -> Bool
== x :: VkDescriptorImageInfo
x@(VkDescriptorImageInfo# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorImageInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorImageInfo
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorImageInfo where
        (VkDescriptorImageInfo# Addr#
a ByteArray#
_) compare :: VkDescriptorImageInfo -> VkDescriptorImageInfo -> Ordering
`compare`
          x :: VkDescriptorImageInfo
x@(VkDescriptorImageInfo# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorImageInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorImageInfo
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorImageInfo where
        sizeOf :: VkDescriptorImageInfo -> Int
sizeOf ~VkDescriptorImageInfo
_ = (Int
24)
{-# LINE 234 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorImageInfo -> Int
alignment ~VkDescriptorImageInfo
_ = Int
8
{-# LINE 237 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorImageInfo -> IO VkDescriptorImageInfo
peek = Ptr VkDescriptorImageInfo -> IO VkDescriptorImageInfo
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorImageInfo -> VkDescriptorImageInfo -> IO ()
poke = Ptr VkDescriptorImageInfo -> VkDescriptorImageInfo -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkDescriptorImageInfo where
        unsafeAddr :: VkDescriptorImageInfo -> Addr#
unsafeAddr (VkDescriptorImageInfo# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorImageInfo -> ByteArray#
unsafeByteArray (VkDescriptorImageInfo# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkDescriptorImageInfo
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkDescriptorImageInfo
VkDescriptorImageInfo# (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off) ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDescriptorImageInfo where
        type StructFields VkDescriptorImageInfo =
             '["sampler", "imageView", "imageLayout"] -- ' closing tick for hsc2hs
        type CUnionType VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorImageInfo = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sampler" VkDescriptorImageInfo where
        type FieldType "sampler" VkDescriptorImageInfo = VkSampler
        type FieldOptional "sampler" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sampler" VkDescriptorImageInfo =
             (0)
{-# LINE 271 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "sampler" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset = (Int
0)
{-# LINE 278 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sampler" VkDescriptorImageInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorImageInfo -> FieldType "sampler" VkDescriptorImageInfo
getField VkDescriptorImageInfo
x
          = IO VkSampler -> VkSampler
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorImageInfo -> Int -> IO VkSampler
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorImageInfo -> Ptr VkDescriptorImageInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorImageInfo
x) (Int
0))
{-# LINE 285 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorImageInfo
-> IO (FieldType "sampler" VkDescriptorImageInfo)
readField Ptr VkDescriptorImageInfo
p
          = Ptr VkDescriptorImageInfo -> Int -> IO VkSampler
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorImageInfo
p (Int
0)
{-# LINE 289 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sampler" VkDescriptorImageInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorImageInfo
-> FieldType "sampler" VkDescriptorImageInfo -> IO ()
writeField Ptr VkDescriptorImageInfo
p
          = Ptr VkDescriptorImageInfo -> Int -> VkSampler -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorImageInfo
p (Int
0)
{-# LINE 295 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "imageView" VkDescriptorImageInfo where
        type FieldType "imageView" VkDescriptorImageInfo = VkImageView
        type FieldOptional "imageView" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "imageView" VkDescriptorImageInfo =
             (8)
{-# LINE 302 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "imageView" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 310 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "imageView" VkDescriptorImageInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorImageInfo
-> FieldType "imageView" VkDescriptorImageInfo
getField VkDescriptorImageInfo
x
          = IO VkImageView -> VkImageView
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorImageInfo -> Int -> IO VkImageView
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorImageInfo -> Ptr VkDescriptorImageInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorImageInfo
x) (Int
8))
{-# LINE 317 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorImageInfo
-> IO (FieldType "imageView" VkDescriptorImageInfo)
readField Ptr VkDescriptorImageInfo
p
          = Ptr VkDescriptorImageInfo -> Int -> IO VkImageView
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorImageInfo
p (Int
8)
{-# LINE 321 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "imageView" VkDescriptorImageInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorImageInfo
-> FieldType "imageView" VkDescriptorImageInfo -> IO ()
writeField Ptr VkDescriptorImageInfo
p
          = Ptr VkDescriptorImageInfo -> Int -> VkImageView -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorImageInfo
p (Int
8)
{-# LINE 327 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "imageLayout" VkDescriptorImageInfo where
        type FieldType "imageLayout" VkDescriptorImageInfo = VkImageLayout
        type FieldOptional "imageLayout" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "imageLayout" VkDescriptorImageInfo =
             (16)
{-# LINE 334 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "imageLayout" VkDescriptorImageInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 342 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "imageLayout" VkDescriptorImageInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorImageInfo
-> FieldType "imageLayout" VkDescriptorImageInfo
getField VkDescriptorImageInfo
x
          = IO VkImageLayout -> VkImageLayout
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorImageInfo -> Int -> IO VkImageLayout
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorImageInfo -> Ptr VkDescriptorImageInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorImageInfo
x) (Int
16))
{-# LINE 349 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorImageInfo
-> IO (FieldType "imageLayout" VkDescriptorImageInfo)
readField Ptr VkDescriptorImageInfo
p
          = Ptr VkDescriptorImageInfo -> Int -> IO VkImageLayout
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorImageInfo
p (Int
16)
{-# LINE 353 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "imageLayout" VkDescriptorImageInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorImageInfo
-> FieldType "imageLayout" VkDescriptorImageInfo -> IO ()
writeField Ptr VkDescriptorImageInfo
p
          = Ptr VkDescriptorImageInfo -> Int -> VkImageLayout -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorImageInfo
p (Int
16)
{-# LINE 359 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorImageInfo where
        showsPrec :: Int -> VkDescriptorImageInfo -> ShowS
showsPrec Int
d VkDescriptorImageInfo
x
          = String -> ShowS
showString String
"VkDescriptorImageInfo {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sampler = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkSampler -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorImageInfo -> FieldType "sampler" VkDescriptorImageInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sampler" VkDescriptorImageInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"imageView = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkImageView -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorImageInfo
-> FieldType "imageView" VkDescriptorImageInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"imageView" VkDescriptorImageInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"imageLayout = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkImageLayout -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorImageInfo
-> FieldType "imageLayout" VkDescriptorImageInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"imageLayout" VkDescriptorImageInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDescriptorPoolCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkDescriptorPoolCreateFlags  flags;
--   >     uint32_t               maxSets;
--   >     uint32_t               poolSizeCount;
--   >     const VkDescriptorPoolSize* pPoolSizes;
--   > } VkDescriptorPoolCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo registry at www.khronos.org>
data VkDescriptorPoolCreateInfo = VkDescriptorPoolCreateInfo# Addr#
                                                              ByteArray#

instance Eq VkDescriptorPoolCreateInfo where
        (VkDescriptorPoolCreateInfo# Addr#
a ByteArray#
_) == :: VkDescriptorPoolCreateInfo -> VkDescriptorPoolCreateInfo -> Bool
==
          x :: VkDescriptorPoolCreateInfo
x@(VkDescriptorPoolCreateInfo# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorPoolCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorPoolCreateInfo
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorPoolCreateInfo where
        (VkDescriptorPoolCreateInfo# Addr#
a ByteArray#
_) compare :: VkDescriptorPoolCreateInfo
-> VkDescriptorPoolCreateInfo -> Ordering
`compare`
          x :: VkDescriptorPoolCreateInfo
x@(VkDescriptorPoolCreateInfo# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorPoolCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorPoolCreateInfo
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorPoolCreateInfo where
        sizeOf :: VkDescriptorPoolCreateInfo -> Int
sizeOf ~VkDescriptorPoolCreateInfo
_ = (Int
40)
{-# LINE 400 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorPoolCreateInfo -> Int
alignment ~VkDescriptorPoolCreateInfo
_ = Int
8
{-# LINE 403 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorPoolCreateInfo -> IO VkDescriptorPoolCreateInfo
peek = Ptr VkDescriptorPoolCreateInfo -> IO VkDescriptorPoolCreateInfo
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorPoolCreateInfo
-> VkDescriptorPoolCreateInfo -> IO ()
poke = Ptr VkDescriptorPoolCreateInfo
-> VkDescriptorPoolCreateInfo -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkDescriptorPoolCreateInfo where
        unsafeAddr :: VkDescriptorPoolCreateInfo -> Addr#
unsafeAddr (VkDescriptorPoolCreateInfo# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorPoolCreateInfo -> ByteArray#
unsafeByteArray (VkDescriptorPoolCreateInfo# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkDescriptorPoolCreateInfo
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkDescriptorPoolCreateInfo
VkDescriptorPoolCreateInfo#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDescriptorPoolCreateInfo where
        type StructFields VkDescriptorPoolCreateInfo =
             '["sType", "pNext", "flags", "maxSets", "poolSizeCount", -- ' closing tick for hsc2hs
               "pPoolSizes"]
        type CUnionType VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorPoolCreateInfo = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkDescriptorPoolCreateInfo where
        type FieldType "sType" VkDescriptorPoolCreateInfo = VkStructureType
        type FieldOptional "sType" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType" VkDescriptorPoolCreateInfo =
             (0)
{-# LINE 440 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "sType" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 448 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkDescriptorPoolCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorPoolCreateInfo
-> FieldType "sType" VkDescriptorPoolCreateInfo
getField VkDescriptorPoolCreateInfo
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorPoolCreateInfo -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorPoolCreateInfo -> Ptr VkDescriptorPoolCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorPoolCreateInfo
x) (Int
0))
{-# LINE 455 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorPoolCreateInfo
-> IO (FieldType "sType" VkDescriptorPoolCreateInfo)
readField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
0)
{-# LINE 459 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkDescriptorPoolCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorPoolCreateInfo
-> FieldType "sType" VkDescriptorPoolCreateInfo -> IO ()
writeField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo -> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
0)
{-# LINE 465 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkDescriptorPoolCreateInfo where
        type FieldType "pNext" VkDescriptorPoolCreateInfo = Ptr Void
        type FieldOptional "pNext" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext" VkDescriptorPoolCreateInfo =
             (8)
{-# LINE 472 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pNext" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 480 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkDescriptorPoolCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorPoolCreateInfo
-> FieldType "pNext" VkDescriptorPoolCreateInfo
getField VkDescriptorPoolCreateInfo
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorPoolCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorPoolCreateInfo -> Ptr VkDescriptorPoolCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorPoolCreateInfo
x) (Int
8))
{-# LINE 487 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorPoolCreateInfo
-> IO (FieldType "pNext" VkDescriptorPoolCreateInfo)
readField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
8)
{-# LINE 491 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkDescriptorPoolCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorPoolCreateInfo
-> FieldType "pNext" VkDescriptorPoolCreateInfo -> IO ()
writeField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo -> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
8)
{-# LINE 497 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkDescriptorPoolCreateInfo where
        type FieldType "flags" VkDescriptorPoolCreateInfo =
             VkDescriptorPoolCreateFlags
        type FieldOptional "flags" VkDescriptorPoolCreateInfo = 'True -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkDescriptorPoolCreateInfo =
             (16)
{-# LINE 505 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "flags" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 513 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkDescriptorPoolCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorPoolCreateInfo
-> FieldType "flags" VkDescriptorPoolCreateInfo
getField VkDescriptorPoolCreateInfo
x
          = IO VkDescriptorPoolCreateFlags -> VkDescriptorPoolCreateFlags
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorPoolCreateInfo
-> Int -> IO VkDescriptorPoolCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorPoolCreateInfo -> Ptr VkDescriptorPoolCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorPoolCreateInfo
x) (Int
16))
{-# LINE 520 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorPoolCreateInfo
-> IO (FieldType "flags" VkDescriptorPoolCreateInfo)
readField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo
-> Int -> IO VkDescriptorPoolCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
16)
{-# LINE 524 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkDescriptorPoolCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorPoolCreateInfo
-> FieldType "flags" VkDescriptorPoolCreateInfo -> IO ()
writeField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo
-> Int -> VkDescriptorPoolCreateFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
16)
{-# LINE 530 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxSets" VkDescriptorPoolCreateInfo where
        type FieldType "maxSets" VkDescriptorPoolCreateInfo = Word32
        type FieldOptional "maxSets" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "maxSets" VkDescriptorPoolCreateInfo =
             (20)
{-# LINE 537 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "maxSets" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
20)
{-# LINE 545 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "maxSets" VkDescriptorPoolCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorPoolCreateInfo
-> FieldType "maxSets" VkDescriptorPoolCreateInfo
getField VkDescriptorPoolCreateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorPoolCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorPoolCreateInfo -> Ptr VkDescriptorPoolCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorPoolCreateInfo
x) (Int
20))
{-# LINE 552 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorPoolCreateInfo
-> IO (FieldType "maxSets" VkDescriptorPoolCreateInfo)
readField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
20)
{-# LINE 556 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxSets" VkDescriptorPoolCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorPoolCreateInfo
-> FieldType "maxSets" VkDescriptorPoolCreateInfo -> IO ()
writeField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
20)
{-# LINE 562 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "poolSizeCount" VkDescriptorPoolCreateInfo where
        type FieldType "poolSizeCount" VkDescriptorPoolCreateInfo = Word32
        type FieldOptional "poolSizeCount" VkDescriptorPoolCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "poolSizeCount" VkDescriptorPoolCreateInfo =
             (24)
{-# LINE 570 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "poolSizeCount" VkDescriptorPoolCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 579 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "poolSizeCount" VkDescriptorPoolCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorPoolCreateInfo
-> FieldType "poolSizeCount" VkDescriptorPoolCreateInfo
getField VkDescriptorPoolCreateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorPoolCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorPoolCreateInfo -> Ptr VkDescriptorPoolCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorPoolCreateInfo
x) (Int
24))
{-# LINE 586 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorPoolCreateInfo
-> IO (FieldType "poolSizeCount" VkDescriptorPoolCreateInfo)
readField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
24)
{-# LINE 590 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "poolSizeCount" VkDescriptorPoolCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorPoolCreateInfo
-> FieldType "poolSizeCount" VkDescriptorPoolCreateInfo -> IO ()
writeField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
24)
{-# LINE 596 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pPoolSizes" VkDescriptorPoolCreateInfo where
        type FieldType "pPoolSizes" VkDescriptorPoolCreateInfo =
             Ptr VkDescriptorPoolSize
        type FieldOptional "pPoolSizes" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pPoolSizes" VkDescriptorPoolCreateInfo =
             (32)
{-# LINE 604 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pPoolSizes" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
32)
{-# LINE 612 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pPoolSizes" VkDescriptorPoolCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorPoolCreateInfo
-> FieldType "pPoolSizes" VkDescriptorPoolCreateInfo
getField VkDescriptorPoolCreateInfo
x
          = IO (Ptr VkDescriptorPoolSize) -> Ptr VkDescriptorPoolSize
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorPoolCreateInfo
-> Int -> IO (Ptr VkDescriptorPoolSize)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorPoolCreateInfo -> Ptr VkDescriptorPoolCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorPoolCreateInfo
x) (Int
32))
{-# LINE 619 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorPoolCreateInfo
-> IO (FieldType "pPoolSizes" VkDescriptorPoolCreateInfo)
readField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo
-> Int -> IO (Ptr VkDescriptorPoolSize)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
32)
{-# LINE 623 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pPoolSizes" VkDescriptorPoolCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorPoolCreateInfo
-> FieldType "pPoolSizes" VkDescriptorPoolCreateInfo -> IO ()
writeField Ptr VkDescriptorPoolCreateInfo
p
          = Ptr VkDescriptorPoolCreateInfo
-> Int -> Ptr VkDescriptorPoolSize -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorPoolCreateInfo
p (Int
32)
{-# LINE 629 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorPoolCreateInfo where
        showsPrec :: Int -> VkDescriptorPoolCreateInfo -> ShowS
showsPrec Int
d VkDescriptorPoolCreateInfo
x
          = String -> ShowS
showString String
"VkDescriptorPoolCreateInfo {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkStructureType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorPoolCreateInfo
-> FieldType "sType" VkDescriptorPoolCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkDescriptorPoolCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"pNext = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr Void -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorPoolCreateInfo
-> FieldType "pNext" VkDescriptorPoolCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkDescriptorPoolCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkDescriptorPoolCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorPoolCreateInfo
-> FieldType "flags" VkDescriptorPoolCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkDescriptorPoolCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                String -> ShowS
showString String
"maxSets = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorPoolCreateInfo
-> FieldType "maxSets" VkDescriptorPoolCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxSets" VkDescriptorPoolCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                    String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                      String -> ShowS
showString String
"poolSizeCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorPoolCreateInfo
-> FieldType "poolSizeCount" VkDescriptorPoolCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"poolSizeCount" VkDescriptorPoolCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                          String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                            String -> ShowS
showString String
"pPoolSizes = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> Ptr VkDescriptorPoolSize -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorPoolCreateInfo
-> FieldType "pPoolSizes" VkDescriptorPoolCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pPoolSizes" VkDescriptorPoolCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDescriptorPoolSize {
--   >     VkDescriptorType       type;
--   >     uint32_t               descriptorCount;
--   > } VkDescriptorPoolSize;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorPoolSize VkDescriptorPoolSize registry at www.khronos.org>
data VkDescriptorPoolSize = VkDescriptorPoolSize# Addr# ByteArray#

instance Eq VkDescriptorPoolSize where
        (VkDescriptorPoolSize# Addr#
a ByteArray#
_) == :: VkDescriptorPoolSize -> VkDescriptorPoolSize -> Bool
== x :: VkDescriptorPoolSize
x@(VkDescriptorPoolSize# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorPoolSize -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorPoolSize
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorPoolSize where
        (VkDescriptorPoolSize# Addr#
a ByteArray#
_) compare :: VkDescriptorPoolSize -> VkDescriptorPoolSize -> Ordering
`compare` x :: VkDescriptorPoolSize
x@(VkDescriptorPoolSize# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorPoolSize -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorPoolSize
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorPoolSize where
        sizeOf :: VkDescriptorPoolSize -> Int
sizeOf ~VkDescriptorPoolSize
_ = (Int
8)
{-# LINE 673 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorPoolSize -> Int
alignment ~VkDescriptorPoolSize
_ = Int
4
{-# LINE 676 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorPoolSize -> IO VkDescriptorPoolSize
peek = Ptr VkDescriptorPoolSize -> IO VkDescriptorPoolSize
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorPoolSize -> VkDescriptorPoolSize -> IO ()
poke = Ptr VkDescriptorPoolSize -> VkDescriptorPoolSize -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkDescriptorPoolSize where
        unsafeAddr :: VkDescriptorPoolSize -> Addr#
unsafeAddr (VkDescriptorPoolSize# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorPoolSize -> ByteArray#
unsafeByteArray (VkDescriptorPoolSize# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkDescriptorPoolSize
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkDescriptorPoolSize
VkDescriptorPoolSize# (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off) ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDescriptorPoolSize where
        type StructFields VkDescriptorPoolSize =
             '["type", "descriptorCount"] -- ' closing tick for hsc2hs
        type CUnionType VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorPoolSize = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-} HasField "type" VkDescriptorPoolSize
         where
        type FieldType "type" VkDescriptorPoolSize = VkDescriptorType
        type FieldOptional "type" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs
        type FieldOffset "type" VkDescriptorPoolSize =
             (0)
{-# LINE 710 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "type" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset = (Int
0)
{-# LINE 717 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "type" VkDescriptorPoolSize where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorPoolSize -> FieldType "type" VkDescriptorPoolSize
getField VkDescriptorPoolSize
x
          = IO VkDescriptorType -> VkDescriptorType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorPoolSize -> Int -> IO VkDescriptorType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorPoolSize -> Ptr VkDescriptorPoolSize
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorPoolSize
x) (Int
0))
{-# LINE 724 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorPoolSize
-> IO (FieldType "type" VkDescriptorPoolSize)
readField Ptr VkDescriptorPoolSize
p
          = Ptr VkDescriptorPoolSize -> Int -> IO VkDescriptorType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorPoolSize
p (Int
0)
{-# LINE 728 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "type" VkDescriptorPoolSize where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorPoolSize
-> FieldType "type" VkDescriptorPoolSize -> IO ()
writeField Ptr VkDescriptorPoolSize
p
          = Ptr VkDescriptorPoolSize -> Int -> VkDescriptorType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorPoolSize
p (Int
0)
{-# LINE 734 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorCount" VkDescriptorPoolSize where
        type FieldType "descriptorCount" VkDescriptorPoolSize = Word32
        type FieldOptional "descriptorCount" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs
        type FieldOffset "descriptorCount" VkDescriptorPoolSize =
             (4)
{-# LINE 741 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "descriptorCount" VkDescriptorPoolSize = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
4)
{-# LINE 749 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "descriptorCount" VkDescriptorPoolSize where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorPoolSize
-> FieldType "descriptorCount" VkDescriptorPoolSize
getField VkDescriptorPoolSize
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorPoolSize -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorPoolSize -> Ptr VkDescriptorPoolSize
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorPoolSize
x) (Int
4))
{-# LINE 756 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorPoolSize
-> IO (FieldType "descriptorCount" VkDescriptorPoolSize)
readField Ptr VkDescriptorPoolSize
p
          = Ptr VkDescriptorPoolSize -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorPoolSize
p (Int
4)
{-# LINE 760 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorCount" VkDescriptorPoolSize where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorPoolSize
-> FieldType "descriptorCount" VkDescriptorPoolSize -> IO ()
writeField Ptr VkDescriptorPoolSize
p
          = Ptr VkDescriptorPoolSize -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorPoolSize
p (Int
4)
{-# LINE 766 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorPoolSize where
        showsPrec :: Int -> VkDescriptorPoolSize -> ShowS
showsPrec Int
d VkDescriptorPoolSize
x
          = String -> ShowS
showString String
"VkDescriptorPoolSize {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"type = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkDescriptorType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorPoolSize -> FieldType "type" VkDescriptorPoolSize
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"type" VkDescriptorPoolSize
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"descriptorCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorPoolSize
-> FieldType "descriptorCount" VkDescriptorPoolSize
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorCount" VkDescriptorPoolSize
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDescriptorSetAllocateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkDescriptorPool       descriptorPool;
--   >     uint32_t               descriptorSetCount;
--   >     const VkDescriptorSetLayout* pSetLayouts;
--   > } VkDescriptorSetAllocateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo registry at www.khronos.org>
data VkDescriptorSetAllocateInfo = VkDescriptorSetAllocateInfo# Addr#
                                                                ByteArray#

instance Eq VkDescriptorSetAllocateInfo where
        (VkDescriptorSetAllocateInfo# Addr#
a ByteArray#
_) == :: VkDescriptorSetAllocateInfo -> VkDescriptorSetAllocateInfo -> Bool
==
          x :: VkDescriptorSetAllocateInfo
x@(VkDescriptorSetAllocateInfo# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetAllocateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetAllocateInfo
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorSetAllocateInfo where
        (VkDescriptorSetAllocateInfo# Addr#
a ByteArray#
_) compare :: VkDescriptorSetAllocateInfo
-> VkDescriptorSetAllocateInfo -> Ordering
`compare`
          x :: VkDescriptorSetAllocateInfo
x@(VkDescriptorSetAllocateInfo# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetAllocateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetAllocateInfo
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorSetAllocateInfo where
        sizeOf :: VkDescriptorSetAllocateInfo -> Int
sizeOf ~VkDescriptorSetAllocateInfo
_ = (Int
40)
{-# LINE 803 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorSetAllocateInfo -> Int
alignment ~VkDescriptorSetAllocateInfo
_ = Int
8
{-# LINE 806 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorSetAllocateInfo -> IO VkDescriptorSetAllocateInfo
peek = Ptr VkDescriptorSetAllocateInfo -> IO VkDescriptorSetAllocateInfo
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorSetAllocateInfo
-> VkDescriptorSetAllocateInfo -> IO ()
poke = Ptr VkDescriptorSetAllocateInfo
-> VkDescriptorSetAllocateInfo -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkDescriptorSetAllocateInfo where
        unsafeAddr :: VkDescriptorSetAllocateInfo -> Addr#
unsafeAddr (VkDescriptorSetAllocateInfo# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorSetAllocateInfo -> ByteArray#
unsafeByteArray (VkDescriptorSetAllocateInfo# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkDescriptorSetAllocateInfo
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkDescriptorSetAllocateInfo
VkDescriptorSetAllocateInfo#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDescriptorSetAllocateInfo where
        type StructFields VkDescriptorSetAllocateInfo =
             '["sType", "pNext", "descriptorPool", "descriptorSetCount", -- ' closing tick for hsc2hs
               "pSetLayouts"]
        type CUnionType VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorSetAllocateInfo = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkDescriptorSetAllocateInfo where
        type FieldType "sType" VkDescriptorSetAllocateInfo =
             VkStructureType
        type FieldOptional "sType" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType" VkDescriptorSetAllocateInfo =
             (0)
{-# LINE 844 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "sType" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 852 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkDescriptorSetAllocateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetAllocateInfo
-> FieldType "sType" VkDescriptorSetAllocateInfo
getField VkDescriptorSetAllocateInfo
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetAllocateInfo -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSetAllocateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetAllocateInfo
x) (Int
0))
{-# LINE 859 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetAllocateInfo
-> IO (FieldType "sType" VkDescriptorSetAllocateInfo)
readField Ptr VkDescriptorSetAllocateInfo
p
          = Ptr VkDescriptorSetAllocateInfo -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetAllocateInfo
p (Int
0)
{-# LINE 863 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkDescriptorSetAllocateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetAllocateInfo
-> FieldType "sType" VkDescriptorSetAllocateInfo -> IO ()
writeField Ptr VkDescriptorSetAllocateInfo
p
          = Ptr VkDescriptorSetAllocateInfo -> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetAllocateInfo
p (Int
0)
{-# LINE 869 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkDescriptorSetAllocateInfo where
        type FieldType "pNext" VkDescriptorSetAllocateInfo = Ptr Void
        type FieldOptional "pNext" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext" VkDescriptorSetAllocateInfo =
             (8)
{-# LINE 876 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pNext" VkDescriptorSetAllocateInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 884 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkDescriptorSetAllocateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetAllocateInfo
-> FieldType "pNext" VkDescriptorSetAllocateInfo
getField VkDescriptorSetAllocateInfo
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetAllocateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSetAllocateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetAllocateInfo
x) (Int
8))
{-# LINE 891 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetAllocateInfo
-> IO (FieldType "pNext" VkDescriptorSetAllocateInfo)
readField Ptr VkDescriptorSetAllocateInfo
p
          = Ptr VkDescriptorSetAllocateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetAllocateInfo
p (Int
8)
{-# LINE 895 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkDescriptorSetAllocateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetAllocateInfo
-> FieldType "pNext" VkDescriptorSetAllocateInfo -> IO ()
writeField Ptr VkDescriptorSetAllocateInfo
p
          = Ptr VkDescriptorSetAllocateInfo -> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetAllocateInfo
p (Int
8)
{-# LINE 901 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorPool" VkDescriptorSetAllocateInfo where
        type FieldType "descriptorPool" VkDescriptorSetAllocateInfo =
             VkDescriptorPool
        type FieldOptional "descriptorPool" VkDescriptorSetAllocateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "descriptorPool" VkDescriptorSetAllocateInfo =
             (16)
{-# LINE 910 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "descriptorPool" VkDescriptorSetAllocateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 919 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "descriptorPool" VkDescriptorSetAllocateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetAllocateInfo
-> FieldType "descriptorPool" VkDescriptorSetAllocateInfo
getField VkDescriptorSetAllocateInfo
x
          = IO VkDescriptorPool -> VkDescriptorPool
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetAllocateInfo -> Int -> IO VkDescriptorPool
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSetAllocateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetAllocateInfo
x) (Int
16))
{-# LINE 926 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetAllocateInfo
-> IO (FieldType "descriptorPool" VkDescriptorSetAllocateInfo)
readField Ptr VkDescriptorSetAllocateInfo
p
          = Ptr VkDescriptorSetAllocateInfo -> Int -> IO VkDescriptorPool
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetAllocateInfo
p (Int
16)
{-# LINE 930 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorPool" VkDescriptorSetAllocateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetAllocateInfo
-> FieldType "descriptorPool" VkDescriptorSetAllocateInfo -> IO ()
writeField Ptr VkDescriptorSetAllocateInfo
p
          = Ptr VkDescriptorSetAllocateInfo -> Int -> VkDescriptorPool -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetAllocateInfo
p (Int
16)
{-# LINE 936 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorSetCount" VkDescriptorSetAllocateInfo where
        type FieldType "descriptorSetCount" VkDescriptorSetAllocateInfo =
             Word32
        type FieldOptional "descriptorSetCount" VkDescriptorSetAllocateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "descriptorSetCount" VkDescriptorSetAllocateInfo =
             (24)
{-# LINE 945 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "descriptorSetCount" VkDescriptorSetAllocateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 954 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "descriptorSetCount" VkDescriptorSetAllocateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetAllocateInfo
-> FieldType "descriptorSetCount" VkDescriptorSetAllocateInfo
getField VkDescriptorSetAllocateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetAllocateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSetAllocateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetAllocateInfo
x) (Int
24))
{-# LINE 961 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetAllocateInfo
-> IO (FieldType "descriptorSetCount" VkDescriptorSetAllocateInfo)
readField Ptr VkDescriptorSetAllocateInfo
p
          = Ptr VkDescriptorSetAllocateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetAllocateInfo
p (Int
24)
{-# LINE 965 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorSetCount" VkDescriptorSetAllocateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetAllocateInfo
-> FieldType "descriptorSetCount" VkDescriptorSetAllocateInfo
-> IO ()
writeField Ptr VkDescriptorSetAllocateInfo
p
          = Ptr VkDescriptorSetAllocateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetAllocateInfo
p (Int
24)
{-# LINE 972 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pSetLayouts" VkDescriptorSetAllocateInfo where
        type FieldType "pSetLayouts" VkDescriptorSetAllocateInfo =
             Ptr VkDescriptorSetLayout
        type FieldOptional "pSetLayouts" VkDescriptorSetAllocateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "pSetLayouts" VkDescriptorSetAllocateInfo =
             (32)
{-# LINE 981 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pSetLayouts" VkDescriptorSetAllocateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
32)
{-# LINE 990 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pSetLayouts" VkDescriptorSetAllocateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetAllocateInfo
-> FieldType "pSetLayouts" VkDescriptorSetAllocateInfo
getField VkDescriptorSetAllocateInfo
x
          = IO (Ptr VkDescriptorSetLayout) -> Ptr VkDescriptorSetLayout
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetAllocateInfo
-> Int -> IO (Ptr VkDescriptorSetLayout)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSetAllocateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetAllocateInfo
x) (Int
32))
{-# LINE 997 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetAllocateInfo
-> IO (FieldType "pSetLayouts" VkDescriptorSetAllocateInfo)
readField Ptr VkDescriptorSetAllocateInfo
p
          = Ptr VkDescriptorSetAllocateInfo
-> Int -> IO (Ptr VkDescriptorSetLayout)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetAllocateInfo
p (Int
32)
{-# LINE 1001 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pSetLayouts" VkDescriptorSetAllocateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetAllocateInfo
-> FieldType "pSetLayouts" VkDescriptorSetAllocateInfo -> IO ()
writeField Ptr VkDescriptorSetAllocateInfo
p
          = Ptr VkDescriptorSetAllocateInfo
-> Int -> Ptr VkDescriptorSetLayout -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetAllocateInfo
p (Int
32)
{-# LINE 1007 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorSetAllocateInfo where
        showsPrec :: Int -> VkDescriptorSetAllocateInfo -> ShowS
showsPrec Int
d VkDescriptorSetAllocateInfo
x
          = String -> ShowS
showString String
"VkDescriptorSetAllocateInfo {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkStructureType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetAllocateInfo
-> FieldType "sType" VkDescriptorSetAllocateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkDescriptorSetAllocateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"pNext = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr Void -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetAllocateInfo
-> FieldType "pNext" VkDescriptorSetAllocateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkDescriptorSetAllocateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"descriptorPool = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkDescriptorPool -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetAllocateInfo
-> FieldType "descriptorPool" VkDescriptorSetAllocateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorPool" VkDescriptorSetAllocateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                String -> ShowS
showString String
"descriptorSetCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetAllocateInfo
-> FieldType "descriptorSetCount" VkDescriptorSetAllocateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorSetCount" VkDescriptorSetAllocateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                    String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                      String -> ShowS
showString String
"pSetLayouts = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkDescriptorSetLayout -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetAllocateInfo
-> FieldType "pSetLayouts" VkDescriptorSetAllocateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pSetLayouts" VkDescriptorSetAllocateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDescriptorSetLayoutBinding {
--   >     uint32_t               binding;
--   >     VkDescriptorType       descriptorType;
--   >     uint32_t descriptorCount;
--   >     VkShaderStageFlags     stageFlags;
--   >     const VkSampler*       pImmutableSamplers;
--   > } VkDescriptorSetLayoutBinding;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding registry at www.khronos.org>
data VkDescriptorSetLayoutBinding = VkDescriptorSetLayoutBinding# Addr#
                                                                  ByteArray#

instance Eq VkDescriptorSetLayoutBinding where
        (VkDescriptorSetLayoutBinding# Addr#
a ByteArray#
_) == :: VkDescriptorSetLayoutBinding
-> VkDescriptorSetLayoutBinding -> Bool
==
          x :: VkDescriptorSetLayoutBinding
x@(VkDescriptorSetLayoutBinding# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetLayoutBinding -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetLayoutBinding
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorSetLayoutBinding where
        (VkDescriptorSetLayoutBinding# Addr#
a ByteArray#
_) compare :: VkDescriptorSetLayoutBinding
-> VkDescriptorSetLayoutBinding -> Ordering
`compare`
          x :: VkDescriptorSetLayoutBinding
x@(VkDescriptorSetLayoutBinding# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetLayoutBinding -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetLayoutBinding
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorSetLayoutBinding where
        sizeOf :: VkDescriptorSetLayoutBinding -> Int
sizeOf ~VkDescriptorSetLayoutBinding
_ = (Int
24)
{-# LINE 1053 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorSetLayoutBinding -> Int
alignment ~VkDescriptorSetLayoutBinding
_
          = Int
8
{-# LINE 1057 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorSetLayoutBinding -> IO VkDescriptorSetLayoutBinding
peek = Ptr VkDescriptorSetLayoutBinding -> IO VkDescriptorSetLayoutBinding
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorSetLayoutBinding
-> VkDescriptorSetLayoutBinding -> IO ()
poke = Ptr VkDescriptorSetLayoutBinding
-> VkDescriptorSetLayoutBinding -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkDescriptorSetLayoutBinding where
        unsafeAddr :: VkDescriptorSetLayoutBinding -> Addr#
unsafeAddr (VkDescriptorSetLayoutBinding# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorSetLayoutBinding -> ByteArray#
unsafeByteArray (VkDescriptorSetLayoutBinding# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkDescriptorSetLayoutBinding
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkDescriptorSetLayoutBinding
VkDescriptorSetLayoutBinding#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDescriptorSetLayoutBinding where
        type StructFields VkDescriptorSetLayoutBinding =
             '["binding", "descriptorType", "descriptorCount", "stageFlags", -- ' closing tick for hsc2hs
               "pImmutableSamplers"]
        type CUnionType VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorSetLayoutBinding = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "binding" VkDescriptorSetLayoutBinding where
        type FieldType "binding" VkDescriptorSetLayoutBinding = Word32
        type FieldOptional "binding" VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs
        type FieldOffset "binding" VkDescriptorSetLayoutBinding =
             (0)
{-# LINE 1094 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "binding" VkDescriptorSetLayoutBinding = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 1102 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "binding" VkDescriptorSetLayoutBinding where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutBinding
-> FieldType "binding" VkDescriptorSetLayoutBinding
getField VkDescriptorSetLayoutBinding
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutBinding -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutBinding -> Ptr VkDescriptorSetLayoutBinding
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutBinding
x) (Int
0))
{-# LINE 1109 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutBinding
-> IO (FieldType "binding" VkDescriptorSetLayoutBinding)
readField Ptr VkDescriptorSetLayoutBinding
p
          = Ptr VkDescriptorSetLayoutBinding -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutBinding
p (Int
0)
{-# LINE 1113 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "binding" VkDescriptorSetLayoutBinding where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutBinding
-> FieldType "binding" VkDescriptorSetLayoutBinding -> IO ()
writeField Ptr VkDescriptorSetLayoutBinding
p
          = Ptr VkDescriptorSetLayoutBinding -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutBinding
p (Int
0)
{-# LINE 1119 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorType" VkDescriptorSetLayoutBinding where
        type FieldType "descriptorType" VkDescriptorSetLayoutBinding =
             VkDescriptorType
        type FieldOptional "descriptorType" VkDescriptorSetLayoutBinding =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "descriptorType" VkDescriptorSetLayoutBinding =
             (4)
{-# LINE 1128 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "descriptorType" VkDescriptorSetLayoutBinding =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
4)
{-# LINE 1137 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "descriptorType" VkDescriptorSetLayoutBinding where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutBinding
-> FieldType "descriptorType" VkDescriptorSetLayoutBinding
getField VkDescriptorSetLayoutBinding
x
          = IO VkDescriptorType -> VkDescriptorType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutBinding -> Int -> IO VkDescriptorType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutBinding -> Ptr VkDescriptorSetLayoutBinding
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutBinding
x) (Int
4))
{-# LINE 1144 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutBinding
-> IO (FieldType "descriptorType" VkDescriptorSetLayoutBinding)
readField Ptr VkDescriptorSetLayoutBinding
p
          = Ptr VkDescriptorSetLayoutBinding -> Int -> IO VkDescriptorType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutBinding
p (Int
4)
{-# LINE 1148 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorType" VkDescriptorSetLayoutBinding where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutBinding
-> FieldType "descriptorType" VkDescriptorSetLayoutBinding -> IO ()
writeField Ptr VkDescriptorSetLayoutBinding
p
          = Ptr VkDescriptorSetLayoutBinding
-> Int -> VkDescriptorType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutBinding
p (Int
4)
{-# LINE 1154 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorCount" VkDescriptorSetLayoutBinding where
        type FieldType "descriptorCount" VkDescriptorSetLayoutBinding =
             Word32
        type FieldOptional "descriptorCount" VkDescriptorSetLayoutBinding =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "descriptorCount" VkDescriptorSetLayoutBinding =
             (8)
{-# LINE 1163 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "descriptorCount" VkDescriptorSetLayoutBinding =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 1172 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "descriptorCount" VkDescriptorSetLayoutBinding where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutBinding
-> FieldType "descriptorCount" VkDescriptorSetLayoutBinding
getField VkDescriptorSetLayoutBinding
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutBinding -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutBinding -> Ptr VkDescriptorSetLayoutBinding
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutBinding
x) (Int
8))
{-# LINE 1179 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutBinding
-> IO (FieldType "descriptorCount" VkDescriptorSetLayoutBinding)
readField Ptr VkDescriptorSetLayoutBinding
p
          = Ptr VkDescriptorSetLayoutBinding -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutBinding
p (Int
8)
{-# LINE 1183 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorCount" VkDescriptorSetLayoutBinding where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutBinding
-> FieldType "descriptorCount" VkDescriptorSetLayoutBinding
-> IO ()
writeField Ptr VkDescriptorSetLayoutBinding
p
          = Ptr VkDescriptorSetLayoutBinding -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutBinding
p (Int
8)
{-# LINE 1189 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "stageFlags" VkDescriptorSetLayoutBinding where
        type FieldType "stageFlags" VkDescriptorSetLayoutBinding =
             VkShaderStageFlags
        type FieldOptional "stageFlags" VkDescriptorSetLayoutBinding =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "stageFlags" VkDescriptorSetLayoutBinding =
             (12)
{-# LINE 1198 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "stageFlags" VkDescriptorSetLayoutBinding =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
12)
{-# LINE 1207 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "stageFlags" VkDescriptorSetLayoutBinding where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutBinding
-> FieldType "stageFlags" VkDescriptorSetLayoutBinding
getField VkDescriptorSetLayoutBinding
x
          = IO VkShaderStageFlags -> VkShaderStageFlags
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutBinding -> Int -> IO VkShaderStageFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutBinding -> Ptr VkDescriptorSetLayoutBinding
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutBinding
x) (Int
12))
{-# LINE 1214 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutBinding
-> IO (FieldType "stageFlags" VkDescriptorSetLayoutBinding)
readField Ptr VkDescriptorSetLayoutBinding
p
          = Ptr VkDescriptorSetLayoutBinding -> Int -> IO VkShaderStageFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutBinding
p (Int
12)
{-# LINE 1218 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "stageFlags" VkDescriptorSetLayoutBinding where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutBinding
-> FieldType "stageFlags" VkDescriptorSetLayoutBinding -> IO ()
writeField Ptr VkDescriptorSetLayoutBinding
p
          = Ptr VkDescriptorSetLayoutBinding
-> Int -> VkShaderStageFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutBinding
p (Int
12)
{-# LINE 1224 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pImmutableSamplers" VkDescriptorSetLayoutBinding where
        type FieldType "pImmutableSamplers" VkDescriptorSetLayoutBinding =
             Ptr VkSampler
        type FieldOptional "pImmutableSamplers"
               VkDescriptorSetLayoutBinding
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pImmutableSamplers" VkDescriptorSetLayoutBinding
             =
             (16)
{-# LINE 1235 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pImmutableSamplers" VkDescriptorSetLayoutBinding
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 1244 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pImmutableSamplers" VkDescriptorSetLayoutBinding
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutBinding
-> FieldType "pImmutableSamplers" VkDescriptorSetLayoutBinding
getField VkDescriptorSetLayoutBinding
x
          = IO (Ptr VkSampler) -> Ptr VkSampler
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutBinding -> Int -> IO (Ptr VkSampler)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutBinding -> Ptr VkDescriptorSetLayoutBinding
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutBinding
x) (Int
16))
{-# LINE 1252 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutBinding
-> IO (FieldType "pImmutableSamplers" VkDescriptorSetLayoutBinding)
readField Ptr VkDescriptorSetLayoutBinding
p
          = Ptr VkDescriptorSetLayoutBinding -> Int -> IO (Ptr VkSampler)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutBinding
p (Int
16)
{-# LINE 1256 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pImmutableSamplers" VkDescriptorSetLayoutBinding
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutBinding
-> FieldType "pImmutableSamplers" VkDescriptorSetLayoutBinding
-> IO ()
writeField Ptr VkDescriptorSetLayoutBinding
p
          = Ptr VkDescriptorSetLayoutBinding -> Int -> Ptr VkSampler -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutBinding
p (Int
16)
{-# LINE 1263 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorSetLayoutBinding where
        showsPrec :: Int -> VkDescriptorSetLayoutBinding -> ShowS
showsPrec Int
d VkDescriptorSetLayoutBinding
x
          = String -> ShowS
showString String
"VkDescriptorSetLayoutBinding {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"binding = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutBinding
-> FieldType "binding" VkDescriptorSetLayoutBinding
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"binding" VkDescriptorSetLayoutBinding
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"descriptorType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkDescriptorType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutBinding
-> FieldType "descriptorType" VkDescriptorSetLayoutBinding
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorType" VkDescriptorSetLayoutBinding
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"descriptorCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutBinding
-> FieldType "descriptorCount" VkDescriptorSetLayoutBinding
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorCount" VkDescriptorSetLayoutBinding
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                String -> ShowS
showString String
"stageFlags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkShaderStageFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutBinding
-> FieldType "stageFlags" VkDescriptorSetLayoutBinding
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"stageFlags" VkDescriptorSetLayoutBinding
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                    String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                      String -> ShowS
showString String
"pImmutableSamplers = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkSampler -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutBinding
-> FieldType "pImmutableSamplers" VkDescriptorSetLayoutBinding
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pImmutableSamplers" VkDescriptorSetLayoutBinding
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                          Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     uint32_t               bindingCount;
--   >     const VkDescriptorBindingFlagsEXT* pBindingFlags;
--   > } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutBindingFlagsCreateInfoEXT VkDescriptorSetLayoutBindingFlagsCreateInfoEXT registry at www.khronos.org>
data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# Addr#
                                                                                                      ByteArray#

instance Eq VkDescriptorSetLayoutBindingFlagsCreateInfoEXT where
        (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# Addr#
a ByteArray#
_) == :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> Bool
==
          x :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x@(VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorSetLayoutBindingFlagsCreateInfoEXT where
        (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# Addr#
a ByteArray#
_) compare :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> Ordering
`compare`
          x :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x@(VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        sizeOf :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> Int
sizeOf ~VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
_
          = (Int
32)
{-# LINE 1312 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> Int
alignment ~VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
_
          = Int
8
{-# LINE 1316 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> IO VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
peek = Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> IO VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> IO ()
poke = Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim
           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        unsafeAddr :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> Addr#
unsafeAddr (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# Addr#
a ByteArray#
_)
          = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> ByteArray#
unsafeByteArray
          (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int#
-> ByteArray# -> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr#
-> ByteArray# -> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
VkDescriptorSetLayoutBindingFlagsCreateInfoEXT#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal
           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        type StructFields VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =
             '["sType", "pNext", "bindingCount", "pBindingFlags"] -- ' closing tick for hsc2hs
        type CUnionType VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =
             'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =
             'False -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorSetLayoutBindingFlagsCreateInfoEXT =
             '[VkDescriptorSetLayoutCreateInfo] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        type FieldType "sType"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = VkStructureType
        type FieldOptional "sType"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             =
             (0)
{-# LINE 1368 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "sType"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 1378 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType "sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
getField VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x) (Int
0))
{-# LINE 1386 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> IO
     (FieldType "sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT)
readField Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p
          = Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p (Int
0)
{-# LINE 1390 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType"
           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType "sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> IO ()
writeField Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p
          = Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p (Int
0)
{-# LINE 1398 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        type FieldType "pNext"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = Ptr Void
        type FieldOptional "pNext"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             =
             (8)
{-# LINE 1412 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pNext"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 1422 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType "pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
getField VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x) (Int
8))
{-# LINE 1430 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> IO
     (FieldType "pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT)
readField Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p
          = Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p (Int
8)
{-# LINE 1434 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext"
           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType "pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> IO ()
writeField Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p
          = Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p (Int
8)
{-# LINE 1442 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "bindingCount"
           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        type FieldType "bindingCount"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = Word32
        type FieldOptional "bindingCount"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "bindingCount"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             =
             (16)
{-# LINE 1457 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "bindingCount"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 1467 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "bindingCount"
           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType
     "bindingCount" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
getField VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x) (Int
16))
{-# LINE 1476 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> IO
     (FieldType
        "bindingCount" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT)
readField Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p
          = Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p (Int
16)
{-# LINE 1480 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "bindingCount"
           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType
     "bindingCount" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> IO ()
writeField Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p
          = Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p (Int
16)
{-# LINE 1488 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pBindingFlags"
           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        type FieldType "pBindingFlags"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = Ptr VkDescriptorBindingFlagsEXT
        type FieldOptional "pBindingFlags"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pBindingFlags"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             =
             (24)
{-# LINE 1503 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pBindingFlags"
               VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 1513 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pBindingFlags"
           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType
     "pBindingFlags" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
getField VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x
          = IO (Ptr VkDescriptorBindingFlagsEXT)
-> Ptr VkDescriptorBindingFlagsEXT
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> IO (Ptr VkDescriptorBindingFlagsEXT)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x) (Int
24))
{-# LINE 1522 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> IO
     (FieldType
        "pBindingFlags" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT)
readField Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p
          = Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> IO (Ptr VkDescriptorBindingFlagsEXT)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p (Int
24)
{-# LINE 1526 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pBindingFlags"
           VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType
     "pBindingFlags" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> IO ()
writeField Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p
          = Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> Int -> Ptr VkDescriptorBindingFlagsEXT -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
p (Int
24)
{-# LINE 1534 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorSetLayoutBindingFlagsCreateInfoEXT where
        showsPrec :: Int -> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -> ShowS
showsPrec Int
d VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x
          = String -> ShowS
showString String
"VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkStructureType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType "sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"pNext = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr Void -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType "pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"bindingCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType
     "bindingCount" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"bindingCount" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                String -> ShowS
showString String
"pBindingFlags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Ptr VkDescriptorBindingFlagsEXT -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
-> FieldType
     "pBindingFlags" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pBindingFlags" VkDescriptorSetLayoutBindingFlagsCreateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDescriptorSetLayoutCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkDescriptorSetLayoutCreateFlags    flags;
--   >     uint32_t               bindingCount;
--   >     const VkDescriptorSetLayoutBinding* pBindings;
--   > } VkDescriptorSetLayoutCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo registry at www.khronos.org>
data VkDescriptorSetLayoutCreateInfo = VkDescriptorSetLayoutCreateInfo# Addr#
                                                                        ByteArray#

instance Eq VkDescriptorSetLayoutCreateInfo where
        (VkDescriptorSetLayoutCreateInfo# Addr#
a ByteArray#
_) == :: VkDescriptorSetLayoutCreateInfo
-> VkDescriptorSetLayoutCreateInfo -> Bool
==
          x :: VkDescriptorSetLayoutCreateInfo
x@(VkDescriptorSetLayoutCreateInfo# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetLayoutCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetLayoutCreateInfo
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorSetLayoutCreateInfo where
        (VkDescriptorSetLayoutCreateInfo# Addr#
a ByteArray#
_) compare :: VkDescriptorSetLayoutCreateInfo
-> VkDescriptorSetLayoutCreateInfo -> Ordering
`compare`
          x :: VkDescriptorSetLayoutCreateInfo
x@(VkDescriptorSetLayoutCreateInfo# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetLayoutCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetLayoutCreateInfo
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorSetLayoutCreateInfo where
        sizeOf :: VkDescriptorSetLayoutCreateInfo -> Int
sizeOf ~VkDescriptorSetLayoutCreateInfo
_ = (Int
32)
{-# LINE 1577 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorSetLayoutCreateInfo -> Int
alignment ~VkDescriptorSetLayoutCreateInfo
_
          = Int
8
{-# LINE 1581 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorSetLayoutCreateInfo
-> IO VkDescriptorSetLayoutCreateInfo
peek = Ptr VkDescriptorSetLayoutCreateInfo
-> IO VkDescriptorSetLayoutCreateInfo
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorSetLayoutCreateInfo
-> VkDescriptorSetLayoutCreateInfo -> IO ()
poke = Ptr VkDescriptorSetLayoutCreateInfo
-> VkDescriptorSetLayoutCreateInfo -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkDescriptorSetLayoutCreateInfo where
        unsafeAddr :: VkDescriptorSetLayoutCreateInfo -> Addr#
unsafeAddr (VkDescriptorSetLayoutCreateInfo# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorSetLayoutCreateInfo -> ByteArray#
unsafeByteArray (VkDescriptorSetLayoutCreateInfo# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkDescriptorSetLayoutCreateInfo
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkDescriptorSetLayoutCreateInfo
VkDescriptorSetLayoutCreateInfo#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDescriptorSetLayoutCreateInfo where
        type StructFields VkDescriptorSetLayoutCreateInfo =
             '["sType", "pNext", "flags", "bindingCount", "pBindings"] -- ' closing tick for hsc2hs
        type CUnionType VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorSetLayoutCreateInfo = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkDescriptorSetLayoutCreateInfo where
        type FieldType "sType" VkDescriptorSetLayoutCreateInfo =
             VkStructureType
        type FieldOptional "sType" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType" VkDescriptorSetLayoutCreateInfo =
             (0)
{-# LINE 1618 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "sType" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 1626 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkDescriptorSetLayoutCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutCreateInfo
-> FieldType "sType" VkDescriptorSetLayoutCreateInfo
getField VkDescriptorSetLayoutCreateInfo
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutCreateInfo -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutCreateInfo
-> Ptr VkDescriptorSetLayoutCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutCreateInfo
x) (Int
0))
{-# LINE 1633 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutCreateInfo
-> IO (FieldType "sType" VkDescriptorSetLayoutCreateInfo)
readField Ptr VkDescriptorSetLayoutCreateInfo
p
          = Ptr VkDescriptorSetLayoutCreateInfo -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutCreateInfo
p (Int
0)
{-# LINE 1637 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkDescriptorSetLayoutCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutCreateInfo
-> FieldType "sType" VkDescriptorSetLayoutCreateInfo -> IO ()
writeField Ptr VkDescriptorSetLayoutCreateInfo
p
          = Ptr VkDescriptorSetLayoutCreateInfo
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutCreateInfo
p (Int
0)
{-# LINE 1643 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkDescriptorSetLayoutCreateInfo where
        type FieldType "pNext" VkDescriptorSetLayoutCreateInfo = Ptr Void
        type FieldOptional "pNext" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext" VkDescriptorSetLayoutCreateInfo =
             (8)
{-# LINE 1650 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pNext" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 1658 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkDescriptorSetLayoutCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutCreateInfo
-> FieldType "pNext" VkDescriptorSetLayoutCreateInfo
getField VkDescriptorSetLayoutCreateInfo
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutCreateInfo
-> Ptr VkDescriptorSetLayoutCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutCreateInfo
x) (Int
8))
{-# LINE 1665 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutCreateInfo
-> IO (FieldType "pNext" VkDescriptorSetLayoutCreateInfo)
readField Ptr VkDescriptorSetLayoutCreateInfo
p
          = Ptr VkDescriptorSetLayoutCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutCreateInfo
p (Int
8)
{-# LINE 1669 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkDescriptorSetLayoutCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutCreateInfo
-> FieldType "pNext" VkDescriptorSetLayoutCreateInfo -> IO ()
writeField Ptr VkDescriptorSetLayoutCreateInfo
p
          = Ptr VkDescriptorSetLayoutCreateInfo -> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutCreateInfo
p (Int
8)
{-# LINE 1675 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkDescriptorSetLayoutCreateInfo where
        type FieldType "flags" VkDescriptorSetLayoutCreateInfo =
             VkDescriptorSetLayoutCreateFlags
        type FieldOptional "flags" VkDescriptorSetLayoutCreateInfo = 'True -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkDescriptorSetLayoutCreateInfo =
             (16)
{-# LINE 1683 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "flags" VkDescriptorSetLayoutCreateInfo = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 1691 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkDescriptorSetLayoutCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutCreateInfo
-> FieldType "flags" VkDescriptorSetLayoutCreateInfo
getField VkDescriptorSetLayoutCreateInfo
x
          = IO VkDescriptorSetLayoutCreateFlags
-> VkDescriptorSetLayoutCreateFlags
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutCreateInfo
-> Int -> IO VkDescriptorSetLayoutCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutCreateInfo
-> Ptr VkDescriptorSetLayoutCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutCreateInfo
x) (Int
16))
{-# LINE 1698 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutCreateInfo
-> IO (FieldType "flags" VkDescriptorSetLayoutCreateInfo)
readField Ptr VkDescriptorSetLayoutCreateInfo
p
          = Ptr VkDescriptorSetLayoutCreateInfo
-> Int -> IO VkDescriptorSetLayoutCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutCreateInfo
p (Int
16)
{-# LINE 1702 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkDescriptorSetLayoutCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutCreateInfo
-> FieldType "flags" VkDescriptorSetLayoutCreateInfo -> IO ()
writeField Ptr VkDescriptorSetLayoutCreateInfo
p
          = Ptr VkDescriptorSetLayoutCreateInfo
-> Int -> VkDescriptorSetLayoutCreateFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutCreateInfo
p (Int
16)
{-# LINE 1708 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "bindingCount" VkDescriptorSetLayoutCreateInfo where
        type FieldType "bindingCount" VkDescriptorSetLayoutCreateInfo =
             Word32
        type FieldOptional "bindingCount" VkDescriptorSetLayoutCreateInfo =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "bindingCount" VkDescriptorSetLayoutCreateInfo =
             (20)
{-# LINE 1717 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "bindingCount" VkDescriptorSetLayoutCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
20)
{-# LINE 1726 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "bindingCount" VkDescriptorSetLayoutCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutCreateInfo
-> FieldType "bindingCount" VkDescriptorSetLayoutCreateInfo
getField VkDescriptorSetLayoutCreateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutCreateInfo
-> Ptr VkDescriptorSetLayoutCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutCreateInfo
x) (Int
20))
{-# LINE 1733 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutCreateInfo
-> IO (FieldType "bindingCount" VkDescriptorSetLayoutCreateInfo)
readField Ptr VkDescriptorSetLayoutCreateInfo
p
          = Ptr VkDescriptorSetLayoutCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutCreateInfo
p (Int
20)
{-# LINE 1737 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "bindingCount" VkDescriptorSetLayoutCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutCreateInfo
-> FieldType "bindingCount" VkDescriptorSetLayoutCreateInfo
-> IO ()
writeField Ptr VkDescriptorSetLayoutCreateInfo
p
          = Ptr VkDescriptorSetLayoutCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutCreateInfo
p (Int
20)
{-# LINE 1743 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pBindings" VkDescriptorSetLayoutCreateInfo where
        type FieldType "pBindings" VkDescriptorSetLayoutCreateInfo =
             Ptr VkDescriptorSetLayoutBinding
        type FieldOptional "pBindings" VkDescriptorSetLayoutCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "pBindings" VkDescriptorSetLayoutCreateInfo =
             (24)
{-# LINE 1752 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pBindings" VkDescriptorSetLayoutCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 1761 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pBindings" VkDescriptorSetLayoutCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutCreateInfo
-> FieldType "pBindings" VkDescriptorSetLayoutCreateInfo
getField VkDescriptorSetLayoutCreateInfo
x
          = IO (Ptr VkDescriptorSetLayoutBinding)
-> Ptr VkDescriptorSetLayoutBinding
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutCreateInfo
-> Int -> IO (Ptr VkDescriptorSetLayoutBinding)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutCreateInfo
-> Ptr VkDescriptorSetLayoutCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutCreateInfo
x) (Int
24))
{-# LINE 1768 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutCreateInfo
-> IO (FieldType "pBindings" VkDescriptorSetLayoutCreateInfo)
readField Ptr VkDescriptorSetLayoutCreateInfo
p
          = Ptr VkDescriptorSetLayoutCreateInfo
-> Int -> IO (Ptr VkDescriptorSetLayoutBinding)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutCreateInfo
p (Int
24)
{-# LINE 1772 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pBindings" VkDescriptorSetLayoutCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutCreateInfo
-> FieldType "pBindings" VkDescriptorSetLayoutCreateInfo -> IO ()
writeField Ptr VkDescriptorSetLayoutCreateInfo
p
          = Ptr VkDescriptorSetLayoutCreateInfo
-> Int -> Ptr VkDescriptorSetLayoutBinding -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutCreateInfo
p (Int
24)
{-# LINE 1778 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorSetLayoutCreateInfo where
        showsPrec :: Int -> VkDescriptorSetLayoutCreateInfo -> ShowS
showsPrec Int
d VkDescriptorSetLayoutCreateInfo
x
          = String -> ShowS
showString String
"VkDescriptorSetLayoutCreateInfo {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkStructureType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutCreateInfo
-> FieldType "sType" VkDescriptorSetLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkDescriptorSetLayoutCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"pNext = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr Void -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutCreateInfo
-> FieldType "pNext" VkDescriptorSetLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkDescriptorSetLayoutCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkDescriptorSetLayoutCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutCreateInfo
-> FieldType "flags" VkDescriptorSetLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkDescriptorSetLayoutCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                String -> ShowS
showString String
"bindingCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutCreateInfo
-> FieldType "bindingCount" VkDescriptorSetLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"bindingCount" VkDescriptorSetLayoutCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                    String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                      String -> ShowS
showString String
"pBindings = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkDescriptorSetLayoutBinding -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutCreateInfo
-> FieldType "pBindings" VkDescriptorSetLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pBindings" VkDescriptorSetLayoutCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDescriptorSetLayoutSupport {
--   >     VkStructureType sType;
--   >     void*            pNext;
--   >     VkBool32         supported;
--   > } VkDescriptorSetLayoutSupport;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport registry at www.khronos.org>
data VkDescriptorSetLayoutSupport = VkDescriptorSetLayoutSupport# Addr#
                                                                  ByteArray#

instance Eq VkDescriptorSetLayoutSupport where
        (VkDescriptorSetLayoutSupport# Addr#
a ByteArray#
_) == :: VkDescriptorSetLayoutSupport
-> VkDescriptorSetLayoutSupport -> Bool
==
          x :: VkDescriptorSetLayoutSupport
x@(VkDescriptorSetLayoutSupport# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetLayoutSupport -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetLayoutSupport
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorSetLayoutSupport where
        (VkDescriptorSetLayoutSupport# Addr#
a ByteArray#
_) compare :: VkDescriptorSetLayoutSupport
-> VkDescriptorSetLayoutSupport -> Ordering
`compare`
          x :: VkDescriptorSetLayoutSupport
x@(VkDescriptorSetLayoutSupport# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetLayoutSupport -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetLayoutSupport
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorSetLayoutSupport where
        sizeOf :: VkDescriptorSetLayoutSupport -> Int
sizeOf ~VkDescriptorSetLayoutSupport
_ = (Int
24)
{-# LINE 1822 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorSetLayoutSupport -> Int
alignment ~VkDescriptorSetLayoutSupport
_
          = Int
8
{-# LINE 1826 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorSetLayoutSupport -> IO VkDescriptorSetLayoutSupport
peek = Ptr VkDescriptorSetLayoutSupport -> IO VkDescriptorSetLayoutSupport
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorSetLayoutSupport
-> VkDescriptorSetLayoutSupport -> IO ()
poke = Ptr VkDescriptorSetLayoutSupport
-> VkDescriptorSetLayoutSupport -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkDescriptorSetLayoutSupport where
        unsafeAddr :: VkDescriptorSetLayoutSupport -> Addr#
unsafeAddr (VkDescriptorSetLayoutSupport# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorSetLayoutSupport -> ByteArray#
unsafeByteArray (VkDescriptorSetLayoutSupport# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkDescriptorSetLayoutSupport
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkDescriptorSetLayoutSupport
VkDescriptorSetLayoutSupport#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDescriptorSetLayoutSupport where
        type StructFields VkDescriptorSetLayoutSupport =
             '["sType", "pNext", "supported"] -- ' closing tick for hsc2hs
        type CUnionType VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorSetLayoutSupport = 'True -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorSetLayoutSupport = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkDescriptorSetLayoutSupport where
        type FieldType "sType" VkDescriptorSetLayoutSupport =
             VkStructureType
        type FieldOptional "sType" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType" VkDescriptorSetLayoutSupport =
             (0)
{-# LINE 1863 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "sType" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 1871 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkDescriptorSetLayoutSupport where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutSupport
-> FieldType "sType" VkDescriptorSetLayoutSupport
getField VkDescriptorSetLayoutSupport
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutSupport -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutSupport -> Ptr VkDescriptorSetLayoutSupport
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutSupport
x) (Int
0))
{-# LINE 1878 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutSupport
-> IO (FieldType "sType" VkDescriptorSetLayoutSupport)
readField Ptr VkDescriptorSetLayoutSupport
p
          = Ptr VkDescriptorSetLayoutSupport -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutSupport
p (Int
0)
{-# LINE 1882 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkDescriptorSetLayoutSupport where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutSupport
-> FieldType "sType" VkDescriptorSetLayoutSupport -> IO ()
writeField Ptr VkDescriptorSetLayoutSupport
p
          = Ptr VkDescriptorSetLayoutSupport -> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutSupport
p (Int
0)
{-# LINE 1888 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkDescriptorSetLayoutSupport where
        type FieldType "pNext" VkDescriptorSetLayoutSupport = Ptr Void
        type FieldOptional "pNext" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext" VkDescriptorSetLayoutSupport =
             (8)
{-# LINE 1895 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pNext" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 1903 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkDescriptorSetLayoutSupport where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutSupport
-> FieldType "pNext" VkDescriptorSetLayoutSupport
getField VkDescriptorSetLayoutSupport
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutSupport -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutSupport -> Ptr VkDescriptorSetLayoutSupport
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutSupport
x) (Int
8))
{-# LINE 1910 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutSupport
-> IO (FieldType "pNext" VkDescriptorSetLayoutSupport)
readField Ptr VkDescriptorSetLayoutSupport
p
          = Ptr VkDescriptorSetLayoutSupport -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutSupport
p (Int
8)
{-# LINE 1914 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkDescriptorSetLayoutSupport where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutSupport
-> FieldType "pNext" VkDescriptorSetLayoutSupport -> IO ()
writeField Ptr VkDescriptorSetLayoutSupport
p
          = Ptr VkDescriptorSetLayoutSupport -> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutSupport
p (Int
8)
{-# LINE 1920 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "supported" VkDescriptorSetLayoutSupport where
        type FieldType "supported" VkDescriptorSetLayoutSupport = VkBool32
        type FieldOptional "supported" VkDescriptorSetLayoutSupport =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "supported" VkDescriptorSetLayoutSupport =
             (16)
{-# LINE 1928 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "supported" VkDescriptorSetLayoutSupport = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 1936 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "supported" VkDescriptorSetLayoutSupport where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetLayoutSupport
-> FieldType "supported" VkDescriptorSetLayoutSupport
getField VkDescriptorSetLayoutSupport
x
          = IO VkBool32 -> VkBool32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetLayoutSupport -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetLayoutSupport -> Ptr VkDescriptorSetLayoutSupport
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetLayoutSupport
x) (Int
16))
{-# LINE 1943 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetLayoutSupport
-> IO (FieldType "supported" VkDescriptorSetLayoutSupport)
readField Ptr VkDescriptorSetLayoutSupport
p
          = Ptr VkDescriptorSetLayoutSupport -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetLayoutSupport
p (Int
16)
{-# LINE 1947 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "supported" VkDescriptorSetLayoutSupport where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetLayoutSupport
-> FieldType "supported" VkDescriptorSetLayoutSupport -> IO ()
writeField Ptr VkDescriptorSetLayoutSupport
p
          = Ptr VkDescriptorSetLayoutSupport -> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetLayoutSupport
p (Int
16)
{-# LINE 1953 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorSetLayoutSupport where
        showsPrec :: Int -> VkDescriptorSetLayoutSupport -> ShowS
showsPrec Int
d VkDescriptorSetLayoutSupport
x
          = String -> ShowS
showString String
"VkDescriptorSetLayoutSupport {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkStructureType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutSupport
-> FieldType "sType" VkDescriptorSetLayoutSupport
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkDescriptorSetLayoutSupport
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"pNext = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr Void -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutSupport
-> FieldType "pNext" VkDescriptorSetLayoutSupport
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkDescriptorSetLayoutSupport
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"supported = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetLayoutSupport
-> FieldType "supported" VkDescriptorSetLayoutSupport
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"supported" VkDescriptorSetLayoutSupport
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | Alias for `VkDescriptorSetLayoutSupport`
type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport

-- | > typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     uint32_t               descriptorSetCount;
--   >     const uint32_t* pDescriptorCounts;
--   > } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetVariableDescriptorCountAllocateInfoEXT VkDescriptorSetVariableDescriptorCountAllocateInfoEXT registry at www.khronos.org>
data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# Addr#
                                                                                                                    ByteArray#

instance Eq VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# Addr#
a ByteArray#
_) == :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -> Bool
==
          x :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x@(VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# Addr#
a ByteArray#
_)
          compare :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Ordering
`compare`
          x :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x@(VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        sizeOf :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -> Int
sizeOf ~VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
_
          = (Int
32)
{-# LINE 2002 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -> Int
alignment ~VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
_
          = Int
8
{-# LINE 2006 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> IO VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
peek = Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> IO VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -> IO ()
poke = Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        unsafeAddr :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -> Addr#
unsafeAddr
          (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -> ByteArray#
unsafeByteArray
          (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int#
-> ByteArray#
-> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr#
-> ByteArray#
-> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
VkDescriptorSetVariableDescriptorCountAllocateInfoEXT#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        type StructFields
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = '["sType", "pNext", "descriptorSetCount", "pDescriptorCounts"] -- ' closing tick for hsc2hs
        type CUnionType
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type StructExtends
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = '[VkDescriptorSetAllocateInfo] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        type FieldType "sType"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = VkStructureType
        type FieldOptional "sType"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             =
             (0)
{-# LINE 2063 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "sType"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 2073 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "sType" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
getField VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x) (Int
0))
{-# LINE 2082 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> IO
     (FieldType
        "sType" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT)
readField Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p (Int
0)
{-# LINE 2086 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "sType" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> IO ()
writeField Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p (Int
0)
{-# LINE 2094 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        type FieldType "pNext"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = Ptr Void
        type FieldOptional "pNext"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             =
             (8)
{-# LINE 2109 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pNext"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 2119 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "pNext" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
getField VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x) (Int
8))
{-# LINE 2128 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> IO
     (FieldType
        "pNext" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT)
readField Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p (Int
8)
{-# LINE 2132 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "pNext" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> IO ()
writeField Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p (Int
8)
{-# LINE 2140 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorSetCount"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        type FieldType "descriptorSetCount"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = Word32
        type FieldOptional "descriptorSetCount"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "descriptorSetCount"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             =
             (16)
{-# LINE 2155 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "descriptorSetCount"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 2165 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "descriptorSetCount"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "descriptorSetCount"
     VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
getField VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x) (Int
16))
{-# LINE 2174 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> IO
     (FieldType
        "descriptorSetCount"
        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT)
readField Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p (Int
16)
{-# LINE 2178 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorSetCount"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "descriptorSetCount"
     VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> IO ()
writeField Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p (Int
16)
{-# LINE 2186 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pDescriptorCounts"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        type FieldType "pDescriptorCounts"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = Ptr Word32
        type FieldOptional "pDescriptorCounts"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pDescriptorCounts"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             =
             (24)
{-# LINE 2201 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pDescriptorCounts"
               VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 2211 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pDescriptorCounts"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "pDescriptorCounts"
     VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
getField VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x
          = IO (Ptr Word32) -> Ptr Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> IO (Ptr Word32)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x) (Int
24))
{-# LINE 2220 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> IO
     (FieldType
        "pDescriptorCounts"
        VkDescriptorSetVariableDescriptorCountAllocateInfoEXT)
readField Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> IO (Ptr Word32)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p (Int
24)
{-# LINE 2224 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pDescriptorCounts"
           VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "pDescriptorCounts"
     VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> IO ()
writeField Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> Int -> Ptr Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
p (Int
24)
{-# LINE 2232 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
         where
        showsPrec :: Int
-> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -> ShowS
showsPrec Int
d VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x
          = String -> ShowS
showString
              String
"VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {"
              ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkStructureType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "sType" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"pNext = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr Void -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "pNext" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"descriptorSetCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "descriptorSetCount"
     VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorSetCount" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                String -> ShowS
showString String
"pDescriptorCounts = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Ptr Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
-> FieldType
     "pDescriptorCounts"
     VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pDescriptorCounts" VkDescriptorSetVariableDescriptorCountAllocateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
--   >     VkStructureType sType;
--   >     void*            pNext;
--   >     uint32_t         maxVariableDescriptorCount;
--   > } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorSetVariableDescriptorCountLayoutSupportEXT VkDescriptorSetVariableDescriptorCountLayoutSupportEXT registry at www.khronos.org>
data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# Addr#
                                                                                                                      ByteArray#

instance Eq VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# Addr#
a ByteArray#
_) == :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -> Bool
==
          x :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x@(VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# Addr#
a ByteArray#
_)
          compare :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Ordering
`compare`
          x :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x@(VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        sizeOf :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -> Int
sizeOf ~VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
_
          = (Int
24)
{-# LINE 2283 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -> Int
alignment ~VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
_
          = Int
8
{-# LINE 2287 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> IO VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
peek = Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> IO VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -> IO ()
poke = Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        unsafeAddr :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -> Addr#
unsafeAddr
          (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> ByteArray#
unsafeByteArray
          (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int#
-> ByteArray#
-> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr#
-> ByteArray#
-> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
VkDescriptorSetVariableDescriptorCountLayoutSupportEXT#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        type StructFields
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = '["sType", "pNext", "maxVariableDescriptorCount"] -- ' closing tick for hsc2hs
        type CUnionType
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = 'True -- ' closing tick for hsc2hs
        type StructExtends
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = '[VkDescriptorSetLayoutSupport] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType"
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        type FieldType "sType"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = VkStructureType
        type FieldOptional "sType"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             =
             (0)
{-# LINE 2344 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "sType"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 2354 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType"
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> FieldType
     "sType" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
getField VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x) (Int
0))
{-# LINE 2363 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> IO
     (FieldType
        "sType" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT)
readField Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p (Int
0)
{-# LINE 2367 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType"
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> FieldType
     "sType" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> IO ()
writeField Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p (Int
0)
{-# LINE 2375 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext"
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        type FieldType "pNext"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = Ptr Void
        type FieldOptional "pNext"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             =
             (8)
{-# LINE 2390 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pNext"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 2400 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext"
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> FieldType
     "pNext" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
getField VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x) (Int
8))
{-# LINE 2409 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> IO
     (FieldType
        "pNext" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT)
readField Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p (Int
8)
{-# LINE 2413 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext"
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> FieldType
     "pNext" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> IO ()
writeField Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p (Int
8)
{-# LINE 2421 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxVariableDescriptorCount"
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        type FieldType "maxVariableDescriptorCount"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = Word32
        type FieldOptional "maxVariableDescriptorCount"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "maxVariableDescriptorCount"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             =
             (16)
{-# LINE 2436 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "maxVariableDescriptorCount"
               VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 2446 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "maxVariableDescriptorCount"
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> FieldType
     "maxVariableDescriptorCount"
     VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
getField VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x) (Int
16))
{-# LINE 2455 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> IO
     (FieldType
        "maxVariableDescriptorCount"
        VkDescriptorSetVariableDescriptorCountLayoutSupportEXT)
readField Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p (Int
16)
{-# LINE 2459 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxVariableDescriptorCount"
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> FieldType
     "maxVariableDescriptorCount"
     VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> IO ()
writeField Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p
          = Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
p (Int
16)
{-# LINE 2467 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show
           VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
         where
        showsPrec :: Int
-> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -> ShowS
showsPrec Int
d VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x
          = String -> ShowS
showString
              String
"VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {"
              ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkStructureType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> FieldType
     "sType" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"pNext = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr Void -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> FieldType
     "pNext" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"maxVariableDescriptorCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
-> FieldType
     "maxVariableDescriptorCount"
     VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxVariableDescriptorCount" VkDescriptorSetVariableDescriptorCountLayoutSupportEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDescriptorUpdateTemplateCreateInfo {
--   >     VkStructureType sType;
--   >     void*                                   pNext;
--   >     VkDescriptorUpdateTemplateCreateFlags    flags;
--   >     uint32_t                 descriptorUpdateEntryCount;
--   >     const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries;
--   >     VkDescriptorUpdateTemplateType templateType;
--   >     VkDescriptorSetLayout descriptorSetLayout;
--   >     VkPipelineBindPoint pipelineBindPoint;
--   >     VkPipelineLayoutpipelineLayout;
--   >     uint32_t set;
--   > } VkDescriptorUpdateTemplateCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo registry at www.khronos.org>
data VkDescriptorUpdateTemplateCreateInfo = VkDescriptorUpdateTemplateCreateInfo# Addr#
                                                                                  ByteArray#

instance Eq VkDescriptorUpdateTemplateCreateInfo where
        (VkDescriptorUpdateTemplateCreateInfo# Addr#
a ByteArray#
_) == :: VkDescriptorUpdateTemplateCreateInfo
-> VkDescriptorUpdateTemplateCreateInfo -> Bool
==
          x :: VkDescriptorUpdateTemplateCreateInfo
x@(VkDescriptorUpdateTemplateCreateInfo# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorUpdateTemplateCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorUpdateTemplateCreateInfo
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorUpdateTemplateCreateInfo where
        (VkDescriptorUpdateTemplateCreateInfo# Addr#
a ByteArray#
_) compare :: VkDescriptorUpdateTemplateCreateInfo
-> VkDescriptorUpdateTemplateCreateInfo -> Ordering
`compare`
          x :: VkDescriptorUpdateTemplateCreateInfo
x@(VkDescriptorUpdateTemplateCreateInfo# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorUpdateTemplateCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorUpdateTemplateCreateInfo
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorUpdateTemplateCreateInfo where
        sizeOf :: VkDescriptorUpdateTemplateCreateInfo -> Int
sizeOf ~VkDescriptorUpdateTemplateCreateInfo
_
          = (Int
72)
{-# LINE 2519 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorUpdateTemplateCreateInfo -> Int
alignment ~VkDescriptorUpdateTemplateCreateInfo
_
          = Int
8
{-# LINE 2523 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO VkDescriptorUpdateTemplateCreateInfo
peek = Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO VkDescriptorUpdateTemplateCreateInfo
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> VkDescriptorUpdateTemplateCreateInfo -> IO ()
poke = Ptr VkDescriptorUpdateTemplateCreateInfo
-> VkDescriptorUpdateTemplateCreateInfo -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkDescriptorUpdateTemplateCreateInfo
         where
        unsafeAddr :: VkDescriptorUpdateTemplateCreateInfo -> Addr#
unsafeAddr (VkDescriptorUpdateTemplateCreateInfo# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorUpdateTemplateCreateInfo -> ByteArray#
unsafeByteArray (VkDescriptorUpdateTemplateCreateInfo# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkDescriptorUpdateTemplateCreateInfo
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkDescriptorUpdateTemplateCreateInfo
VkDescriptorUpdateTemplateCreateInfo#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDescriptorUpdateTemplateCreateInfo where
        type StructFields VkDescriptorUpdateTemplateCreateInfo =
             '["sType", "pNext", "flags", "descriptorUpdateEntryCount", -- ' closing tick for hsc2hs
               "pDescriptorUpdateEntries", "templateType", "descriptorSetLayout",
               "pipelineBindPoint", "pipelineLayout", "set"]
        type CUnionType VkDescriptorUpdateTemplateCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorUpdateTemplateCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorUpdateTemplateCreateInfo = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkDescriptorUpdateTemplateCreateInfo where
        type FieldType "sType" VkDescriptorUpdateTemplateCreateInfo =
             VkStructureType
        type FieldOptional "sType" VkDescriptorUpdateTemplateCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "sType" VkDescriptorUpdateTemplateCreateInfo =
             (0)
{-# LINE 2564 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "sType" VkDescriptorUpdateTemplateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 2573 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkDescriptorUpdateTemplateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateCreateInfo
-> FieldType "sType" VkDescriptorUpdateTemplateCreateInfo
getField VkDescriptorUpdateTemplateCreateInfo
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateCreateInfo
-> Ptr VkDescriptorUpdateTemplateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateCreateInfo
x) (Int
0))
{-# LINE 2580 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO (FieldType "sType" VkDescriptorUpdateTemplateCreateInfo)
readField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
0)
{-# LINE 2584 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkDescriptorUpdateTemplateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> FieldType "sType" VkDescriptorUpdateTemplateCreateInfo -> IO ()
writeField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
0)
{-# LINE 2590 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkDescriptorUpdateTemplateCreateInfo where
        type FieldType "pNext" VkDescriptorUpdateTemplateCreateInfo =
             Ptr Void
        type FieldOptional "pNext" VkDescriptorUpdateTemplateCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext" VkDescriptorUpdateTemplateCreateInfo =
             (8)
{-# LINE 2599 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pNext" VkDescriptorUpdateTemplateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 2608 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkDescriptorUpdateTemplateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateCreateInfo
-> FieldType "pNext" VkDescriptorUpdateTemplateCreateInfo
getField VkDescriptorUpdateTemplateCreateInfo
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateCreateInfo
-> Ptr VkDescriptorUpdateTemplateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateCreateInfo
x) (Int
8))
{-# LINE 2615 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO (FieldType "pNext" VkDescriptorUpdateTemplateCreateInfo)
readField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
8)
{-# LINE 2619 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkDescriptorUpdateTemplateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> FieldType "pNext" VkDescriptorUpdateTemplateCreateInfo -> IO ()
writeField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
8)
{-# LINE 2625 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkDescriptorUpdateTemplateCreateInfo where
        type FieldType "flags" VkDescriptorUpdateTemplateCreateInfo =
             VkDescriptorUpdateTemplateCreateFlags
        type FieldOptional "flags" VkDescriptorUpdateTemplateCreateInfo =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkDescriptorUpdateTemplateCreateInfo =
             (16)
{-# LINE 2634 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "flags" VkDescriptorUpdateTemplateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 2643 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkDescriptorUpdateTemplateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateCreateInfo
-> FieldType "flags" VkDescriptorUpdateTemplateCreateInfo
getField VkDescriptorUpdateTemplateCreateInfo
x
          = IO VkDescriptorUpdateTemplateCreateFlags
-> VkDescriptorUpdateTemplateCreateFlags
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkDescriptorUpdateTemplateCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateCreateInfo
-> Ptr VkDescriptorUpdateTemplateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateCreateInfo
x) (Int
16))
{-# LINE 2650 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO (FieldType "flags" VkDescriptorUpdateTemplateCreateInfo)
readField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkDescriptorUpdateTemplateCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
16)
{-# LINE 2654 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkDescriptorUpdateTemplateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> FieldType "flags" VkDescriptorUpdateTemplateCreateInfo -> IO ()
writeField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> VkDescriptorUpdateTemplateCreateFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
16)
{-# LINE 2660 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorUpdateEntryCount"
           VkDescriptorUpdateTemplateCreateInfo
         where
        type FieldType "descriptorUpdateEntryCount"
               VkDescriptorUpdateTemplateCreateInfo
             = Word32
        type FieldOptional "descriptorUpdateEntryCount"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "descriptorUpdateEntryCount"
               VkDescriptorUpdateTemplateCreateInfo
             =
             (20)
{-# LINE 2675 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "descriptorUpdateEntryCount"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
20)
{-# LINE 2685 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "descriptorUpdateEntryCount"
           VkDescriptorUpdateTemplateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "descriptorUpdateEntryCount" VkDescriptorUpdateTemplateCreateInfo
getField VkDescriptorUpdateTemplateCreateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateCreateInfo
-> Ptr VkDescriptorUpdateTemplateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateCreateInfo
x) (Int
20))
{-# LINE 2694 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO
     (FieldType
        "descriptorUpdateEntryCount" VkDescriptorUpdateTemplateCreateInfo)
readField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
20)
{-# LINE 2698 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorUpdateEntryCount"
           VkDescriptorUpdateTemplateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "descriptorUpdateEntryCount" VkDescriptorUpdateTemplateCreateInfo
-> IO ()
writeField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
20)
{-# LINE 2706 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pDescriptorUpdateEntries"
           VkDescriptorUpdateTemplateCreateInfo
         where
        type FieldType "pDescriptorUpdateEntries"
               VkDescriptorUpdateTemplateCreateInfo
             = Ptr VkDescriptorUpdateTemplateEntry
        type FieldOptional "pDescriptorUpdateEntries"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pDescriptorUpdateEntries"
               VkDescriptorUpdateTemplateCreateInfo
             =
             (24)
{-# LINE 2721 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pDescriptorUpdateEntries"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 2731 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pDescriptorUpdateEntries"
           VkDescriptorUpdateTemplateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "pDescriptorUpdateEntries" VkDescriptorUpdateTemplateCreateInfo
getField VkDescriptorUpdateTemplateCreateInfo
x
          = IO (Ptr VkDescriptorUpdateTemplateEntry)
-> Ptr VkDescriptorUpdateTemplateEntry
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO (Ptr VkDescriptorUpdateTemplateEntry)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateCreateInfo
-> Ptr VkDescriptorUpdateTemplateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateCreateInfo
x) (Int
24))
{-# LINE 2740 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO
     (FieldType
        "pDescriptorUpdateEntries" VkDescriptorUpdateTemplateCreateInfo)
readField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO (Ptr VkDescriptorUpdateTemplateEntry)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
24)
{-# LINE 2744 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pDescriptorUpdateEntries"
           VkDescriptorUpdateTemplateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "pDescriptorUpdateEntries" VkDescriptorUpdateTemplateCreateInfo
-> IO ()
writeField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> Ptr VkDescriptorUpdateTemplateEntry -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
24)
{-# LINE 2752 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "templateType" VkDescriptorUpdateTemplateCreateInfo where
        type FieldType "templateType" VkDescriptorUpdateTemplateCreateInfo
             = VkDescriptorUpdateTemplateType
        type FieldOptional "templateType"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "templateType"
               VkDescriptorUpdateTemplateCreateInfo
             =
             (32)
{-# LINE 2764 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "templateType"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
32)
{-# LINE 2774 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "templateType" VkDescriptorUpdateTemplateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateCreateInfo
-> FieldType "templateType" VkDescriptorUpdateTemplateCreateInfo
getField VkDescriptorUpdateTemplateCreateInfo
x
          = IO VkDescriptorUpdateTemplateType -> VkDescriptorUpdateTemplateType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkDescriptorUpdateTemplateType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateCreateInfo
-> Ptr VkDescriptorUpdateTemplateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateCreateInfo
x) (Int
32))
{-# LINE 2782 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO
     (FieldType "templateType" VkDescriptorUpdateTemplateCreateInfo)
readField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkDescriptorUpdateTemplateType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
32)
{-# LINE 2786 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "templateType" VkDescriptorUpdateTemplateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> FieldType "templateType" VkDescriptorUpdateTemplateCreateInfo
-> IO ()
writeField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> VkDescriptorUpdateTemplateType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
32)
{-# LINE 2793 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorSetLayout" VkDescriptorUpdateTemplateCreateInfo
         where
        type FieldType "descriptorSetLayout"
               VkDescriptorUpdateTemplateCreateInfo
             = VkDescriptorSetLayout
        type FieldOptional "descriptorSetLayout"
               VkDescriptorUpdateTemplateCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "descriptorSetLayout"
               VkDescriptorUpdateTemplateCreateInfo
             =
             (40)
{-# LINE 2807 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "descriptorSetLayout"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
40)
{-# LINE 2817 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "descriptorSetLayout"
           VkDescriptorUpdateTemplateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "descriptorSetLayout" VkDescriptorUpdateTemplateCreateInfo
getField VkDescriptorUpdateTemplateCreateInfo
x
          = IO VkDescriptorSetLayout -> VkDescriptorSetLayout
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkDescriptorSetLayout
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateCreateInfo
-> Ptr VkDescriptorUpdateTemplateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateCreateInfo
x) (Int
40))
{-# LINE 2826 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO
     (FieldType
        "descriptorSetLayout" VkDescriptorUpdateTemplateCreateInfo)
readField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkDescriptorSetLayout
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
40)
{-# LINE 2830 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorSetLayout"
           VkDescriptorUpdateTemplateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "descriptorSetLayout" VkDescriptorUpdateTemplateCreateInfo
-> IO ()
writeField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> VkDescriptorSetLayout -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
40)
{-# LINE 2838 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pipelineBindPoint" VkDescriptorUpdateTemplateCreateInfo
         where
        type FieldType "pipelineBindPoint"
               VkDescriptorUpdateTemplateCreateInfo
             = VkPipelineBindPoint
        type FieldOptional "pipelineBindPoint"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pipelineBindPoint"
               VkDescriptorUpdateTemplateCreateInfo
             =
             (48)
{-# LINE 2852 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pipelineBindPoint"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
48)
{-# LINE 2862 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pipelineBindPoint"
           VkDescriptorUpdateTemplateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "pipelineBindPoint" VkDescriptorUpdateTemplateCreateInfo
getField VkDescriptorUpdateTemplateCreateInfo
x
          = IO VkPipelineBindPoint -> VkPipelineBindPoint
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkPipelineBindPoint
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateCreateInfo
-> Ptr VkDescriptorUpdateTemplateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateCreateInfo
x) (Int
48))
{-# LINE 2871 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO
     (FieldType
        "pipelineBindPoint" VkDescriptorUpdateTemplateCreateInfo)
readField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkPipelineBindPoint
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
48)
{-# LINE 2875 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pipelineBindPoint"
           VkDescriptorUpdateTemplateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "pipelineBindPoint" VkDescriptorUpdateTemplateCreateInfo
-> IO ()
writeField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> VkPipelineBindPoint -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
48)
{-# LINE 2883 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo
         where
        type FieldType "pipelineLayout"
               VkDescriptorUpdateTemplateCreateInfo
             = VkPipelineLayout
        type FieldOptional "pipelineLayout"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pipelineLayout"
               VkDescriptorUpdateTemplateCreateInfo
             =
             (56)
{-# LINE 2897 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "pipelineLayout"
               VkDescriptorUpdateTemplateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
56)
{-# LINE 2907 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateCreateInfo
-> FieldType "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo
getField VkDescriptorUpdateTemplateCreateInfo
x
          = IO VkPipelineLayout -> VkPipelineLayout
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkPipelineLayout
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateCreateInfo
-> Ptr VkDescriptorUpdateTemplateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateCreateInfo
x) (Int
56))
{-# LINE 2915 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO
     (FieldType "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo)
readField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> IO VkPipelineLayout
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
56)
{-# LINE 2919 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> FieldType "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo
-> IO ()
writeField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo
-> Int -> VkPipelineLayout -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
56)
{-# LINE 2926 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "set" VkDescriptorUpdateTemplateCreateInfo where
        type FieldType "set" VkDescriptorUpdateTemplateCreateInfo = Word32
        type FieldOptional "set" VkDescriptorUpdateTemplateCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "set" VkDescriptorUpdateTemplateCreateInfo =
             (64)
{-# LINE 2934 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "set" VkDescriptorUpdateTemplateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
64)
{-# LINE 2943 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "set" VkDescriptorUpdateTemplateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateCreateInfo
-> FieldType "set" VkDescriptorUpdateTemplateCreateInfo
getField VkDescriptorUpdateTemplateCreateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateCreateInfo
-> Ptr VkDescriptorUpdateTemplateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateCreateInfo
x) (Int
64))
{-# LINE 2950 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> IO (FieldType "set" VkDescriptorUpdateTemplateCreateInfo)
readField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
64)
{-# LINE 2954 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "set" VkDescriptorUpdateTemplateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateCreateInfo
-> FieldType "set" VkDescriptorUpdateTemplateCreateInfo -> IO ()
writeField Ptr VkDescriptorUpdateTemplateCreateInfo
p
          = Ptr VkDescriptorUpdateTemplateCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateCreateInfo
p (Int
64)
{-# LINE 2960 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorUpdateTemplateCreateInfo where
        showsPrec :: Int -> VkDescriptorUpdateTemplateCreateInfo -> ShowS
showsPrec Int
d VkDescriptorUpdateTemplateCreateInfo
x
          = String -> ShowS
showString String
"VkDescriptorUpdateTemplateCreateInfo {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkStructureType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateCreateInfo
-> FieldType "sType" VkDescriptorUpdateTemplateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkDescriptorUpdateTemplateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"pNext = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr Void -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateCreateInfo
-> FieldType "pNext" VkDescriptorUpdateTemplateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkDescriptorUpdateTemplateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkDescriptorUpdateTemplateCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateCreateInfo
-> FieldType "flags" VkDescriptorUpdateTemplateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkDescriptorUpdateTemplateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                String -> ShowS
showString String
"descriptorUpdateEntryCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "descriptorUpdateEntryCount" VkDescriptorUpdateTemplateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorUpdateEntryCount" VkDescriptorUpdateTemplateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                    String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                      String -> ShowS
showString String
"pDescriptorUpdateEntries = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkDescriptorUpdateTemplateEntry -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "pDescriptorUpdateEntries" VkDescriptorUpdateTemplateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pDescriptorUpdateEntries" VkDescriptorUpdateTemplateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                          String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                            String -> ShowS
showString String
"templateType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> VkDescriptorUpdateTemplateType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateCreateInfo
-> FieldType "templateType" VkDescriptorUpdateTemplateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"templateType" VkDescriptorUpdateTemplateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                  String -> ShowS
showString String
"descriptorSetLayout = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> VkDescriptorSetLayout -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "descriptorSetLayout" VkDescriptorUpdateTemplateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorSetLayout" VkDescriptorUpdateTemplateCreateInfo
x)
                                                      ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                      String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                        String -> ShowS
showString String
"pipelineBindPoint = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                          Int -> VkPipelineBindPoint -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                            (VkDescriptorUpdateTemplateCreateInfo
-> FieldType
     "pipelineBindPoint" VkDescriptorUpdateTemplateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pipelineBindPoint" VkDescriptorUpdateTemplateCreateInfo
x)
                                                            ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                            String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                              String -> ShowS
showString String
"pipelineLayout = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                Int -> VkPipelineLayout -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                  (VkDescriptorUpdateTemplateCreateInfo
-> FieldType "pipelineLayout" VkDescriptorUpdateTemplateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pipelineLayout" VkDescriptorUpdateTemplateCreateInfo
x)
                                                                  ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                    String -> ShowS
showString String
"set = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                      Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                        (VkDescriptorUpdateTemplateCreateInfo
-> FieldType "set" VkDescriptorUpdateTemplateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"set" VkDescriptorUpdateTemplateCreateInfo
x)
                                                                        ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | Alias for `VkDescriptorUpdateTemplateCreateInfo`
type VkDescriptorUpdateTemplateCreateInfoKHR =
     VkDescriptorUpdateTemplateCreateInfo

-- | > typedef struct VkDescriptorUpdateTemplateEntry {
--   >     uint32_t                         dstBinding;
--   >     uint32_t                         dstArrayElement;
--   >     uint32_t                         descriptorCount;
--   >     VkDescriptorType                 descriptorType;
--   >     size_t                           offset;
--   >     size_t                           stride;
--   > } VkDescriptorUpdateTemplateEntry;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry registry at www.khronos.org>
data VkDescriptorUpdateTemplateEntry = VkDescriptorUpdateTemplateEntry# Addr#
                                                                        ByteArray#

instance Eq VkDescriptorUpdateTemplateEntry where
        (VkDescriptorUpdateTemplateEntry# Addr#
a ByteArray#
_) == :: VkDescriptorUpdateTemplateEntry
-> VkDescriptorUpdateTemplateEntry -> Bool
==
          x :: VkDescriptorUpdateTemplateEntry
x@(VkDescriptorUpdateTemplateEntry# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorUpdateTemplateEntry -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorUpdateTemplateEntry
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkDescriptorUpdateTemplateEntry where
        (VkDescriptorUpdateTemplateEntry# Addr#
a ByteArray#
_) compare :: VkDescriptorUpdateTemplateEntry
-> VkDescriptorUpdateTemplateEntry -> Ordering
`compare`
          x :: VkDescriptorUpdateTemplateEntry
x@(VkDescriptorUpdateTemplateEntry# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkDescriptorUpdateTemplateEntry -> Int
forall a. Storable a => a -> Int
sizeOf VkDescriptorUpdateTemplateEntry
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkDescriptorUpdateTemplateEntry where
        sizeOf :: VkDescriptorUpdateTemplateEntry -> Int
sizeOf ~VkDescriptorUpdateTemplateEntry
_ = (Int
32)
{-# LINE 3033 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkDescriptorUpdateTemplateEntry -> Int
alignment ~VkDescriptorUpdateTemplateEntry
_
          = Int
8
{-# LINE 3037 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkDescriptorUpdateTemplateEntry
-> IO VkDescriptorUpdateTemplateEntry
peek = Ptr VkDescriptorUpdateTemplateEntry
-> IO VkDescriptorUpdateTemplateEntry
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkDescriptorUpdateTemplateEntry
-> VkDescriptorUpdateTemplateEntry -> IO ()
poke = Ptr VkDescriptorUpdateTemplateEntry
-> VkDescriptorUpdateTemplateEntry -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkDescriptorUpdateTemplateEntry where
        unsafeAddr :: VkDescriptorUpdateTemplateEntry -> Addr#
unsafeAddr (VkDescriptorUpdateTemplateEntry# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkDescriptorUpdateTemplateEntry -> ByteArray#
unsafeByteArray (VkDescriptorUpdateTemplateEntry# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkDescriptorUpdateTemplateEntry
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkDescriptorUpdateTemplateEntry
VkDescriptorUpdateTemplateEntry#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDescriptorUpdateTemplateEntry where
        type StructFields VkDescriptorUpdateTemplateEntry =
             '["dstBinding", "dstArrayElement", "descriptorCount", -- ' closing tick for hsc2hs
               "descriptorType", "offset", "stride"]
        type CUnionType VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDescriptorUpdateTemplateEntry = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "dstBinding" VkDescriptorUpdateTemplateEntry where
        type FieldType "dstBinding" VkDescriptorUpdateTemplateEntry =
             Word32
        type FieldOptional "dstBinding" VkDescriptorUpdateTemplateEntry =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "dstBinding" VkDescriptorUpdateTemplateEntry =
             (0)
{-# LINE 3076 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "dstBinding" VkDescriptorUpdateTemplateEntry =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 3085 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "dstBinding" VkDescriptorUpdateTemplateEntry where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateEntry
-> FieldType "dstBinding" VkDescriptorUpdateTemplateEntry
getField VkDescriptorUpdateTemplateEntry
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateEntry
-> Ptr VkDescriptorUpdateTemplateEntry
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateEntry
x) (Int
0))
{-# LINE 3092 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateEntry
-> IO (FieldType "dstBinding" VkDescriptorUpdateTemplateEntry)
readField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
0)
{-# LINE 3096 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "dstBinding" VkDescriptorUpdateTemplateEntry where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateEntry
-> FieldType "dstBinding" VkDescriptorUpdateTemplateEntry -> IO ()
writeField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
0)
{-# LINE 3102 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "dstArrayElement" VkDescriptorUpdateTemplateEntry where
        type FieldType "dstArrayElement" VkDescriptorUpdateTemplateEntry =
             Word32
        type FieldOptional "dstArrayElement"
               VkDescriptorUpdateTemplateEntry
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "dstArrayElement" VkDescriptorUpdateTemplateEntry
             =
             (4)
{-# LINE 3113 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "dstArrayElement" VkDescriptorUpdateTemplateEntry
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
4)
{-# LINE 3122 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "dstArrayElement" VkDescriptorUpdateTemplateEntry
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateEntry
-> FieldType "dstArrayElement" VkDescriptorUpdateTemplateEntry
getField VkDescriptorUpdateTemplateEntry
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateEntry
-> Ptr VkDescriptorUpdateTemplateEntry
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateEntry
x) (Int
4))
{-# LINE 3130 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateEntry
-> IO (FieldType "dstArrayElement" VkDescriptorUpdateTemplateEntry)
readField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
4)
{-# LINE 3134 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "dstArrayElement" VkDescriptorUpdateTemplateEntry
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateEntry
-> FieldType "dstArrayElement" VkDescriptorUpdateTemplateEntry
-> IO ()
writeField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
4)
{-# LINE 3141 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorCount" VkDescriptorUpdateTemplateEntry where
        type FieldType "descriptorCount" VkDescriptorUpdateTemplateEntry =
             Word32
        type FieldOptional "descriptorCount"
               VkDescriptorUpdateTemplateEntry
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "descriptorCount" VkDescriptorUpdateTemplateEntry
             =
             (8)
{-# LINE 3152 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "descriptorCount" VkDescriptorUpdateTemplateEntry
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 3161 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "descriptorCount" VkDescriptorUpdateTemplateEntry
         where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateEntry
-> FieldType "descriptorCount" VkDescriptorUpdateTemplateEntry
getField VkDescriptorUpdateTemplateEntry
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateEntry
-> Ptr VkDescriptorUpdateTemplateEntry
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateEntry
x) (Int
8))
{-# LINE 3169 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateEntry
-> IO (FieldType "descriptorCount" VkDescriptorUpdateTemplateEntry)
readField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
8)
{-# LINE 3173 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorCount" VkDescriptorUpdateTemplateEntry
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateEntry
-> FieldType "descriptorCount" VkDescriptorUpdateTemplateEntry
-> IO ()
writeField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
8)
{-# LINE 3180 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorType" VkDescriptorUpdateTemplateEntry where
        type FieldType "descriptorType" VkDescriptorUpdateTemplateEntry =
             VkDescriptorType
        type FieldOptional "descriptorType" VkDescriptorUpdateTemplateEntry
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "descriptorType" VkDescriptorUpdateTemplateEntry =
             (12)
{-# LINE 3189 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "descriptorType" VkDescriptorUpdateTemplateEntry
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
12)
{-# LINE 3198 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "descriptorType" VkDescriptorUpdateTemplateEntry where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateEntry
-> FieldType "descriptorType" VkDescriptorUpdateTemplateEntry
getField VkDescriptorUpdateTemplateEntry
x
          = IO VkDescriptorType -> VkDescriptorType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO VkDescriptorType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateEntry
-> Ptr VkDescriptorUpdateTemplateEntry
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateEntry
x) (Int
12))
{-# LINE 3205 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateEntry
-> IO (FieldType "descriptorType" VkDescriptorUpdateTemplateEntry)
readField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO VkDescriptorType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
12)
{-# LINE 3209 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorType" VkDescriptorUpdateTemplateEntry
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateEntry
-> FieldType "descriptorType" VkDescriptorUpdateTemplateEntry
-> IO ()
writeField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry
-> Int -> VkDescriptorType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
12)
{-# LINE 3216 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "offset" VkDescriptorUpdateTemplateEntry where
        type FieldType "offset" VkDescriptorUpdateTemplateEntry = CSize
        type FieldOptional "offset" VkDescriptorUpdateTemplateEntry =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "offset" VkDescriptorUpdateTemplateEntry =
             (16)
{-# LINE 3224 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "offset" VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 3232 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "offset" VkDescriptorUpdateTemplateEntry where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateEntry
-> FieldType "offset" VkDescriptorUpdateTemplateEntry
getField VkDescriptorUpdateTemplateEntry
x
          = IO CSize -> CSize
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO CSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateEntry
-> Ptr VkDescriptorUpdateTemplateEntry
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateEntry
x) (Int
16))
{-# LINE 3239 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateEntry
-> IO (FieldType "offset" VkDescriptorUpdateTemplateEntry)
readField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO CSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
16)
{-# LINE 3243 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "offset" VkDescriptorUpdateTemplateEntry where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateEntry
-> FieldType "offset" VkDescriptorUpdateTemplateEntry -> IO ()
writeField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> CSize -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
16)
{-# LINE 3249 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "stride" VkDescriptorUpdateTemplateEntry where
        type FieldType "stride" VkDescriptorUpdateTemplateEntry = CSize
        type FieldOptional "stride" VkDescriptorUpdateTemplateEntry =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "stride" VkDescriptorUpdateTemplateEntry =
             (24)
{-# LINE 3257 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}
        type FieldIsArray "stride" VkDescriptorUpdateTemplateEntry = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 3265 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "stride" VkDescriptorUpdateTemplateEntry where
        {-# NOINLINE getField #-}
        getField :: VkDescriptorUpdateTemplateEntry
-> FieldType "stride" VkDescriptorUpdateTemplateEntry
getField VkDescriptorUpdateTemplateEntry
x
          = IO CSize -> CSize
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO CSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDescriptorUpdateTemplateEntry
-> Ptr VkDescriptorUpdateTemplateEntry
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDescriptorUpdateTemplateEntry
x) (Int
24))
{-# LINE 3272 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDescriptorUpdateTemplateEntry
-> IO (FieldType "stride" VkDescriptorUpdateTemplateEntry)
readField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> IO CSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
24)
{-# LINE 3276 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "stride" VkDescriptorUpdateTemplateEntry where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDescriptorUpdateTemplateEntry
-> FieldType "stride" VkDescriptorUpdateTemplateEntry -> IO ()
writeField Ptr VkDescriptorUpdateTemplateEntry
p
          = Ptr VkDescriptorUpdateTemplateEntry -> Int -> CSize -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDescriptorUpdateTemplateEntry
p (Int
24)
{-# LINE 3282 "src-gen/Graphics/Vulkan/Types/Struct/Descriptor.hsc" #-}

instance Show VkDescriptorUpdateTemplateEntry where
        showsPrec :: Int -> VkDescriptorUpdateTemplateEntry -> ShowS
showsPrec Int
d VkDescriptorUpdateTemplateEntry
x
          = String -> ShowS
showString String
"VkDescriptorUpdateTemplateEntry {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"dstBinding = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateEntry
-> FieldType "dstBinding" VkDescriptorUpdateTemplateEntry
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"dstBinding" VkDescriptorUpdateTemplateEntry
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"dstArrayElement = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateEntry
-> FieldType "dstArrayElement" VkDescriptorUpdateTemplateEntry
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"dstArrayElement" VkDescriptorUpdateTemplateEntry
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"descriptorCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateEntry
-> FieldType "descriptorCount" VkDescriptorUpdateTemplateEntry
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorCount" VkDescriptorUpdateTemplateEntry
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                String -> ShowS
showString String
"descriptorType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkDescriptorType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateEntry
-> FieldType "descriptorType" VkDescriptorUpdateTemplateEntry
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorType" VkDescriptorUpdateTemplateEntry
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                    String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                      String -> ShowS
showString String
"offset = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> CSize -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateEntry
-> FieldType "offset" VkDescriptorUpdateTemplateEntry
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"offset" VkDescriptorUpdateTemplateEntry
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                          String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                            String -> ShowS
showString String
"stride = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> CSize -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDescriptorUpdateTemplateEntry
-> FieldType "stride" VkDescriptorUpdateTemplateEntry
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"stride" VkDescriptorUpdateTemplateEntry
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | Alias for `VkDescriptorUpdateTemplateEntry`
type VkDescriptorUpdateTemplateEntryKHR =
     VkDescriptorUpdateTemplateEntry