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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MagicHash             #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeApplications      #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.Present
       (VkPresentInfoKHR(..), VkPresentRegionKHR(..),
        VkPresentRegionsKHR(..), VkPresentTimeGOOGLE(..),
        VkPresentTimesInfoGOOGLE(..))
       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.Enum.Result        (VkResult)
import           Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import           Graphics.Vulkan.Types.Handles            (VkSemaphore,
                                                           VkSwapchainKHR)
import           Graphics.Vulkan.Types.Struct.Rect        (VkRectLayerKHR)
import           System.IO.Unsafe                         (unsafeDupablePerformIO)

-- | > typedef struct VkPresentInfoKHR {
--   >     VkStructureType sType;
--   >     const void*  pNext;
--   >     uint32_t         waitSemaphoreCount;
--   >     const VkSemaphore* pWaitSemaphores;
--   >     uint32_t                         swapchainCount;
--   >     const VkSwapchainKHR* pSwapchains;
--   >     const uint32_t* pImageIndices;
--   >     VkResult* pResults;
--   > } VkPresentInfoKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentInfoKHR VkPresentInfoKHR registry at www.khronos.org>
data VkPresentInfoKHR = VkPresentInfoKHR# Addr# ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkPresentInfoKHR where
        sizeOf :: VkPresentInfoKHR -> Int
sizeOf ~VkPresentInfoKHR
_ = (Int
64)
{-# LINE 56 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPresentInfoKHR where
        type StructFields VkPresentInfoKHR =
             '["sType", "pNext", "waitSemaphoreCount", "pWaitSemaphores", -- ' closing tick for hsc2hs
               "swapchainCount", "pSwapchains", "pImageIndices", "pResults"]
        type CUnionType VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPresentInfoKHR = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pWaitSemaphores" VkPresentInfoKHR where
        type FieldType "pWaitSemaphores" VkPresentInfoKHR = Ptr VkSemaphore
        type FieldOptional "pWaitSemaphores" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pWaitSemaphores" VkPresentInfoKHR =
             (24)
{-# LINE 188 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}
        type FieldIsArray "pWaitSemaphores" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPresentInfoKHR
-> IO (FieldType "pWaitSemaphores" VkPresentInfoKHR)
readField Ptr VkPresentInfoKHR
p
          = Ptr VkPresentInfoKHR -> Int -> IO (Ptr VkSemaphore)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPresentInfoKHR
p (Int
24)
{-# LINE 207 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pWaitSemaphores" VkPresentInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPresentInfoKHR
-> FieldType "pWaitSemaphores" VkPresentInfoKHR -> IO ()
writeField Ptr VkPresentInfoKHR
p
          = Ptr VkPresentInfoKHR -> Int -> Ptr VkSemaphore -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPresentInfoKHR
p (Int
24)
{-# LINE 213 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "swapchainCount" VkPresentInfoKHR where
        type FieldType "swapchainCount" VkPresentInfoKHR = Word32
        type FieldOptional "swapchainCount" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "swapchainCount" VkPresentInfoKHR =
             (32)
{-# LINE 220 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}
        type FieldIsArray "swapchainCount" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPresentInfoKHR
-> IO (FieldType "swapchainCount" VkPresentInfoKHR)
readField Ptr VkPresentInfoKHR
p
          = Ptr VkPresentInfoKHR -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPresentInfoKHR
p (Int
32)
{-# LINE 239 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "swapchainCount" VkPresentInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPresentInfoKHR
-> FieldType "swapchainCount" VkPresentInfoKHR -> IO ()
writeField Ptr VkPresentInfoKHR
p
          = Ptr VkPresentInfoKHR -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPresentInfoKHR
p (Int
32)
{-# LINE 245 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pSwapchains" VkPresentInfoKHR where
        type FieldType "pSwapchains" VkPresentInfoKHR = Ptr VkSwapchainKHR
        type FieldOptional "pSwapchains" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pSwapchains" VkPresentInfoKHR =
             (40)
{-# LINE 252 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}
        type FieldIsArray "pSwapchains" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPresentInfoKHR
-> IO (FieldType "pSwapchains" VkPresentInfoKHR)
readField Ptr VkPresentInfoKHR
p
          = Ptr VkPresentInfoKHR -> Int -> IO (Ptr VkSwapchainKHR)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPresentInfoKHR
p (Int
40)
{-# LINE 270 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pSwapchains" VkPresentInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPresentInfoKHR
-> FieldType "pSwapchains" VkPresentInfoKHR -> IO ()
writeField Ptr VkPresentInfoKHR
p
          = Ptr VkPresentInfoKHR -> Int -> Ptr VkSwapchainKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPresentInfoKHR
p (Int
40)
{-# LINE 276 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pImageIndices" VkPresentInfoKHR where
        type FieldType "pImageIndices" VkPresentInfoKHR = Ptr Word32
        type FieldOptional "pImageIndices" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pImageIndices" VkPresentInfoKHR =
             (48)
{-# LINE 283 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}
        type FieldIsArray "pImageIndices" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPresentInfoKHR
-> IO (FieldType "pImageIndices" VkPresentInfoKHR)
readField Ptr VkPresentInfoKHR
p
          = Ptr VkPresentInfoKHR -> Int -> IO (Ptr Word32)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPresentInfoKHR
p (Int
48)
{-# LINE 301 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pImageIndices" VkPresentInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPresentInfoKHR
-> FieldType "pImageIndices" VkPresentInfoKHR -> IO ()
writeField Ptr VkPresentInfoKHR
p
          = Ptr VkPresentInfoKHR -> Int -> Ptr Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPresentInfoKHR
p (Int
48)
{-# LINE 307 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-} HasField "pResults" VkPresentInfoKHR
         where
        type FieldType "pResults" VkPresentInfoKHR = Ptr VkResult
        type FieldOptional "pResults" VkPresentInfoKHR = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pResults" VkPresentInfoKHR =
             (56)
{-# LINE 314 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}
        type FieldIsArray "pResults" VkPresentInfoKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPresentInfoKHR -> IO (FieldType "pResults" VkPresentInfoKHR)
readField Ptr VkPresentInfoKHR
p
          = Ptr VkPresentInfoKHR -> Int -> IO (Ptr VkResult)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPresentInfoKHR
p (Int
56)
{-# LINE 332 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pResults" VkPresentInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPresentInfoKHR
-> FieldType "pResults" VkPresentInfoKHR -> IO ()
writeField Ptr VkPresentInfoKHR
p
          = Ptr VkPresentInfoKHR -> Int -> Ptr VkResult -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPresentInfoKHR
p (Int
56)
{-# LINE 338 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance Show VkPresentInfoKHR where
        showsPrec :: Int -> VkPresentInfoKHR -> ShowS
showsPrec Int
d VkPresentInfoKHR
x
          = String -> ShowS
showString String
"VkPresentInfoKHR {" 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 (VkPresentInfoKHR -> FieldType "sType" VkPresentInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPresentInfoKHR
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 (VkPresentInfoKHR -> FieldType "pNext" VkPresentInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPresentInfoKHR
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
"waitSemaphoreCount = " 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 (VkPresentInfoKHR -> FieldType "waitSemaphoreCount" VkPresentInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"waitSemaphoreCount" VkPresentInfoKHR
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
"pWaitSemaphores = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Ptr VkSemaphore -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPresentInfoKHR -> FieldType "pWaitSemaphores" VkPresentInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pWaitSemaphores" VkPresentInfoKHR
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
"swapchainCount = " 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 (VkPresentInfoKHR -> FieldType "swapchainCount" VkPresentInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"swapchainCount" VkPresentInfoKHR
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
"pSwapchains = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> Ptr VkSwapchainKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPresentInfoKHR -> FieldType "pSwapchains" VkPresentInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pSwapchains" VkPresentInfoKHR
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
"pImageIndices = " 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 (VkPresentInfoKHR -> FieldType "pImageIndices" VkPresentInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pImageIndices" VkPresentInfoKHR
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
"pResults = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                          Int -> Ptr VkResult -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPresentInfoKHR -> FieldType "pResults" VkPresentInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pResults" VkPresentInfoKHR
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                            Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPresentRegionKHR {
--   >     uint32_t         rectangleCount;
--   >     const VkRectLayerKHR*   pRectangles;
--   > } VkPresentRegionKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentRegionKHR VkPresentRegionKHR registry at www.khronos.org>
data VkPresentRegionKHR = VkPresentRegionKHR# Addr# ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkPresentRegionKHR where
        sizeOf :: VkPresentRegionKHR -> Int
sizeOf ~VkPresentRegionKHR
_ = (Int
16)
{-# LINE 389 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

instance {-# OVERLAPPING #-}
         HasField "rectangleCount" VkPresentRegionKHR where
        type FieldType "rectangleCount" VkPresentRegionKHR = Word32
        type FieldOptional "rectangleCount" VkPresentRegionKHR = 'True -- ' closing tick for hsc2hs
        type FieldOffset "rectangleCount" VkPresentRegionKHR =
             (0)
{-# LINE 426 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}
        type FieldIsArray "rectangleCount" VkPresentRegionKHR = 'False -- ' closing tick for hsc2hs

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pRectangles" VkPresentRegionKHR where
        type FieldType "pRectangles" VkPresentRegionKHR =
             Ptr VkRectLayerKHR
        type FieldOptional "pRectangles" VkPresentRegionKHR = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pRectangles" VkPresentRegionKHR =
             (8)
{-# LINE 459 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}
        type FieldIsArray "pRectangles" VkPresentRegionKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPresentRegionKHR
-> IO (FieldType "pRectangles" VkPresentRegionKHR)
readField Ptr VkPresentRegionKHR
p
          = Ptr VkPresentRegionKHR -> Int -> IO (Ptr VkRectLayerKHR)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPresentRegionKHR
p (Int
8)
{-# LINE 477 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pRectangles" VkPresentRegionKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPresentRegionKHR
-> FieldType "pRectangles" VkPresentRegionKHR -> IO ()
writeField Ptr VkPresentRegionKHR
p
          = Ptr VkPresentRegionKHR -> Int -> Ptr VkRectLayerKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPresentRegionKHR
p (Int
8)
{-# LINE 483 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance Show VkPresentRegionKHR where
        showsPrec :: Int -> VkPresentRegionKHR -> ShowS
showsPrec Int
d VkPresentRegionKHR
x
          = String -> ShowS
showString String
"VkPresentRegionKHR {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"rectangleCount = " 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 (VkPresentRegionKHR -> FieldType "rectangleCount" VkPresentRegionKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"rectangleCount" VkPresentRegionKHR
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
"pRectangles = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr VkRectLayerKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPresentRegionKHR -> FieldType "pRectangles" VkPresentRegionKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pRectangles" VkPresentRegionKHR
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPresentRegionsKHR where
        type StructFields VkPresentRegionsKHR =
             '["sType", "pNext", "swapchainCount", "pRegions"] -- ' closing tick for hsc2hs
        type CUnionType VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPresentRegionsKHR = '[VkPresentInfoKHR] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pRegions" VkPresentRegionsKHR where
        type FieldType "pRegions" VkPresentRegionsKHR =
             Ptr VkPresentRegionKHR
        type FieldOptional "pRegions" VkPresentRegionsKHR = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pRegions" VkPresentRegionsKHR =
             (24)
{-# LINE 649 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}
        type FieldIsArray "pRegions" VkPresentRegionsKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPresentRegionsKHR
-> IO (FieldType "pRegions" VkPresentRegionsKHR)
readField Ptr VkPresentRegionsKHR
p
          = Ptr VkPresentRegionsKHR -> Int -> IO (Ptr VkPresentRegionKHR)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPresentRegionsKHR
p (Int
24)
{-# LINE 667 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pRegions" VkPresentRegionsKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPresentRegionsKHR
-> FieldType "pRegions" VkPresentRegionsKHR -> IO ()
writeField Ptr VkPresentRegionsKHR
p
          = Ptr VkPresentRegionsKHR -> Int -> Ptr VkPresentRegionKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPresentRegionsKHR
p (Int
24)
{-# LINE 673 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance Show VkPresentRegionsKHR where
        showsPrec :: Int -> VkPresentRegionsKHR -> ShowS
showsPrec Int
d VkPresentRegionsKHR
x
          = String -> ShowS
showString String
"VkPresentRegionsKHR {" 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 (VkPresentRegionsKHR -> FieldType "sType" VkPresentRegionsKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPresentRegionsKHR
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 (VkPresentRegionsKHR -> FieldType "pNext" VkPresentRegionsKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPresentRegionsKHR
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
"swapchainCount = " 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 (VkPresentRegionsKHR
-> FieldType "swapchainCount" VkPresentRegionsKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"swapchainCount" VkPresentRegionsKHR
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
"pRegions = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Ptr VkPresentRegionKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPresentRegionsKHR -> FieldType "pRegions" VkPresentRegionsKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pRegions" VkPresentRegionsKHR
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPresentTimeGOOGLE {
--   >     uint32_t                         presentID;
--   >     uint64_t                         desiredPresentTime;
--   > } VkPresentTimeGOOGLE;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPresentTimeGOOGLE VkPresentTimeGOOGLE registry at www.khronos.org>
data VkPresentTimeGOOGLE = VkPresentTimeGOOGLE# Addr# ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkPresentTimeGOOGLE where
        sizeOf :: VkPresentTimeGOOGLE -> Int
sizeOf ~VkPresentTimeGOOGLE
_ = (Int
16)
{-# LINE 711 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "desiredPresentTime" VkPresentTimeGOOGLE where
        type FieldType "desiredPresentTime" VkPresentTimeGOOGLE = Word64
        type FieldOptional "desiredPresentTime" VkPresentTimeGOOGLE =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "desiredPresentTime" VkPresentTimeGOOGLE =
             (8)
{-# LINE 780 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}
        type FieldIsArray "desiredPresentTime" VkPresentTimeGOOGLE = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPresentTimeGOOGLE
-> IO (FieldType "desiredPresentTime" VkPresentTimeGOOGLE)
readField Ptr VkPresentTimeGOOGLE
p
          = Ptr VkPresentTimeGOOGLE -> Int -> IO Word64
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPresentTimeGOOGLE
p (Int
8)
{-# LINE 799 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "desiredPresentTime" VkPresentTimeGOOGLE where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPresentTimeGOOGLE
-> FieldType "desiredPresentTime" VkPresentTimeGOOGLE -> IO ()
writeField Ptr VkPresentTimeGOOGLE
p
          = Ptr VkPresentTimeGOOGLE -> Int -> Word64 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPresentTimeGOOGLE
p (Int
8)
{-# LINE 805 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance Show VkPresentTimeGOOGLE where
        showsPrec :: Int -> VkPresentTimeGOOGLE -> ShowS
showsPrec Int
d VkPresentTimeGOOGLE
x
          = String -> ShowS
showString String
"VkPresentTimeGOOGLE {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"presentID = " 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 (VkPresentTimeGOOGLE -> FieldType "presentID" VkPresentTimeGOOGLE
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"presentID" VkPresentTimeGOOGLE
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
"desiredPresentTime = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Word64 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPresentTimeGOOGLE
-> FieldType "desiredPresentTime" VkPresentTimeGOOGLE
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"desiredPresentTime" VkPresentTimeGOOGLE
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPresentTimesInfoGOOGLE where
        type StructFields VkPresentTimesInfoGOOGLE =
             '["sType", "pNext", "swapchainCount", "pTimes"] -- ' closing tick for hsc2hs
        type CUnionType VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPresentTimesInfoGOOGLE = '[VkPresentInfoKHR] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pTimes" VkPresentTimesInfoGOOGLE where
        type FieldType "pTimes" VkPresentTimesInfoGOOGLE =
             Ptr VkPresentTimeGOOGLE
        type FieldOptional "pTimes" VkPresentTimesInfoGOOGLE = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pTimes" VkPresentTimesInfoGOOGLE =
             (24)
{-# LINE 975 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}
        type FieldIsArray "pTimes" VkPresentTimesInfoGOOGLE = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPresentTimesInfoGOOGLE
-> IO (FieldType "pTimes" VkPresentTimesInfoGOOGLE)
readField Ptr VkPresentTimesInfoGOOGLE
p
          = Ptr VkPresentTimesInfoGOOGLE -> Int -> IO (Ptr VkPresentTimeGOOGLE)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPresentTimesInfoGOOGLE
p (Int
24)
{-# LINE 994 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pTimes" VkPresentTimesInfoGOOGLE where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPresentTimesInfoGOOGLE
-> FieldType "pTimes" VkPresentTimesInfoGOOGLE -> IO ()
writeField Ptr VkPresentTimesInfoGOOGLE
p
          = Ptr VkPresentTimesInfoGOOGLE
-> Int -> Ptr VkPresentTimeGOOGLE -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPresentTimesInfoGOOGLE
p (Int
24)
{-# LINE 1000 "src-gen/Graphics/Vulkan/Types/Struct/Present.hsc" #-}

instance Show VkPresentTimesInfoGOOGLE where
        showsPrec :: Int -> VkPresentTimesInfoGOOGLE -> ShowS
showsPrec Int
d VkPresentTimesInfoGOOGLE
x
          = String -> ShowS
showString String
"VkPresentTimesInfoGOOGLE {" 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 (VkPresentTimesInfoGOOGLE
-> FieldType "sType" VkPresentTimesInfoGOOGLE
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPresentTimesInfoGOOGLE
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 (VkPresentTimesInfoGOOGLE
-> FieldType "pNext" VkPresentTimesInfoGOOGLE
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPresentTimesInfoGOOGLE
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
"swapchainCount = " 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 (VkPresentTimesInfoGOOGLE
-> FieldType "swapchainCount" VkPresentTimesInfoGOOGLE
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"swapchainCount" VkPresentTimesInfoGOOGLE
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
"pTimes = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Ptr VkPresentTimeGOOGLE -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPresentTimesInfoGOOGLE
-> FieldType "pTimes" VkPresentTimesInfoGOOGLE
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pTimes" VkPresentTimesInfoGOOGLE
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'