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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MagicHash             #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeApplications      #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.Display
       (VkDisplayEventInfoEXT(..), VkDisplayModeCreateInfoKHR(..),
        VkDisplayModeParametersKHR(..), VkDisplayModePropertiesKHR(..),
        VkDisplayPlaneCapabilitiesKHR(..), VkDisplayPlanePropertiesKHR(..),
        VkDisplayPowerInfoEXT(..), VkDisplayPresentInfoKHR(..),
        VkDisplayPropertiesKHR(..), VkDisplaySurfaceCreateInfoKHR(..))
       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)
import           Graphics.Vulkan.Types.Bitmasks           (VkDisplayModeCreateFlagsKHR,
                                                           VkDisplaySurfaceCreateFlagsKHR)
import           Graphics.Vulkan.Types.Enum.Display       (VkDisplayEventTypeEXT,
                                                           VkDisplayPlaneAlphaFlagBitsKHR,
                                                           VkDisplayPlaneAlphaFlagsKHR,
                                                           VkDisplayPowerStateEXT)
import           Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import           Graphics.Vulkan.Types.Enum.Surface       (VkSurfaceTransformFlagBitsKHR,
                                                           VkSurfaceTransformFlagsKHR)
import           Graphics.Vulkan.Types.Handles            (VkDisplayKHR,
                                                           VkDisplayModeKHR)
import           Graphics.Vulkan.Types.Struct.Extent      (VkExtent2D)
import           Graphics.Vulkan.Types.Struct.Offset      (VkOffset2D)
import           Graphics.Vulkan.Types.Struct.Present     (VkPresentInfoKHR)
import           Graphics.Vulkan.Types.Struct.Rect        (VkRect2D)
import           System.IO.Unsafe                         (unsafeDupablePerformIO)

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "displayEvent" VkDisplayEventInfoEXT where
        type FieldType "displayEvent" VkDisplayEventInfoEXT =
             VkDisplayEventTypeEXT
        type FieldOptional "displayEvent" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs
        type FieldOffset "displayEvent" VkDisplayEventInfoEXT =
             (16)
{-# LINE 165 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "displayEvent" VkDisplayEventInfoEXT = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayEventInfoEXT
-> IO (FieldType "displayEvent" VkDisplayEventInfoEXT)
readField Ptr VkDisplayEventInfoEXT
p
          = Ptr VkDisplayEventInfoEXT -> Int -> IO VkDisplayEventTypeEXT
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayEventInfoEXT
p (Int
16)
{-# LINE 184 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "displayEvent" VkDisplayEventInfoEXT where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayEventInfoEXT
-> FieldType "displayEvent" VkDisplayEventInfoEXT -> IO ()
writeField Ptr VkDisplayEventInfoEXT
p
          = Ptr VkDisplayEventInfoEXT -> Int -> VkDisplayEventTypeEXT -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayEventInfoEXT
p (Int
16)
{-# LINE 190 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

-- | > typedef struct VkDisplayModeCreateInfoKHR {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkDisplayModeCreateFlagsKHR      flags;
--   >     VkDisplayModeParametersKHR       parameters;
--   > } VkDisplayModeCreateInfoKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModeCreateInfoKHR VkDisplayModeCreateInfoKHR registry at www.khronos.org>
data VkDisplayModeCreateInfoKHR = VkDisplayModeCreateInfoKHR# Addr#
                                                              ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "parameters" VkDisplayModeCreateInfoKHR where
        type FieldType "parameters" VkDisplayModeCreateInfoKHR =
             VkDisplayModeParametersKHR
        type FieldOptional "parameters" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "parameters" VkDisplayModeCreateInfoKHR =
             (20)
{-# LINE 366 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "parameters" VkDisplayModeCreateInfoKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayModeCreateInfoKHR
-> IO (FieldType "parameters" VkDisplayModeCreateInfoKHR)
readField Ptr VkDisplayModeCreateInfoKHR
p
          = Ptr VkDisplayModeCreateInfoKHR
-> Int -> IO VkDisplayModeParametersKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayModeCreateInfoKHR
p (Int
20)
{-# LINE 385 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "parameters" VkDisplayModeCreateInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayModeCreateInfoKHR
-> FieldType "parameters" VkDisplayModeCreateInfoKHR -> IO ()
writeField Ptr VkDisplayModeCreateInfoKHR
p
          = Ptr VkDisplayModeCreateInfoKHR
-> Int -> VkDisplayModeParametersKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayModeCreateInfoKHR
p (Int
20)
{-# LINE 391 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

-- | > typedef struct VkDisplayModeParametersKHR {
--   >     VkExtent2D                       visibleRegion;
--   >     uint32_t                         refreshRate;
--   > } VkDisplayModeParametersKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModeParametersKHR VkDisplayModeParametersKHR registry at www.khronos.org>
data VkDisplayModeParametersKHR = VkDisplayModeParametersKHR# Addr#
                                                              ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkDisplayModeParametersKHR where
        sizeOf :: VkDisplayModeParametersKHR -> Int
sizeOf ~VkDisplayModeParametersKHR
_ = (Int
12)
{-# LINE 431 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

instance {-# OVERLAPPING #-}
         HasField "visibleRegion" VkDisplayModeParametersKHR where
        type FieldType "visibleRegion" VkDisplayModeParametersKHR =
             VkExtent2D
        type FieldOptional "visibleRegion" VkDisplayModeParametersKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "visibleRegion" VkDisplayModeParametersKHR =
             (0)
{-# LINE 472 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "visibleRegion" VkDisplayModeParametersKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayModeParametersKHR
-> IO (FieldType "visibleRegion" VkDisplayModeParametersKHR)
readField Ptr VkDisplayModeParametersKHR
p
          = Ptr VkDisplayModeParametersKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayModeParametersKHR
p (Int
0)
{-# LINE 492 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "visibleRegion" VkDisplayModeParametersKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayModeParametersKHR
-> FieldType "visibleRegion" VkDisplayModeParametersKHR -> IO ()
writeField Ptr VkDisplayModeParametersKHR
p
          = Ptr VkDisplayModeParametersKHR -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayModeParametersKHR
p (Int
0)
{-# LINE 498 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

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

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

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

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

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

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

-- | > typedef struct VkDisplayModePropertiesKHR {
--   >     VkDisplayModeKHR                 displayMode;
--   >     VkDisplayModeParametersKHR       parameters;
--   > } VkDisplayModePropertiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayModePropertiesKHR VkDisplayModePropertiesKHR registry at www.khronos.org>
data VkDisplayModePropertiesKHR = VkDisplayModePropertiesKHR# Addr#
                                                              ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDisplayModePropertiesKHR where
        type StructFields VkDisplayModePropertiesKHR =
             '["displayMode", "parameters"] -- ' closing tick for hsc2hs
        type CUnionType VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDisplayModePropertiesKHR = 'True -- ' closing tick for hsc2hs
        type StructExtends VkDisplayModePropertiesKHR = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "displayMode" VkDisplayModePropertiesKHR where
        type FieldType "displayMode" VkDisplayModePropertiesKHR =
             VkDisplayModeKHR
        type FieldOptional "displayMode" VkDisplayModePropertiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "displayMode" VkDisplayModePropertiesKHR =
             (0)
{-# LINE 606 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "displayMode" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayModePropertiesKHR
-> IO (FieldType "displayMode" VkDisplayModePropertiesKHR)
readField Ptr VkDisplayModePropertiesKHR
p
          = Ptr VkDisplayModePropertiesKHR -> Int -> IO VkDisplayModeKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayModePropertiesKHR
p (Int
0)
{-# LINE 625 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "displayMode" VkDisplayModePropertiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayModePropertiesKHR
-> FieldType "displayMode" VkDisplayModePropertiesKHR -> IO ()
writeField Ptr VkDisplayModePropertiesKHR
p
          = Ptr VkDisplayModePropertiesKHR -> Int -> VkDisplayModeKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayModePropertiesKHR
p (Int
0)
{-# LINE 631 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "parameters" VkDisplayModePropertiesKHR where
        type FieldType "parameters" VkDisplayModePropertiesKHR =
             VkDisplayModeParametersKHR
        type FieldOptional "parameters" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "parameters" VkDisplayModePropertiesKHR =
             (8)
{-# LINE 639 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "parameters" VkDisplayModePropertiesKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayModePropertiesKHR
-> IO (FieldType "parameters" VkDisplayModePropertiesKHR)
readField Ptr VkDisplayModePropertiesKHR
p
          = Ptr VkDisplayModePropertiesKHR
-> Int -> IO VkDisplayModeParametersKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayModePropertiesKHR
p (Int
8)
{-# LINE 658 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "parameters" VkDisplayModePropertiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayModePropertiesKHR
-> FieldType "parameters" VkDisplayModePropertiesKHR -> IO ()
writeField Ptr VkDisplayModePropertiesKHR
p
          = Ptr VkDisplayModePropertiesKHR
-> Int -> VkDisplayModeParametersKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayModePropertiesKHR
p (Int
8)
{-# LINE 664 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

-- | > typedef struct VkDisplayPlaneCapabilitiesKHR {
--   >     VkDisplayPlaneAlphaFlagsKHR      supportedAlpha;
--   >     VkOffset2D                       minSrcPosition;
--   >     VkOffset2D                       maxSrcPosition;
--   >     VkExtent2D                       minSrcExtent;
--   >     VkExtent2D                       maxSrcExtent;
--   >     VkOffset2D                       minDstPosition;
--   >     VkOffset2D                       maxDstPosition;
--   >     VkExtent2D                       minDstExtent;
--   >     VkExtent2D                       maxDstExtent;
--   > } VkDisplayPlaneCapabilitiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlaneCapabilitiesKHR VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org>
data VkDisplayPlaneCapabilitiesKHR = VkDisplayPlaneCapabilitiesKHR# Addr#
                                                                    ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkDisplayPlaneCapabilitiesKHR where
        sizeOf :: VkDisplayPlaneCapabilitiesKHR -> Int
sizeOf ~VkDisplayPlaneCapabilitiesKHR
_ = (Int
68)
{-# LINE 705 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDisplayPlaneCapabilitiesKHR where
        type StructFields VkDisplayPlaneCapabilitiesKHR =
             '["supportedAlpha", "minSrcPosition", "maxSrcPosition", -- ' closing tick for hsc2hs
               "minSrcExtent", "maxSrcExtent", "minDstPosition", "maxDstPosition",
               "minDstExtent", "maxDstExtent"]
        type CUnionType VkDisplayPlaneCapabilitiesKHR = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDisplayPlaneCapabilitiesKHR = 'True -- ' closing tick for hsc2hs
        type StructExtends VkDisplayPlaneCapabilitiesKHR = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where
        type FieldType "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =
             VkDisplayPlaneAlphaFlagsKHR
        type FieldOptional "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =
             (0)
{-# LINE 749 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "supportedAlpha" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> IO (FieldType "supportedAlpha" VkDisplayPlaneCapabilitiesKHR)
readField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR
-> Int -> IO VkDisplayPlaneAlphaFlagsKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
0)
{-# LINE 769 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "supportedAlpha" VkDisplayPlaneCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> FieldType "supportedAlpha" VkDisplayPlaneCapabilitiesKHR
-> IO ()
writeField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR
-> Int -> VkDisplayPlaneAlphaFlagsKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
0)
{-# LINE 775 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where
        type FieldType "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =
             VkOffset2D
        type FieldOptional "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =
             (4)
{-# LINE 784 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "minSrcPosition" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> IO (FieldType "minSrcPosition" VkDisplayPlaneCapabilitiesKHR)
readField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkOffset2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
4)
{-# LINE 804 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "minSrcPosition" VkDisplayPlaneCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> FieldType "minSrcPosition" VkDisplayPlaneCapabilitiesKHR
-> IO ()
writeField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> VkOffset2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
4)
{-# LINE 810 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where
        type FieldType "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =
             VkOffset2D
        type FieldOptional "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =
             (12)
{-# LINE 819 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> IO (FieldType "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR)
readField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkOffset2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
12)
{-# LINE 839 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR
-> IO ()
writeField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> VkOffset2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
12)
{-# LINE 845 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where
        type FieldType "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =
             VkExtent2D
        type FieldOptional "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =
             (20)
{-# LINE 854 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "minSrcExtent" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> IO (FieldType "minSrcExtent" VkDisplayPlaneCapabilitiesKHR)
readField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
20)
{-# LINE 874 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "minSrcExtent" VkDisplayPlaneCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> FieldType "minSrcExtent" VkDisplayPlaneCapabilitiesKHR -> IO ()
writeField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
20)
{-# LINE 880 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where
        type FieldType "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =
             VkExtent2D
        type FieldOptional "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =
             (28)
{-# LINE 889 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
28)
{-# LINE 898 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where
        {-# NOINLINE getField #-}
        getField :: VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR
getField VkDisplayPlaneCapabilitiesKHR
x
          = IO VkExtent2D -> VkExtent2D
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDisplayPlaneCapabilitiesKHR -> Ptr VkDisplayPlaneCapabilitiesKHR
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDisplayPlaneCapabilitiesKHR
x) (Int
28))
{-# LINE 905 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> IO (FieldType "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR)
readField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
28)
{-# LINE 909 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR -> IO ()
writeField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
28)
{-# LINE 915 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where
        type FieldType "minDstPosition" VkDisplayPlaneCapabilitiesKHR =
             VkOffset2D
        type FieldOptional "minDstPosition" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "minDstPosition" VkDisplayPlaneCapabilitiesKHR =
             (36)
{-# LINE 924 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "minDstPosition" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
36)
{-# LINE 933 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where
        {-# NOINLINE getField #-}
        getField :: VkDisplayPlaneCapabilitiesKHR
-> FieldType "minDstPosition" VkDisplayPlaneCapabilitiesKHR
getField VkDisplayPlaneCapabilitiesKHR
x
          = IO VkOffset2D -> VkOffset2D
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkOffset2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDisplayPlaneCapabilitiesKHR -> Ptr VkDisplayPlaneCapabilitiesKHR
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDisplayPlaneCapabilitiesKHR
x) (Int
36))
{-# LINE 940 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> IO (FieldType "minDstPosition" VkDisplayPlaneCapabilitiesKHR)
readField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkOffset2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
36)
{-# LINE 944 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "minDstPosition" VkDisplayPlaneCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> FieldType "minDstPosition" VkDisplayPlaneCapabilitiesKHR
-> IO ()
writeField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> VkOffset2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
36)
{-# LINE 950 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where
        type FieldType "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =
             VkOffset2D
        type FieldOptional "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =
             (44)
{-# LINE 959 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "maxDstPosition" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
44)
{-# LINE 968 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where
        {-# NOINLINE getField #-}
        getField :: VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxDstPosition" VkDisplayPlaneCapabilitiesKHR
getField VkDisplayPlaneCapabilitiesKHR
x
          = IO VkOffset2D -> VkOffset2D
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkOffset2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDisplayPlaneCapabilitiesKHR -> Ptr VkDisplayPlaneCapabilitiesKHR
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDisplayPlaneCapabilitiesKHR
x) (Int
44))
{-# LINE 975 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> IO (FieldType "maxDstPosition" VkDisplayPlaneCapabilitiesKHR)
readField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkOffset2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
44)
{-# LINE 979 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxDstPosition" VkDisplayPlaneCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxDstPosition" VkDisplayPlaneCapabilitiesKHR
-> IO ()
writeField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> VkOffset2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
44)
{-# LINE 985 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where
        type FieldType "minDstExtent" VkDisplayPlaneCapabilitiesKHR =
             VkExtent2D
        type FieldOptional "minDstExtent" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "minDstExtent" VkDisplayPlaneCapabilitiesKHR =
             (52)
{-# LINE 994 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "minDstExtent" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
52)
{-# LINE 1003 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where
        {-# NOINLINE getField #-}
        getField :: VkDisplayPlaneCapabilitiesKHR
-> FieldType "minDstExtent" VkDisplayPlaneCapabilitiesKHR
getField VkDisplayPlaneCapabilitiesKHR
x
          = IO VkExtent2D -> VkExtent2D
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDisplayPlaneCapabilitiesKHR -> Ptr VkDisplayPlaneCapabilitiesKHR
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDisplayPlaneCapabilitiesKHR
x) (Int
52))
{-# LINE 1010 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> IO (FieldType "minDstExtent" VkDisplayPlaneCapabilitiesKHR)
readField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
52)
{-# LINE 1014 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "minDstExtent" VkDisplayPlaneCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> FieldType "minDstExtent" VkDisplayPlaneCapabilitiesKHR -> IO ()
writeField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
52)
{-# LINE 1020 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where
        type FieldType "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =
             VkExtent2D
        type FieldOptional "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =
             (60)
{-# LINE 1029 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "maxDstExtent" VkDisplayPlaneCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
60)
{-# LINE 1038 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where
        {-# NOINLINE getField #-}
        getField :: VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxDstExtent" VkDisplayPlaneCapabilitiesKHR
getField VkDisplayPlaneCapabilitiesKHR
x
          = IO VkExtent2D -> VkExtent2D
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDisplayPlaneCapabilitiesKHR -> Ptr VkDisplayPlaneCapabilitiesKHR
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDisplayPlaneCapabilitiesKHR
x) (Int
60))
{-# LINE 1045 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> IO (FieldType "maxDstExtent" VkDisplayPlaneCapabilitiesKHR)
readField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
60)
{-# LINE 1049 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxDstExtent" VkDisplayPlaneCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxDstExtent" VkDisplayPlaneCapabilitiesKHR -> IO ()
writeField Ptr VkDisplayPlaneCapabilitiesKHR
p
          = Ptr VkDisplayPlaneCapabilitiesKHR -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPlaneCapabilitiesKHR
p (Int
60)
{-# LINE 1055 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance Show VkDisplayPlaneCapabilitiesKHR where
        showsPrec :: Int -> VkDisplayPlaneCapabilitiesKHR -> ShowS
showsPrec Int
d VkDisplayPlaneCapabilitiesKHR
x
          = String -> ShowS
showString String
"VkDisplayPlaneCapabilitiesKHR {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"supportedAlpha = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkDisplayPlaneAlphaFlagsKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPlaneCapabilitiesKHR
-> FieldType "supportedAlpha" VkDisplayPlaneCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"supportedAlpha" VkDisplayPlaneCapabilitiesKHR
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
"minSrcPosition = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkOffset2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPlaneCapabilitiesKHR
-> FieldType "minSrcPosition" VkDisplayPlaneCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"minSrcPosition" VkDisplayPlaneCapabilitiesKHR
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
"maxSrcPosition = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkOffset2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxSrcPosition" VkDisplayPlaneCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxSrcPosition" VkDisplayPlaneCapabilitiesKHR
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
"minSrcExtent = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkExtent2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPlaneCapabilitiesKHR
-> FieldType "minSrcExtent" VkDisplayPlaneCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"minSrcExtent" VkDisplayPlaneCapabilitiesKHR
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
"maxSrcExtent = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> VkExtent2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxSrcExtent" VkDisplayPlaneCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxSrcExtent" VkDisplayPlaneCapabilitiesKHR
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
"minDstPosition = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> VkOffset2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPlaneCapabilitiesKHR
-> FieldType "minDstPosition" VkDisplayPlaneCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"minDstPosition" VkDisplayPlaneCapabilitiesKHR
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
"maxDstPosition = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> VkOffset2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxDstPosition" VkDisplayPlaneCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxDstPosition" VkDisplayPlaneCapabilitiesKHR
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
"minDstExtent = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                          Int -> VkExtent2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPlaneCapabilitiesKHR
-> FieldType "minDstExtent" VkDisplayPlaneCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"minDstExtent" VkDisplayPlaneCapabilitiesKHR
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
"maxDstExtent = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                Int -> VkExtent2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                  (VkDisplayPlaneCapabilitiesKHR
-> FieldType "maxDstExtent" VkDisplayPlaneCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxDstExtent" VkDisplayPlaneCapabilitiesKHR
x)
                                                                  ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDisplayPlanePropertiesKHR {
--   >     VkDisplayKHR                     currentDisplay;
--   >     uint32_t                         currentStackIndex;
--   > } VkDisplayPlanePropertiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPlanePropertiesKHR VkDisplayPlanePropertiesKHR registry at www.khronos.org>
data VkDisplayPlanePropertiesKHR = VkDisplayPlanePropertiesKHR# Addr#
                                                                ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDisplayPlanePropertiesKHR where
        type StructFields VkDisplayPlanePropertiesKHR =
             '["currentDisplay", "currentStackIndex"] -- ' closing tick for hsc2hs
        type CUnionType VkDisplayPlanePropertiesKHR = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDisplayPlanePropertiesKHR = 'True -- ' closing tick for hsc2hs
        type StructExtends VkDisplayPlanePropertiesKHR = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "currentDisplay" VkDisplayPlanePropertiesKHR where
        type FieldType "currentDisplay" VkDisplayPlanePropertiesKHR =
             VkDisplayKHR
        type FieldOptional "currentDisplay" VkDisplayPlanePropertiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "currentDisplay" VkDisplayPlanePropertiesKHR =
             (0)
{-# LINE 1153 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "currentDisplay" VkDisplayPlanePropertiesKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPlanePropertiesKHR
-> IO (FieldType "currentDisplay" VkDisplayPlanePropertiesKHR)
readField Ptr VkDisplayPlanePropertiesKHR
p
          = Ptr VkDisplayPlanePropertiesKHR -> Int -> IO VkDisplayKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPlanePropertiesKHR
p (Int
0)
{-# LINE 1173 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "currentDisplay" VkDisplayPlanePropertiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPlanePropertiesKHR
-> FieldType "currentDisplay" VkDisplayPlanePropertiesKHR -> IO ()
writeField Ptr VkDisplayPlanePropertiesKHR
p
          = Ptr VkDisplayPlanePropertiesKHR -> Int -> VkDisplayKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPlanePropertiesKHR
p (Int
0)
{-# LINE 1179 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

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

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

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

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

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

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

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "powerState" VkDisplayPowerInfoEXT where
        type FieldType "powerState" VkDisplayPowerInfoEXT =
             VkDisplayPowerStateEXT
        type FieldOptional "powerState" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs
        type FieldOffset "powerState" VkDisplayPowerInfoEXT =
             (16)
{-# LINE 1348 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "powerState" VkDisplayPowerInfoEXT = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPowerInfoEXT
-> IO (FieldType "powerState" VkDisplayPowerInfoEXT)
readField Ptr VkDisplayPowerInfoEXT
p
          = Ptr VkDisplayPowerInfoEXT -> Int -> IO VkDisplayPowerStateEXT
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPowerInfoEXT
p (Int
16)
{-# LINE 1367 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "powerState" VkDisplayPowerInfoEXT where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPowerInfoEXT
-> FieldType "powerState" VkDisplayPowerInfoEXT -> IO ()
writeField Ptr VkDisplayPowerInfoEXT
p
          = Ptr VkDisplayPowerInfoEXT -> Int -> VkDisplayPowerStateEXT -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPowerInfoEXT
p (Int
16)
{-# LINE 1373 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDisplayPresentInfoKHR where
        type StructFields VkDisplayPresentInfoKHR =
             '["sType", "pNext", "srcRect", "dstRect", "persistent"] -- ' closing tick for hsc2hs
        type CUnionType VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDisplayPresentInfoKHR = '[VkPresentInfoKHR] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "srcRect" VkDisplayPresentInfoKHR where
        type FieldType "srcRect" VkDisplayPresentInfoKHR = VkRect2D
        type FieldOptional "srcRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "srcRect" VkDisplayPresentInfoKHR =
             (16)
{-# LINE 1511 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "srcRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPresentInfoKHR
-> IO (FieldType "srcRect" VkDisplayPresentInfoKHR)
readField Ptr VkDisplayPresentInfoKHR
p
          = Ptr VkDisplayPresentInfoKHR -> Int -> IO VkRect2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPresentInfoKHR
p (Int
16)
{-# LINE 1530 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "srcRect" VkDisplayPresentInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPresentInfoKHR
-> FieldType "srcRect" VkDisplayPresentInfoKHR -> IO ()
writeField Ptr VkDisplayPresentInfoKHR
p
          = Ptr VkDisplayPresentInfoKHR -> Int -> VkRect2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPresentInfoKHR
p (Int
16)
{-# LINE 1536 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "dstRect" VkDisplayPresentInfoKHR where
        type FieldType "dstRect" VkDisplayPresentInfoKHR = VkRect2D
        type FieldOptional "dstRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "dstRect" VkDisplayPresentInfoKHR =
             (32)
{-# LINE 1543 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "dstRect" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPresentInfoKHR
-> IO (FieldType "dstRect" VkDisplayPresentInfoKHR)
readField Ptr VkDisplayPresentInfoKHR
p
          = Ptr VkDisplayPresentInfoKHR -> Int -> IO VkRect2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPresentInfoKHR
p (Int
32)
{-# LINE 1562 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "dstRect" VkDisplayPresentInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPresentInfoKHR
-> FieldType "dstRect" VkDisplayPresentInfoKHR -> IO ()
writeField Ptr VkDisplayPresentInfoKHR
p
          = Ptr VkDisplayPresentInfoKHR -> Int -> VkRect2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPresentInfoKHR
p (Int
32)
{-# LINE 1568 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "persistent" VkDisplayPresentInfoKHR where
        type FieldType "persistent" VkDisplayPresentInfoKHR = VkBool32
        type FieldOptional "persistent" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "persistent" VkDisplayPresentInfoKHR =
             (48)
{-# LINE 1575 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "persistent" VkDisplayPresentInfoKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPresentInfoKHR
-> IO (FieldType "persistent" VkDisplayPresentInfoKHR)
readField Ptr VkDisplayPresentInfoKHR
p
          = Ptr VkDisplayPresentInfoKHR -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPresentInfoKHR
p (Int
48)
{-# LINE 1594 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "persistent" VkDisplayPresentInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPresentInfoKHR
-> FieldType "persistent" VkDisplayPresentInfoKHR -> IO ()
writeField Ptr VkDisplayPresentInfoKHR
p
          = Ptr VkDisplayPresentInfoKHR -> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPresentInfoKHR
p (Int
48)
{-# LINE 1600 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

-- | > typedef struct VkDisplayPropertiesKHR {
--   >     VkDisplayKHR                     display;
--   >     const char*                      displayName;
--   >     VkExtent2D                       physicalDimensions;
--   >     VkExtent2D                       physicalResolution;
--   >     VkSurfaceTransformFlagsKHR       supportedTransforms;
--   >     VkBool32                         planeReorderPossible;
--   >     VkBool32                         persistentContent;
--   > } VkDisplayPropertiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplayPropertiesKHR VkDisplayPropertiesKHR registry at www.khronos.org>
data VkDisplayPropertiesKHR = VkDisplayPropertiesKHR# Addr#
                                                      ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkDisplayPropertiesKHR where
        sizeOf :: VkDisplayPropertiesKHR -> Int
sizeOf ~VkDisplayPropertiesKHR
_ = (Int
48)
{-# LINE 1647 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDisplayPropertiesKHR where
        type StructFields VkDisplayPropertiesKHR =
             '["display", "displayName", "physicalDimensions", -- ' closing tick for hsc2hs
               "physicalResolution", "supportedTransforms",
               "planeReorderPossible", "persistentContent"]
        type CUnionType VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDisplayPropertiesKHR = 'True -- ' closing tick for hsc2hs
        type StructExtends VkDisplayPropertiesKHR = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "display" VkDisplayPropertiesKHR where
        type FieldType "display" VkDisplayPropertiesKHR = VkDisplayKHR
        type FieldOptional "display" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "display" VkDisplayPropertiesKHR =
             (0)
{-# LINE 1686 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "display" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPropertiesKHR
-> IO (FieldType "display" VkDisplayPropertiesKHR)
readField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> IO VkDisplayKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPropertiesKHR
p (Int
0)
{-# LINE 1704 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "display" VkDisplayPropertiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPropertiesKHR
-> FieldType "display" VkDisplayPropertiesKHR -> IO ()
writeField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> VkDisplayKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPropertiesKHR
p (Int
0)
{-# LINE 1710 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "displayName" VkDisplayPropertiesKHR where
        type FieldType "displayName" VkDisplayPropertiesKHR = CString
        type FieldOptional "displayName" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "displayName" VkDisplayPropertiesKHR =
             (8)
{-# LINE 1717 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "displayName" VkDisplayPropertiesKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPropertiesKHR
-> IO (FieldType "displayName" VkDisplayPropertiesKHR)
readField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> IO CString
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPropertiesKHR
p (Int
8)
{-# LINE 1736 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "displayName" VkDisplayPropertiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPropertiesKHR
-> FieldType "displayName" VkDisplayPropertiesKHR -> IO ()
writeField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> CString -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPropertiesKHR
p (Int
8)
{-# LINE 1742 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "physicalDimensions" VkDisplayPropertiesKHR where
        type FieldType "physicalDimensions" VkDisplayPropertiesKHR =
             VkExtent2D
        type FieldOptional "physicalDimensions" VkDisplayPropertiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "physicalDimensions" VkDisplayPropertiesKHR =
             (16)
{-# LINE 1751 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "physicalDimensions" VkDisplayPropertiesKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPropertiesKHR
-> IO (FieldType "physicalDimensions" VkDisplayPropertiesKHR)
readField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPropertiesKHR
p (Int
16)
{-# LINE 1771 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "physicalDimensions" VkDisplayPropertiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPropertiesKHR
-> FieldType "physicalDimensions" VkDisplayPropertiesKHR -> IO ()
writeField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPropertiesKHR
p (Int
16)
{-# LINE 1777 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "physicalResolution" VkDisplayPropertiesKHR where
        type FieldType "physicalResolution" VkDisplayPropertiesKHR =
             VkExtent2D
        type FieldOptional "physicalResolution" VkDisplayPropertiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "physicalResolution" VkDisplayPropertiesKHR =
             (24)
{-# LINE 1786 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "physicalResolution" VkDisplayPropertiesKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPropertiesKHR
-> IO (FieldType "physicalResolution" VkDisplayPropertiesKHR)
readField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPropertiesKHR
p (Int
24)
{-# LINE 1806 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "physicalResolution" VkDisplayPropertiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPropertiesKHR
-> FieldType "physicalResolution" VkDisplayPropertiesKHR -> IO ()
writeField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPropertiesKHR
p (Int
24)
{-# LINE 1812 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "supportedTransforms" VkDisplayPropertiesKHR where
        type FieldType "supportedTransforms" VkDisplayPropertiesKHR =
             VkSurfaceTransformFlagsKHR
        type FieldOptional "supportedTransforms" VkDisplayPropertiesKHR =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "supportedTransforms" VkDisplayPropertiesKHR =
             (32)
{-# LINE 1821 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "supportedTransforms" VkDisplayPropertiesKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPropertiesKHR
-> IO (FieldType "supportedTransforms" VkDisplayPropertiesKHR)
readField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> IO VkSurfaceTransformFlagsKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPropertiesKHR
p (Int
32)
{-# LINE 1841 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "supportedTransforms" VkDisplayPropertiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPropertiesKHR
-> FieldType "supportedTransforms" VkDisplayPropertiesKHR -> IO ()
writeField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR
-> Int -> VkSurfaceTransformFlagsKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPropertiesKHR
p (Int
32)
{-# LINE 1847 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "planeReorderPossible" VkDisplayPropertiesKHR where
        type FieldType "planeReorderPossible" VkDisplayPropertiesKHR =
             VkBool32
        type FieldOptional "planeReorderPossible" VkDisplayPropertiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "planeReorderPossible" VkDisplayPropertiesKHR =
             (36)
{-# LINE 1856 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "planeReorderPossible" VkDisplayPropertiesKHR =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
36)
{-# LINE 1865 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPropertiesKHR
-> IO (FieldType "planeReorderPossible" VkDisplayPropertiesKHR)
readField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPropertiesKHR
p (Int
36)
{-# LINE 1876 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "planeReorderPossible" VkDisplayPropertiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPropertiesKHR
-> FieldType "planeReorderPossible" VkDisplayPropertiesKHR -> IO ()
writeField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPropertiesKHR
p (Int
36)
{-# LINE 1882 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "persistentContent" VkDisplayPropertiesKHR where
        type FieldType "persistentContent" VkDisplayPropertiesKHR =
             VkBool32
        type FieldOptional "persistentContent" VkDisplayPropertiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "persistentContent" VkDisplayPropertiesKHR =
             (40)
{-# LINE 1891 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "persistentContent" VkDisplayPropertiesKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplayPropertiesKHR
-> IO (FieldType "persistentContent" VkDisplayPropertiesKHR)
readField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplayPropertiesKHR
p (Int
40)
{-# LINE 1911 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "persistentContent" VkDisplayPropertiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplayPropertiesKHR
-> FieldType "persistentContent" VkDisplayPropertiesKHR -> IO ()
writeField Ptr VkDisplayPropertiesKHR
p
          = Ptr VkDisplayPropertiesKHR -> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplayPropertiesKHR
p (Int
40)
{-# LINE 1917 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance Show VkDisplayPropertiesKHR where
        showsPrec :: Int -> VkDisplayPropertiesKHR -> ShowS
showsPrec Int
d VkDisplayPropertiesKHR
x
          = String -> ShowS
showString String
"VkDisplayPropertiesKHR {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"display = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkDisplayKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPropertiesKHR
-> FieldType "display" VkDisplayPropertiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"display" VkDisplayPropertiesKHR
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
"displayName = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> CString -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPropertiesKHR
-> FieldType "displayName" VkDisplayPropertiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"displayName" VkDisplayPropertiesKHR
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
"physicalDimensions = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkExtent2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPropertiesKHR
-> FieldType "physicalDimensions" VkDisplayPropertiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"physicalDimensions" VkDisplayPropertiesKHR
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
"physicalResolution = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkExtent2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPropertiesKHR
-> FieldType "physicalResolution" VkDisplayPropertiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"physicalResolution" VkDisplayPropertiesKHR
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
"supportedTransforms = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> VkSurfaceTransformFlagsKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplayPropertiesKHR
-> FieldType "supportedTransforms" VkDisplayPropertiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"supportedTransforms" VkDisplayPropertiesKHR
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
"planeReorderPossible = " 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 (VkDisplayPropertiesKHR
-> FieldType "planeReorderPossible" VkDisplayPropertiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"planeReorderPossible" VkDisplayPropertiesKHR
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
"persistentContent = " 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 (VkDisplayPropertiesKHR
-> FieldType "persistentContent" VkDisplayPropertiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"persistentContent" VkDisplayPropertiesKHR
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                      Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkDisplaySurfaceCreateInfoKHR {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkDisplaySurfaceCreateFlagsKHR   flags;
--   >     VkDisplayModeKHR                 displayMode;
--   >     uint32_t                         planeIndex;
--   >     uint32_t                         planeStackIndex;
--   >     VkSurfaceTransformFlagBitsKHR    transform;
--   >     float                            globalAlpha;
--   >     VkDisplayPlaneAlphaFlagBitsKHR   alphaMode;
--   >     VkExtent2D                       imageExtent;
--   > } VkDisplaySurfaceCreateInfoKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkDisplaySurfaceCreateInfoKHR VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org>
data VkDisplaySurfaceCreateInfoKHR = VkDisplaySurfaceCreateInfoKHR# Addr#
                                                                    ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkDisplaySurfaceCreateInfoKHR where
        type StructFields VkDisplaySurfaceCreateInfoKHR =
             '["sType", "pNext", "flags", "displayMode", "planeIndex", -- ' closing tick for hsc2hs
               "planeStackIndex", "transform", "globalAlpha", "alphaMode",
               "imageExtent"]
        type CUnionType VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkDisplaySurfaceCreateInfoKHR = 'False -- ' closing tick for hsc2hs
        type StructExtends VkDisplaySurfaceCreateInfoKHR = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "displayMode" VkDisplaySurfaceCreateInfoKHR where
        type FieldType "displayMode" VkDisplaySurfaceCreateInfoKHR =
             VkDisplayModeKHR
        type FieldOptional "displayMode" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "displayMode" VkDisplaySurfaceCreateInfoKHR =
             (24)
{-# LINE 2117 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "displayMode" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> IO (FieldType "displayMode" VkDisplaySurfaceCreateInfoKHR)
readField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR -> Int -> IO VkDisplayModeKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
24)
{-# LINE 2137 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "displayMode" VkDisplaySurfaceCreateInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> FieldType "displayMode" VkDisplaySurfaceCreateInfoKHR -> IO ()
writeField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR
-> Int -> VkDisplayModeKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
24)
{-# LINE 2143 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where
        type FieldType "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =
             Word32
        type FieldOptional "planeStackIndex" VkDisplaySurfaceCreateInfoKHR
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =
             (36)
{-# LINE 2186 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "planeStackIndex" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
36)
{-# LINE 2195 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> IO (FieldType "planeStackIndex" VkDisplaySurfaceCreateInfoKHR)
readField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
36)
{-# LINE 2206 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "planeStackIndex" VkDisplaySurfaceCreateInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> FieldType "planeStackIndex" VkDisplaySurfaceCreateInfoKHR
-> IO ()
writeField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
36)
{-# LINE 2212 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "transform" VkDisplaySurfaceCreateInfoKHR where
        type FieldType "transform" VkDisplaySurfaceCreateInfoKHR =
             VkSurfaceTransformFlagBitsKHR
        type FieldOptional "transform" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "transform" VkDisplaySurfaceCreateInfoKHR =
             (40)
{-# LINE 2221 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "transform" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> IO (FieldType "transform" VkDisplaySurfaceCreateInfoKHR)
readField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR
-> Int -> IO VkSurfaceTransformFlagBitsKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
40)
{-# LINE 2241 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "transform" VkDisplaySurfaceCreateInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> FieldType "transform" VkDisplaySurfaceCreateInfoKHR -> IO ()
writeField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR
-> Int -> VkSurfaceTransformFlagBitsKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
40)
{-# LINE 2247 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where
        type FieldType "globalAlpha" VkDisplaySurfaceCreateInfoKHR =
             Float
{-# LINE 2252 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldOptional "globalAlpha" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "globalAlpha" VkDisplaySurfaceCreateInfoKHR =
             (44)
{-# LINE 2256 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "globalAlpha" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
44)
{-# LINE 2265 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where
        {-# NOINLINE getField #-}
        getField :: VkDisplaySurfaceCreateInfoKHR
-> FieldType "globalAlpha" VkDisplaySurfaceCreateInfoKHR
getField VkDisplaySurfaceCreateInfoKHR
x
          = IO Float -> Float
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDisplaySurfaceCreateInfoKHR -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDisplaySurfaceCreateInfoKHR -> Ptr VkDisplaySurfaceCreateInfoKHR
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDisplaySurfaceCreateInfoKHR
x) (Int
44))
{-# LINE 2272 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> IO (FieldType "globalAlpha" VkDisplaySurfaceCreateInfoKHR)
readField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
44)
{-# LINE 2276 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "globalAlpha" VkDisplaySurfaceCreateInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> FieldType "globalAlpha" VkDisplaySurfaceCreateInfoKHR -> IO ()
writeField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR -> Int -> Float -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
44)
{-# LINE 2282 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "alphaMode" VkDisplaySurfaceCreateInfoKHR where
        type FieldType "alphaMode" VkDisplaySurfaceCreateInfoKHR =
             VkDisplayPlaneAlphaFlagBitsKHR
        type FieldOptional "alphaMode" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "alphaMode" VkDisplaySurfaceCreateInfoKHR =
             (48)
{-# LINE 2291 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "alphaMode" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> IO (FieldType "alphaMode" VkDisplaySurfaceCreateInfoKHR)
readField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR
-> Int -> IO VkDisplayPlaneAlphaFlagBitsKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
48)
{-# LINE 2311 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "alphaMode" VkDisplaySurfaceCreateInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> FieldType "alphaMode" VkDisplaySurfaceCreateInfoKHR -> IO ()
writeField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR
-> Int -> VkDisplayPlaneAlphaFlagBitsKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
48)
{-# LINE 2317 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "imageExtent" VkDisplaySurfaceCreateInfoKHR where
        type FieldType "imageExtent" VkDisplaySurfaceCreateInfoKHR =
             VkExtent2D
        type FieldOptional "imageExtent" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "imageExtent" VkDisplaySurfaceCreateInfoKHR =
             (52)
{-# LINE 2326 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
        type FieldIsArray "imageExtent" VkDisplaySurfaceCreateInfoKHR =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
52)
{-# LINE 2335 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "imageExtent" VkDisplaySurfaceCreateInfoKHR where
        {-# NOINLINE getField #-}
        getField :: VkDisplaySurfaceCreateInfoKHR
-> FieldType "imageExtent" VkDisplaySurfaceCreateInfoKHR
getField VkDisplaySurfaceCreateInfoKHR
x
          = IO VkExtent2D -> VkExtent2D
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkDisplaySurfaceCreateInfoKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkDisplaySurfaceCreateInfoKHR -> Ptr VkDisplaySurfaceCreateInfoKHR
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkDisplaySurfaceCreateInfoKHR
x) (Int
52))
{-# LINE 2342 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> IO (FieldType "imageExtent" VkDisplaySurfaceCreateInfoKHR)
readField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
52)
{-# LINE 2346 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "imageExtent" VkDisplaySurfaceCreateInfoKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkDisplaySurfaceCreateInfoKHR
-> FieldType "imageExtent" VkDisplaySurfaceCreateInfoKHR -> IO ()
writeField Ptr VkDisplaySurfaceCreateInfoKHR
p
          = Ptr VkDisplaySurfaceCreateInfoKHR -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkDisplaySurfaceCreateInfoKHR
p (Int
52)
{-# LINE 2352 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}

instance Show VkDisplaySurfaceCreateInfoKHR where
        showsPrec :: Int -> VkDisplaySurfaceCreateInfoKHR -> ShowS
showsPrec Int
d VkDisplaySurfaceCreateInfoKHR
x
          = String -> ShowS
showString String
"VkDisplaySurfaceCreateInfoKHR {" 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 (VkDisplaySurfaceCreateInfoKHR
-> FieldType "sType" VkDisplaySurfaceCreateInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkDisplaySurfaceCreateInfoKHR
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 (VkDisplaySurfaceCreateInfoKHR
-> FieldType "pNext" VkDisplaySurfaceCreateInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkDisplaySurfaceCreateInfoKHR
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 -> VkDisplaySurfaceCreateFlagsKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplaySurfaceCreateInfoKHR
-> FieldType "flags" VkDisplaySurfaceCreateInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkDisplaySurfaceCreateInfoKHR
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
"displayMode = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkDisplayModeKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplaySurfaceCreateInfoKHR
-> FieldType "displayMode" VkDisplaySurfaceCreateInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"displayMode" VkDisplaySurfaceCreateInfoKHR
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
"planeIndex = " 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 (VkDisplaySurfaceCreateInfoKHR
-> FieldType "planeIndex" VkDisplaySurfaceCreateInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"planeIndex" VkDisplaySurfaceCreateInfoKHR
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
"planeStackIndex = " 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 (VkDisplaySurfaceCreateInfoKHR
-> FieldType "planeStackIndex" VkDisplaySurfaceCreateInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"planeStackIndex" VkDisplaySurfaceCreateInfoKHR
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
"transform = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> VkSurfaceTransformFlagBitsKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplaySurfaceCreateInfoKHR
-> FieldType "transform" VkDisplaySurfaceCreateInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"transform" VkDisplaySurfaceCreateInfoKHR
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
"globalAlpha = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                          Int -> Float -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkDisplaySurfaceCreateInfoKHR
-> FieldType "globalAlpha" VkDisplaySurfaceCreateInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"globalAlpha" VkDisplaySurfaceCreateInfoKHR
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
"alphaMode = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                Int -> VkDisplayPlaneAlphaFlagBitsKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                  (VkDisplaySurfaceCreateInfoKHR
-> FieldType "alphaMode" VkDisplaySurfaceCreateInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"alphaMode" VkDisplaySurfaceCreateInfoKHR
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
"imageExtent = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                      Int -> VkExtent2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                        (VkDisplaySurfaceCreateInfoKHR
-> FieldType "imageExtent" VkDisplaySurfaceCreateInfoKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"imageExtent" VkDisplaySurfaceCreateInfoKHR
x)
                                                                        ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'