{-# LINE 1 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
{-# LINE 2 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
module Graphics.Vulkan.Types.Struct.PastPresentationTimingGOOGLE
(VkPastPresentationTimingGOOGLE(..)) where
import Foreign.Storable (Storable (..))
import GHC.Base (Addr#, ByteArray#,
byteArrayContents#,
plusAddr#)
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import System.IO.Unsafe (unsafeDupablePerformIO)
data VkPastPresentationTimingGOOGLE = VkPastPresentationTimingGOOGLE# Addr#
ByteArray#
instance Eq VkPastPresentationTimingGOOGLE where
(VkPastPresentationTimingGOOGLE# a _) ==
x@(VkPastPresentationTimingGOOGLE# b _)
= EQ == cmpBytes# (sizeOf x) a b
{-# INLINE (==) #-}
instance Ord VkPastPresentationTimingGOOGLE where
(VkPastPresentationTimingGOOGLE# a _) `compare`
x@(VkPastPresentationTimingGOOGLE# b _) = cmpBytes# (sizeOf x) a b
{-# INLINE compare #-}
instance Storable VkPastPresentationTimingGOOGLE where
sizeOf ~_ = (40)
{-# LINE 47 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
{-# INLINE sizeOf #-}
alignment ~_
= (8)
{-# LINE 51 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
{-# INLINE alignment #-}
peek = peekVkData#
{-# INLINE peek #-}
poke = pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkPastPresentationTimingGOOGLE where
unsafeAddr (VkPastPresentationTimingGOOGLE# a _) = a
{-# INLINE unsafeAddr #-}
unsafeByteArray (VkPastPresentationTimingGOOGLE# _ b) = b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset off b
= VkPastPresentationTimingGOOGLE#
(plusAddr# (byteArrayContents# b) off)
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkPastPresentationTimingGOOGLE where
type StructFields VkPastPresentationTimingGOOGLE =
'["presentID", "desiredPresentTime", "actualPresentTime", -- ' closing tick for hsc2hs
"earliestPresentTime", "presentMargin"]
type CUnionType VkPastPresentationTimingGOOGLE = 'False -- ' closing tick for hsc2hs
type ReturnedOnly VkPastPresentationTimingGOOGLE = 'False -- ' closing tick for hsc2hs
type StructExtends VkPastPresentationTimingGOOGLE = '[] -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
HasField "presentID" VkPastPresentationTimingGOOGLE where
type FieldType "presentID" VkPastPresentationTimingGOOGLE = Word32
type FieldOptional "presentID" VkPastPresentationTimingGOOGLE =
'False -- ' closing tick for hsc2hs
type FieldOffset "presentID" VkPastPresentationTimingGOOGLE =
(0)
{-# LINE 89 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
type FieldIsArray "presentID" VkPastPresentationTimingGOOGLE =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (0)
{-# LINE 98 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "presentID" VkPastPresentationTimingGOOGLE where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
{-# LINE 105 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (0)
{-# LINE 109 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "presentID" VkPastPresentationTimingGOOGLE where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (0)
{-# LINE 115 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "desiredPresentTime" VkPastPresentationTimingGOOGLE where
type FieldType "desiredPresentTime" VkPastPresentationTimingGOOGLE
= Word64
type FieldOptional "desiredPresentTime"
VkPastPresentationTimingGOOGLE
= 'False -- ' closing tick for hsc2hs
type FieldOffset "desiredPresentTime"
VkPastPresentationTimingGOOGLE
=
(8)
{-# LINE 127 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
type FieldIsArray "desiredPresentTime"
VkPastPresentationTimingGOOGLE
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (8)
{-# LINE 137 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "desiredPresentTime" VkPastPresentationTimingGOOGLE
where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
{-# LINE 145 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (8)
{-# LINE 149 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "desiredPresentTime" VkPastPresentationTimingGOOGLE
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (8)
{-# LINE 156 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "actualPresentTime" VkPastPresentationTimingGOOGLE where
type FieldType "actualPresentTime" VkPastPresentationTimingGOOGLE =
Word64
type FieldOptional "actualPresentTime"
VkPastPresentationTimingGOOGLE
= 'False -- ' closing tick for hsc2hs
type FieldOffset "actualPresentTime" VkPastPresentationTimingGOOGLE
=
(16)
{-# LINE 167 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
type FieldIsArray "actualPresentTime"
VkPastPresentationTimingGOOGLE
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (16)
{-# LINE 177 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "actualPresentTime" VkPastPresentationTimingGOOGLE
where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
{-# LINE 185 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (16)
{-# LINE 189 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "actualPresentTime" VkPastPresentationTimingGOOGLE
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (16)
{-# LINE 196 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "earliestPresentTime" VkPastPresentationTimingGOOGLE where
type FieldType "earliestPresentTime" VkPastPresentationTimingGOOGLE
= Word64
type FieldOptional "earliestPresentTime"
VkPastPresentationTimingGOOGLE
= 'False -- ' closing tick for hsc2hs
type FieldOffset "earliestPresentTime"
VkPastPresentationTimingGOOGLE
=
(24)
{-# LINE 208 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
type FieldIsArray "earliestPresentTime"
VkPastPresentationTimingGOOGLE
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (24)
{-# LINE 218 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "earliestPresentTime" VkPastPresentationTimingGOOGLE
where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (24))
{-# LINE 226 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (24)
{-# LINE 230 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "earliestPresentTime" VkPastPresentationTimingGOOGLE
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (24)
{-# LINE 237 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "presentMargin" VkPastPresentationTimingGOOGLE where
type FieldType "presentMargin" VkPastPresentationTimingGOOGLE =
Word64
type FieldOptional "presentMargin" VkPastPresentationTimingGOOGLE =
'False -- ' closing tick for hsc2hs
type FieldOffset "presentMargin" VkPastPresentationTimingGOOGLE =
(32)
{-# LINE 246 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
type FieldIsArray "presentMargin" VkPastPresentationTimingGOOGLE =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (32)
{-# LINE 255 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "presentMargin" VkPastPresentationTimingGOOGLE where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (32))
{-# LINE 262 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (32)
{-# LINE 266 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "presentMargin" VkPastPresentationTimingGOOGLE where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (32)
{-# LINE 272 "src-gen/Graphics/Vulkan/Types/Struct/PastPresentationTimingGOOGLE.hsc" #-}
instance Show VkPastPresentationTimingGOOGLE where
showsPrec d x
= showString "VkPastPresentationTimingGOOGLE {" .
showString "presentID = " .
showsPrec d (getField @"presentID" x) .
showString ", " .
showString "desiredPresentTime = " .
showsPrec d (getField @"desiredPresentTime" x) .
showString ", " .
showString "actualPresentTime = " .
showsPrec d (getField @"actualPresentTime" x) .
showString ", " .
showString "earliestPresentTime = " .
showsPrec d (getField @"earliestPresentTime" x) .
showString ", " .
showString "presentMargin = " .
showsPrec d (getField @"presentMargin" x) . showChar '}'