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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MagicHash             #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeApplications      #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.Surface
       (VkSurfaceCapabilities2EXT(..), VkSurfaceCapabilities2KHR(..),
        VkSurfaceCapabilitiesKHR(..), VkSurfaceFormat2KHR(..),
        VkSurfaceFormatKHR(..))
       where
import           Foreign.Storable                                  (Storable (..))
import           GHC.Base                                          (Addr#,
                                                                    ByteArray#,
                                                                    byteArrayContents#,
                                                                    plusAddr#)
import           Graphics.Vulkan.Marshal
import           Graphics.Vulkan.Marshal.Internal
import           Graphics.Vulkan.Types.Enum.Color                  (VkColorSpaceKHR)
import           Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR (VkCompositeAlphaFlagsKHR)
import           Graphics.Vulkan.Types.Enum.Format                 (VkFormat)
import           Graphics.Vulkan.Types.Enum.Image                  (VkImageUsageFlags)
import           Graphics.Vulkan.Types.Enum.StructureType          (VkStructureType)
import           Graphics.Vulkan.Types.Enum.Surface                (VkSurfaceCounterFlagsEXT,
                                                                    VkSurfaceTransformFlagBitsKHR,
                                                                    VkSurfaceTransformFlagsKHR)
import           Graphics.Vulkan.Types.Struct.Extent               (VkExtent2D)
import           System.IO.Unsafe                                  (unsafeDupablePerformIO)

-- | > typedef struct VkSurfaceCapabilities2EXT {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint32_t                         minImageCount;
--   >     uint32_t                         maxImageCount;
--   >     VkExtent2D                       currentExtent;
--   >     VkExtent2D                       minImageExtent;
--   >     VkExtent2D                       maxImageExtent;
--   >     uint32_t                         maxImageArrayLayers;
--   >     VkSurfaceTransformFlagsKHR       supportedTransforms;
--   >     VkSurfaceTransformFlagBitsKHR    currentTransform;
--   >     VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--   >     VkImageUsageFlags                supportedUsageFlags;
--   >     VkSurfaceCounterFlagsEXT supportedSurfaceCounters;
--   > } VkSurfaceCapabilities2EXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilities2EXT VkSurfaceCapabilities2EXT registry at www.khronos.org>
data VkSurfaceCapabilities2EXT = VkSurfaceCapabilities2EXT# Addr#
                                                            ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkSurfaceCapabilities2EXT where
        type StructFields VkSurfaceCapabilities2EXT =
             '["sType", "pNext", "minImageCount", "maxImageCount", -- ' closing tick for hsc2hs
               "currentExtent", "minImageExtent", "maxImageExtent",
               "maxImageArrayLayers", "supportedTransforms", "currentTransform",
               "supportedCompositeAlpha", "supportedUsageFlags",
               "supportedSurfaceCounters"]
        type CUnionType VkSurfaceCapabilities2EXT = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkSurfaceCapabilities2EXT = 'True -- ' closing tick for hsc2hs
        type StructExtends VkSurfaceCapabilities2EXT = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "minImageExtent" VkSurfaceCapabilities2EXT where
        type FieldType "minImageExtent" VkSurfaceCapabilities2EXT =
             VkExtent2D
        type FieldOptional "minImageExtent" VkSurfaceCapabilities2EXT =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "minImageExtent" VkSurfaceCapabilities2EXT =
             (32)
{-# LINE 278 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "minImageExtent" VkSurfaceCapabilities2EXT =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceCapabilities2EXT
-> IO (FieldType "minImageExtent" VkSurfaceCapabilities2EXT)
readField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
32)
{-# LINE 298 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "minImageExtent" VkSurfaceCapabilities2EXT where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceCapabilities2EXT
-> FieldType "minImageExtent" VkSurfaceCapabilities2EXT -> IO ()
writeField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
32)
{-# LINE 304 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxImageExtent" VkSurfaceCapabilities2EXT where
        type FieldType "maxImageExtent" VkSurfaceCapabilities2EXT =
             VkExtent2D
        type FieldOptional "maxImageExtent" VkSurfaceCapabilities2EXT =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "maxImageExtent" VkSurfaceCapabilities2EXT =
             (40)
{-# LINE 313 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "maxImageExtent" VkSurfaceCapabilities2EXT =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceCapabilities2EXT
-> IO (FieldType "maxImageExtent" VkSurfaceCapabilities2EXT)
readField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
40)
{-# LINE 333 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxImageExtent" VkSurfaceCapabilities2EXT where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceCapabilities2EXT
-> FieldType "maxImageExtent" VkSurfaceCapabilities2EXT -> IO ()
writeField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
40)
{-# LINE 339 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxImageArrayLayers" VkSurfaceCapabilities2EXT where
        type FieldType "maxImageArrayLayers" VkSurfaceCapabilities2EXT =
             Word32
        type FieldOptional "maxImageArrayLayers" VkSurfaceCapabilities2EXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "maxImageArrayLayers" VkSurfaceCapabilities2EXT =
             (48)
{-# LINE 348 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "maxImageArrayLayers" VkSurfaceCapabilities2EXT =
             'False -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "currentTransform" VkSurfaceCapabilities2EXT where
        type FieldType "currentTransform" VkSurfaceCapabilities2EXT =
             VkSurfaceTransformFlagBitsKHR
        type FieldOptional "currentTransform" VkSurfaceCapabilities2EXT =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "currentTransform" VkSurfaceCapabilities2EXT =
             (56)
{-# LINE 418 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "currentTransform" VkSurfaceCapabilities2EXT =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceCapabilities2EXT
-> IO (FieldType "currentTransform" VkSurfaceCapabilities2EXT)
readField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT
-> Int -> IO VkSurfaceTransformFlagBitsKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
56)
{-# LINE 438 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "currentTransform" VkSurfaceCapabilities2EXT where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceCapabilities2EXT
-> FieldType "currentTransform" VkSurfaceCapabilities2EXT -> IO ()
writeField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT
-> Int -> VkSurfaceTransformFlagBitsKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
56)
{-# LINE 444 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "supportedCompositeAlpha" VkSurfaceCapabilities2EXT where
        type FieldType "supportedCompositeAlpha" VkSurfaceCapabilities2EXT
             = VkCompositeAlphaFlagsKHR
        type FieldOptional "supportedCompositeAlpha"
               VkSurfaceCapabilities2EXT
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "supportedCompositeAlpha"
               VkSurfaceCapabilities2EXT
             =
             (60)
{-# LINE 456 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "supportedCompositeAlpha"
               VkSurfaceCapabilities2EXT
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceCapabilities2EXT
-> IO
     (FieldType "supportedCompositeAlpha" VkSurfaceCapabilities2EXT)
readField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT -> Int -> IO VkCompositeAlphaFlagsKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
60)
{-# LINE 478 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "supportedCompositeAlpha" VkSurfaceCapabilities2EXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceCapabilities2EXT
-> FieldType "supportedCompositeAlpha" VkSurfaceCapabilities2EXT
-> IO ()
writeField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT
-> Int -> VkCompositeAlphaFlagsKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
60)
{-# LINE 485 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "supportedUsageFlags" VkSurfaceCapabilities2EXT where
        type FieldType "supportedUsageFlags" VkSurfaceCapabilities2EXT =
             VkImageUsageFlags
        type FieldOptional "supportedUsageFlags" VkSurfaceCapabilities2EXT
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "supportedUsageFlags" VkSurfaceCapabilities2EXT =
             (64)
{-# LINE 494 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "supportedUsageFlags" VkSurfaceCapabilities2EXT =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceCapabilities2EXT
-> IO (FieldType "supportedUsageFlags" VkSurfaceCapabilities2EXT)
readField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT -> Int -> IO VkImageUsageFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
64)
{-# LINE 514 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "supportedUsageFlags" VkSurfaceCapabilities2EXT where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceCapabilities2EXT
-> FieldType "supportedUsageFlags" VkSurfaceCapabilities2EXT
-> IO ()
writeField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT -> Int -> VkImageUsageFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
64)
{-# LINE 520 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "supportedSurfaceCounters" VkSurfaceCapabilities2EXT where
        type FieldType "supportedSurfaceCounters" VkSurfaceCapabilities2EXT
             = VkSurfaceCounterFlagsEXT
        type FieldOptional "supportedSurfaceCounters"
               VkSurfaceCapabilities2EXT
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "supportedSurfaceCounters"
               VkSurfaceCapabilities2EXT
             =
             (68)
{-# LINE 532 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "supportedSurfaceCounters"
               VkSurfaceCapabilities2EXT
             = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
68)
{-# LINE 542 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "supportedSurfaceCounters" VkSurfaceCapabilities2EXT
         where
        {-# NOINLINE getField #-}
        getField :: VkSurfaceCapabilities2EXT
-> FieldType "supportedSurfaceCounters" VkSurfaceCapabilities2EXT
getField VkSurfaceCapabilities2EXT
x
          = IO VkSurfaceCounterFlagsEXT -> VkSurfaceCounterFlagsEXT
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkSurfaceCapabilities2EXT -> Int -> IO VkSurfaceCounterFlagsEXT
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkSurfaceCapabilities2EXT -> Ptr VkSurfaceCapabilities2EXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkSurfaceCapabilities2EXT
x) (Int
68))
{-# LINE 550 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceCapabilities2EXT
-> IO
     (FieldType "supportedSurfaceCounters" VkSurfaceCapabilities2EXT)
readField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT -> Int -> IO VkSurfaceCounterFlagsEXT
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
68)
{-# LINE 554 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "supportedSurfaceCounters" VkSurfaceCapabilities2EXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceCapabilities2EXT
-> FieldType "supportedSurfaceCounters" VkSurfaceCapabilities2EXT
-> IO ()
writeField Ptr VkSurfaceCapabilities2EXT
p
          = Ptr VkSurfaceCapabilities2EXT
-> Int -> VkSurfaceCounterFlagsEXT -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceCapabilities2EXT
p (Int
68)
{-# LINE 561 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance Show VkSurfaceCapabilities2EXT where
        showsPrec :: Int -> VkSurfaceCapabilities2EXT -> ShowS
showsPrec Int
d VkSurfaceCapabilities2EXT
x
          = String -> ShowS
showString String
"VkSurfaceCapabilities2EXT {" 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 (VkSurfaceCapabilities2EXT
-> FieldType "sType" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkSurfaceCapabilities2EXT
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 (VkSurfaceCapabilities2EXT
-> FieldType "pNext" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkSurfaceCapabilities2EXT
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
"minImageCount = " 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 (VkSurfaceCapabilities2EXT
-> FieldType "minImageCount" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"minImageCount" VkSurfaceCapabilities2EXT
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
"maxImageCount = " 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 (VkSurfaceCapabilities2EXT
-> FieldType "maxImageCount" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxImageCount" VkSurfaceCapabilities2EXT
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
"currentExtent = " 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 (VkSurfaceCapabilities2EXT
-> FieldType "currentExtent" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"currentExtent" VkSurfaceCapabilities2EXT
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
"minImageExtent = " 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 (VkSurfaceCapabilities2EXT
-> FieldType "minImageExtent" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"minImageExtent" VkSurfaceCapabilities2EXT
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
"maxImageExtent = " 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 (VkSurfaceCapabilities2EXT
-> FieldType "maxImageExtent" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxImageExtent" VkSurfaceCapabilities2EXT
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
"maxImageArrayLayers = " 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
                                                            (VkSurfaceCapabilities2EXT
-> FieldType "maxImageArrayLayers" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxImageArrayLayers" VkSurfaceCapabilities2EXT
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
                                                                  (VkSurfaceCapabilities2EXT
-> FieldType "supportedTransforms" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"supportedTransforms"
                                                                     VkSurfaceCapabilities2EXT
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
"currentTransform = "
                                                                      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
                                                                        (VkSurfaceCapabilities2EXT
-> FieldType "currentTransform" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                           @"currentTransform"
                                                                           VkSurfaceCapabilities2EXT
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
"supportedCompositeAlpha = "
                                                                            ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                            Int -> VkCompositeAlphaFlagsKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                              (VkSurfaceCapabilities2EXT
-> FieldType "supportedCompositeAlpha" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                 @"supportedCompositeAlpha"
                                                                                 VkSurfaceCapabilities2EXT
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
"supportedUsageFlags = "
                                                                                  ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                  Int -> VkImageUsageFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                                    (VkSurfaceCapabilities2EXT
-> FieldType "supportedUsageFlags" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                       @"supportedUsageFlags"
                                                                                       VkSurfaceCapabilities2EXT
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
"supportedSurfaceCounters = "
                                                                                        ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                        Int -> VkSurfaceCounterFlagsEXT -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                                          (VkSurfaceCapabilities2EXT
-> FieldType "supportedSurfaceCounters" VkSurfaceCapabilities2EXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                             @"supportedSurfaceCounters"
                                                                                             VkSurfaceCapabilities2EXT
x)
                                                                                          ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                          Char -> ShowS
showChar
                                                                                            Char
'}'

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "surfaceCapabilities" VkSurfaceCapabilities2KHR where
        type FieldType "surfaceCapabilities" VkSurfaceCapabilities2KHR =
             VkSurfaceCapabilitiesKHR
        type FieldOptional "surfaceCapabilities" VkSurfaceCapabilities2KHR
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "surfaceCapabilities" VkSurfaceCapabilities2KHR =
             (16)
{-# LINE 763 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "surfaceCapabilities" VkSurfaceCapabilities2KHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceCapabilities2KHR
-> IO (FieldType "surfaceCapabilities" VkSurfaceCapabilities2KHR)
readField Ptr VkSurfaceCapabilities2KHR
p
          = Ptr VkSurfaceCapabilities2KHR -> Int -> IO VkSurfaceCapabilitiesKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceCapabilities2KHR
p (Int
16)
{-# LINE 783 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "surfaceCapabilities" VkSurfaceCapabilities2KHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceCapabilities2KHR
-> FieldType "surfaceCapabilities" VkSurfaceCapabilities2KHR
-> IO ()
writeField Ptr VkSurfaceCapabilities2KHR
p
          = Ptr VkSurfaceCapabilities2KHR
-> Int -> VkSurfaceCapabilitiesKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceCapabilities2KHR
p (Int
16)
{-# LINE 789 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

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

-- | > typedef struct VkSurfaceCapabilitiesKHR {
--   >     uint32_t                         minImageCount;
--   >     uint32_t                         maxImageCount;
--   >     VkExtent2D                       currentExtent;
--   >     VkExtent2D                       minImageExtent;
--   >     VkExtent2D                       maxImageExtent;
--   >     uint32_t                         maxImageArrayLayers;
--   >     VkSurfaceTransformFlagsKHR       supportedTransforms;
--   >     VkSurfaceTransformFlagBitsKHR    currentTransform;
--   >     VkCompositeAlphaFlagsKHR         supportedCompositeAlpha;
--   >     VkImageUsageFlags                supportedUsageFlags;
--   > } VkSurfaceCapabilitiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceCapabilitiesKHR VkSurfaceCapabilitiesKHR registry at www.khronos.org>
data VkSurfaceCapabilitiesKHR = VkSurfaceCapabilitiesKHR# Addr#
                                                          ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkSurfaceCapabilitiesKHR where
        sizeOf :: VkSurfaceCapabilitiesKHR -> Int
sizeOf ~VkSurfaceCapabilitiesKHR
_ = (Int
52)
{-# LINE 833 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkSurfaceCapabilitiesKHR where
        type StructFields VkSurfaceCapabilitiesKHR =
             '["minImageCount", "maxImageCount", "currentExtent", -- ' closing tick for hsc2hs
               "minImageExtent", "maxImageExtent", "maxImageArrayLayers",
               "supportedTransforms", "currentTransform",
               "supportedCompositeAlpha", "supportedUsageFlags"]
        type CUnionType VkSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkSurfaceCapabilitiesKHR = 'True -- ' closing tick for hsc2hs
        type StructExtends VkSurfaceCapabilitiesKHR = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "currentExtent" VkSurfaceCapabilitiesKHR where
        type FieldType "currentExtent" VkSurfaceCapabilitiesKHR =
             VkExtent2D
        type FieldOptional "currentExtent" VkSurfaceCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "currentExtent" VkSurfaceCapabilitiesKHR =
             (8)
{-# LINE 942 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "currentExtent" VkSurfaceCapabilitiesKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceCapabilitiesKHR
-> IO (FieldType "currentExtent" VkSurfaceCapabilitiesKHR)
readField Ptr VkSurfaceCapabilitiesKHR
p
          = Ptr VkSurfaceCapabilitiesKHR -> Int -> IO VkExtent2D
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceCapabilitiesKHR
p (Int
8)
{-# LINE 961 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "currentExtent" VkSurfaceCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceCapabilitiesKHR
-> FieldType "currentExtent" VkSurfaceCapabilitiesKHR -> IO ()
writeField Ptr VkSurfaceCapabilitiesKHR
p
          = Ptr VkSurfaceCapabilitiesKHR -> Int -> VkExtent2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceCapabilitiesKHR
p (Int
8)
{-# LINE 967 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR where
        type FieldType "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR =
             VkCompositeAlphaFlagsKHR
        type FieldOptional "supportedCompositeAlpha"
               VkSurfaceCapabilitiesKHR
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR
             =
             (44)
{-# LINE 1153 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "supportedCompositeAlpha"
               VkSurfaceCapabilitiesKHR
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceCapabilitiesKHR
-> IO
     (FieldType "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR)
readField Ptr VkSurfaceCapabilitiesKHR
p
          = Ptr VkSurfaceCapabilitiesKHR -> Int -> IO VkCompositeAlphaFlagsKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceCapabilitiesKHR
p (Int
44)
{-# LINE 1175 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceCapabilitiesKHR
-> FieldType "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR
-> IO ()
writeField Ptr VkSurfaceCapabilitiesKHR
p
          = Ptr VkSurfaceCapabilitiesKHR
-> Int -> VkCompositeAlphaFlagsKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceCapabilitiesKHR
p (Int
44)
{-# LINE 1182 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "supportedUsageFlags" VkSurfaceCapabilitiesKHR where
        type FieldType "supportedUsageFlags" VkSurfaceCapabilitiesKHR =
             VkImageUsageFlags
        type FieldOptional "supportedUsageFlags" VkSurfaceCapabilitiesKHR =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "supportedUsageFlags" VkSurfaceCapabilitiesKHR =
             (48)
{-# LINE 1191 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "supportedUsageFlags" VkSurfaceCapabilitiesKHR =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceCapabilitiesKHR
-> IO (FieldType "supportedUsageFlags" VkSurfaceCapabilitiesKHR)
readField Ptr VkSurfaceCapabilitiesKHR
p
          = Ptr VkSurfaceCapabilitiesKHR -> Int -> IO VkImageUsageFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceCapabilitiesKHR
p (Int
48)
{-# LINE 1211 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "supportedUsageFlags" VkSurfaceCapabilitiesKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceCapabilitiesKHR
-> FieldType "supportedUsageFlags" VkSurfaceCapabilitiesKHR
-> IO ()
writeField Ptr VkSurfaceCapabilitiesKHR
p
          = Ptr VkSurfaceCapabilitiesKHR -> Int -> VkImageUsageFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceCapabilitiesKHR
p (Int
48)
{-# LINE 1217 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance Show VkSurfaceCapabilitiesKHR where
        showsPrec :: Int -> VkSurfaceCapabilitiesKHR -> ShowS
showsPrec Int
d VkSurfaceCapabilitiesKHR
x
          = String -> ShowS
showString String
"VkSurfaceCapabilitiesKHR {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"minImageCount = " 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 (VkSurfaceCapabilitiesKHR
-> FieldType "minImageCount" VkSurfaceCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"minImageCount" VkSurfaceCapabilitiesKHR
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
"maxImageCount = " 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 (VkSurfaceCapabilitiesKHR
-> FieldType "maxImageCount" VkSurfaceCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxImageCount" VkSurfaceCapabilitiesKHR
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
"currentExtent = " 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 (VkSurfaceCapabilitiesKHR
-> FieldType "currentExtent" VkSurfaceCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"currentExtent" VkSurfaceCapabilitiesKHR
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
"minImageExtent = " 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 (VkSurfaceCapabilitiesKHR
-> FieldType "minImageExtent" VkSurfaceCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"minImageExtent" VkSurfaceCapabilitiesKHR
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
"maxImageExtent = " 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 (VkSurfaceCapabilitiesKHR
-> FieldType "maxImageExtent" VkSurfaceCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxImageExtent" VkSurfaceCapabilitiesKHR
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
"maxImageArrayLayers = " 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 (VkSurfaceCapabilitiesKHR
-> FieldType "maxImageArrayLayers" VkSurfaceCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxImageArrayLayers" VkSurfaceCapabilitiesKHR
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 (VkSurfaceCapabilitiesKHR
-> FieldType "supportedTransforms" VkSurfaceCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"supportedTransforms" VkSurfaceCapabilitiesKHR
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
"currentTransform = " 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
                                                            (VkSurfaceCapabilitiesKHR
-> FieldType "currentTransform" VkSurfaceCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"currentTransform" VkSurfaceCapabilitiesKHR
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
"supportedCompositeAlpha = "
                                                                ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                Int -> VkCompositeAlphaFlagsKHR -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                  (VkSurfaceCapabilitiesKHR
-> FieldType "supportedCompositeAlpha" VkSurfaceCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                     @"supportedCompositeAlpha"
                                                                     VkSurfaceCapabilitiesKHR
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
"supportedUsageFlags = "
                                                                      ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                      Int -> VkImageUsageFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                        (VkSurfaceCapabilitiesKHR
-> FieldType "supportedUsageFlags" VkSurfaceCapabilitiesKHR
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                           @"supportedUsageFlags"
                                                                           VkSurfaceCapabilitiesKHR
x)
                                                                        ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "surfaceFormat" VkSurfaceFormat2KHR where
        type FieldType "surfaceFormat" VkSurfaceFormat2KHR =
             VkSurfaceFormatKHR
        type FieldOptional "surfaceFormat" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "surfaceFormat" VkSurfaceFormat2KHR =
             (16)
{-# LINE 1389 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "surfaceFormat" VkSurfaceFormat2KHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceFormat2KHR
-> IO (FieldType "surfaceFormat" VkSurfaceFormat2KHR)
readField Ptr VkSurfaceFormat2KHR
p
          = Ptr VkSurfaceFormat2KHR -> Int -> IO VkSurfaceFormatKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceFormat2KHR
p (Int
16)
{-# LINE 1408 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "surfaceFormat" VkSurfaceFormat2KHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceFormat2KHR
-> FieldType "surfaceFormat" VkSurfaceFormat2KHR -> IO ()
writeField Ptr VkSurfaceFormat2KHR
p
          = Ptr VkSurfaceFormat2KHR -> Int -> VkSurfaceFormatKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceFormat2KHR
p (Int
16)
{-# LINE 1414 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

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

-- | > typedef struct VkSurfaceFormatKHR {
--   >     VkFormat                         format;
--   >     VkColorSpaceKHR                  colorSpace;
--   > } VkSurfaceFormatKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSurfaceFormatKHR VkSurfaceFormatKHR registry at www.khronos.org>
data VkSurfaceFormatKHR = VkSurfaceFormatKHR# Addr# ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkSurfaceFormatKHR where
        type StructFields VkSurfaceFormatKHR = '["format", "colorSpace"] -- ' closing tick for hsc2hs
        type CUnionType VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkSurfaceFormatKHR = 'True -- ' closing tick for hsc2hs
        type StructExtends VkSurfaceFormatKHR = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-} HasField "format" VkSurfaceFormatKHR
         where
        type FieldType "format" VkSurfaceFormatKHR = VkFormat
        type FieldOptional "format" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "format" VkSurfaceFormatKHR =
             (0)
{-# LINE 1485 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "format" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceFormatKHR
-> IO (FieldType "format" VkSurfaceFormatKHR)
readField Ptr VkSurfaceFormatKHR
p
          = Ptr VkSurfaceFormatKHR -> Int -> IO VkFormat
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceFormatKHR
p (Int
0)
{-# LINE 1503 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "format" VkSurfaceFormatKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceFormatKHR
-> FieldType "format" VkSurfaceFormatKHR -> IO ()
writeField Ptr VkSurfaceFormatKHR
p
          = Ptr VkSurfaceFormatKHR -> Int -> VkFormat -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceFormatKHR
p (Int
0)
{-# LINE 1509 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "colorSpace" VkSurfaceFormatKHR where
        type FieldType "colorSpace" VkSurfaceFormatKHR = VkColorSpaceKHR
        type FieldOptional "colorSpace" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs
        type FieldOffset "colorSpace" VkSurfaceFormatKHR =
             (4)
{-# LINE 1516 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}
        type FieldIsArray "colorSpace" VkSurfaceFormatKHR = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkSurfaceFormatKHR
-> IO (FieldType "colorSpace" VkSurfaceFormatKHR)
readField Ptr VkSurfaceFormatKHR
p
          = Ptr VkSurfaceFormatKHR -> Int -> IO VkColorSpaceKHR
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkSurfaceFormatKHR
p (Int
4)
{-# LINE 1534 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "colorSpace" VkSurfaceFormatKHR where
        {-# INLINE writeField #-}
        writeField :: Ptr VkSurfaceFormatKHR
-> FieldType "colorSpace" VkSurfaceFormatKHR -> IO ()
writeField Ptr VkSurfaceFormatKHR
p
          = Ptr VkSurfaceFormatKHR -> Int -> VkColorSpaceKHR -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkSurfaceFormatKHR
p (Int
4)
{-# LINE 1540 "src-gen/Graphics/Vulkan/Types/Struct/Surface.hsc" #-}

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