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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleContexts      #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MagicHash             #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE PatternSynonyms       #-}
{-# LANGUAGE ScopedTypeVariables   #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeApplications      #-}
{-# LANGUAGE TypeFamilies          #-}
{-# LANGUAGE UndecidableInstances  #-}
module Graphics.Vulkan.Types.Struct.Pipeline
       (VkGraphicsPipelineCreateInfo(..), VkPipelineCacheCreateInfo(..),
        VkPipelineColorBlendAdvancedStateCreateInfoEXT(..),
        VkPipelineColorBlendAttachmentState(..),
        VkPipelineColorBlendStateCreateInfo(..),
        VkPipelineCoverageModulationStateCreateInfoNV(..),
        VkPipelineCoverageToColorStateCreateInfoNV(..),
        VkPipelineDepthStencilStateCreateInfo(..),
        VkPipelineDiscardRectangleStateCreateInfoEXT(..),
        VkPipelineDynamicStateCreateInfo(..),
        VkPipelineInputAssemblyStateCreateInfo(..),
        VkPipelineLayoutCreateInfo(..),
        VkPipelineMultisampleStateCreateInfo(..),
        VkPipelineRasterizationConservativeStateCreateInfoEXT(..),
        VkPipelineRasterizationStateCreateInfo(..),
        VkPipelineRasterizationStateRasterizationOrderAMD(..),
        VkPipelineSampleLocationsStateCreateInfoEXT(..),
        VkPipelineShaderStageCreateInfo(..),
        VkPipelineTessellationDomainOriginStateCreateInfo(..),
        VkPipelineTessellationDomainOriginStateCreateInfoKHR,
        VkPipelineTessellationStateCreateInfo(..),
        VkPipelineVertexInputDivisorStateCreateInfoEXT(..),
        VkPipelineVertexInputStateCreateInfo(..),
        VkPipelineViewportStateCreateInfo(..),
        VkPipelineViewportSwizzleStateCreateInfoNV(..),
        VkPipelineViewportWScalingStateCreateInfoNV(..))
       where
import           Foreign.Storable                                            (Storable (..))
import           GHC.Base                                                    (Addr#,
                                                                              ByteArray#,
                                                                              Proxy#,
                                                                              byteArrayContents#,
                                                                              plusAddr#,
                                                                              proxy#)
import           GHC.TypeLits                                                (KnownNat,
                                                                              natVal') -- ' closing tick for hsc2hs
import           Graphics.Vulkan.Marshal
import           Graphics.Vulkan.Marshal.Internal
import           Graphics.Vulkan.Types.BaseTypes                             (VkBool32,
                                                                              VkSampleMask)
import           Graphics.Vulkan.Types.Bitmasks                              (VkPipelineCacheCreateFlags,
                                                                              VkPipelineColorBlendStateCreateFlags,
                                                                              VkPipelineCoverageModulationStateCreateFlagsNV,
                                                                              VkPipelineCoverageToColorStateCreateFlagsNV,
                                                                              VkPipelineDepthStencilStateCreateFlags,
                                                                              VkPipelineDiscardRectangleStateCreateFlagsEXT,
                                                                              VkPipelineDynamicStateCreateFlags,
                                                                              VkPipelineInputAssemblyStateCreateFlags,
                                                                              VkPipelineLayoutCreateFlags,
                                                                              VkPipelineMultisampleStateCreateFlags,
                                                                              VkPipelineRasterizationConservativeStateCreateFlagsEXT,
                                                                              VkPipelineRasterizationStateCreateFlags,
                                                                              VkPipelineShaderStageCreateFlags,
                                                                              VkPipelineTessellationStateCreateFlags,
                                                                              VkPipelineVertexInputStateCreateFlags,
                                                                              VkPipelineViewportStateCreateFlags,
                                                                              VkPipelineViewportSwizzleStateCreateFlagsNV)
import           Graphics.Vulkan.Types.Enum.Blend                            (VkBlendFactor,
                                                                              VkBlendOp,
                                                                              VkBlendOverlapEXT)
import           Graphics.Vulkan.Types.Enum.Color                            (VkColorComponentFlags)
import           Graphics.Vulkan.Types.Enum.CompareOp                        (VkCompareOp)
import           Graphics.Vulkan.Types.Enum.ConservativeRasterizationModeEXT (VkConservativeRasterizationModeEXT)
import           Graphics.Vulkan.Types.Enum.CoverageModulationModeNV         (VkCoverageModulationModeNV)
import           Graphics.Vulkan.Types.Enum.CullModeFlags                    (VkCullModeFlags)
import           Graphics.Vulkan.Types.Enum.DiscardRectangleModeEXT          (VkDiscardRectangleModeEXT)
import           Graphics.Vulkan.Types.Enum.DynamicState                     (VkDynamicState)
import           Graphics.Vulkan.Types.Enum.FrontFace                        (VkFrontFace)
import           Graphics.Vulkan.Types.Enum.LogicOp                          (VkLogicOp)
import           Graphics.Vulkan.Types.Enum.Pipeline                         (VkPipelineCreateFlags)
import           Graphics.Vulkan.Types.Enum.PolygonMode                      (VkPolygonMode)
import           Graphics.Vulkan.Types.Enum.PrimitiveTopology                (VkPrimitiveTopology)
import           Graphics.Vulkan.Types.Enum.RasterizationOrderAMD            (VkRasterizationOrderAMD)
import           Graphics.Vulkan.Types.Enum.SampleCountFlags                 (VkSampleCountFlagBits)
import           Graphics.Vulkan.Types.Enum.Shader                           (VkShaderStageFlagBits)
import           Graphics.Vulkan.Types.Enum.StructureType                    (VkStructureType)
import           Graphics.Vulkan.Types.Enum.TessellationDomainOrigin         (VkTessellationDomainOrigin)
import           Graphics.Vulkan.Types.Handles                               (VkDescriptorSetLayout,
                                                                              VkPipeline,
                                                                              VkPipelineLayout,
                                                                              VkRenderPass,
                                                                              VkShaderModule)
import           Graphics.Vulkan.Types.Struct.PushConstantRange              (VkPushConstantRange)
import           Graphics.Vulkan.Types.Struct.Rect                           (VkRect2D)
import           Graphics.Vulkan.Types.Struct.SampleLocation                 (VkSampleLocationsInfoEXT)
import           Graphics.Vulkan.Types.Struct.Specialization                 (VkSpecializationInfo)
import           Graphics.Vulkan.Types.Struct.StencilOpState                 (VkStencilOpState)
import           Graphics.Vulkan.Types.Struct.VertexInput                    (VkVertexInputAttributeDescription,
                                                                              VkVertexInputBindingDescription,
                                                                              VkVertexInputBindingDivisorDescriptionEXT)
import           Graphics.Vulkan.Types.Struct.Viewport                       (VkViewport,
                                                                              VkViewportSwizzleNV,
                                                                              VkViewportWScalingNV)
import           System.IO.Unsafe                                            (unsafeDupablePerformIO)

-- | > typedef struct VkGraphicsPipelineCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkPipelineCreateFlags  flags;
--   >     uint32_t               stageCount;
--   >     const VkPipelineShaderStageCreateInfo* pStages;
--   >     const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
--   >     const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
--   >     const VkPipelineTessellationStateCreateInfo* pTessellationState;
--   >     const VkPipelineViewportStateCreateInfo* pViewportState;
--   >     const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
--   >     const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
--   >     const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
--   >     const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
--   >     const VkPipelineDynamicStateCreateInfo* pDynamicState;
--   >     VkPipelineLayout       layout;
--   >     VkRenderPass           renderPass;
--   >     uint32_t               subpass;
--   >     VkPipeline      basePipelineHandle;
--   >     int32_t                basePipelineIndex;
--   > } VkGraphicsPipelineCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo registry at www.khronos.org>
data VkGraphicsPipelineCreateInfo = VkGraphicsPipelineCreateInfo# Addr#
                                                                  ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkGraphicsPipelineCreateInfo where
        sizeOf :: VkGraphicsPipelineCreateInfo -> Int
sizeOf ~VkGraphicsPipelineCreateInfo
_ = (Int
144)
{-# LINE 150 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkGraphicsPipelineCreateInfo where
        type StructFields VkGraphicsPipelineCreateInfo =
             '["sType", "pNext", "flags", "stageCount", "pStages", -- ' closing tick for hsc2hs
               "pVertexInputState", "pInputAssemblyState", "pTessellationState",
               "pViewportState", "pRasterizationState", "pMultisampleState",
               "pDepthStencilState", "pColorBlendState", "pDynamicState",
               "layout", "renderPass", "subpass", "basePipelineHandle",
               "basePipelineIndex"]
        type CUnionType VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkGraphicsPipelineCreateInfo = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pStages" VkGraphicsPipelineCreateInfo where
        type FieldType "pStages" VkGraphicsPipelineCreateInfo =
             Ptr VkPipelineShaderStageCreateInfo
        type FieldOptional "pStages" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pStages" VkGraphicsPipelineCreateInfo =
             (24)
{-# LINE 328 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pStages" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "pStages" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineShaderStageCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
24)
{-# LINE 347 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pStages" VkGraphicsPipelineCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "pStages" VkGraphicsPipelineCreateInfo -> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> Ptr VkPipelineShaderStageCreateInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
24)
{-# LINE 353 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pVertexInputState" VkGraphicsPipelineCreateInfo where
        type FieldType "pVertexInputState" VkGraphicsPipelineCreateInfo =
             Ptr VkPipelineVertexInputStateCreateInfo
        type FieldOptional "pVertexInputState" VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pVertexInputState" VkGraphicsPipelineCreateInfo =
             (32)
{-# LINE 362 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pVertexInputState" VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "pVertexInputState" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineVertexInputStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
32)
{-# LINE 382 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pVertexInputState" VkGraphicsPipelineCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "pVertexInputState" VkGraphicsPipelineCreateInfo
-> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> Ptr VkPipelineVertexInputStateCreateInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
32)
{-# LINE 389 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pInputAssemblyState" VkGraphicsPipelineCreateInfo where
        type FieldType "pInputAssemblyState" VkGraphicsPipelineCreateInfo =
             Ptr VkPipelineInputAssemblyStateCreateInfo
        type FieldOptional "pInputAssemblyState"
               VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pInputAssemblyState" VkGraphicsPipelineCreateInfo
             =
             (40)
{-# LINE 400 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pInputAssemblyState"
               VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO
     (FieldType "pInputAssemblyState" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineInputAssemblyStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
40)
{-# LINE 422 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pInputAssemblyState" VkGraphicsPipelineCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "pInputAssemblyState" VkGraphicsPipelineCreateInfo
-> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> Ptr VkPipelineInputAssemblyStateCreateInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
40)
{-# LINE 429 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pTessellationState" VkGraphicsPipelineCreateInfo where
        type FieldType "pTessellationState" VkGraphicsPipelineCreateInfo =
             Ptr VkPipelineTessellationStateCreateInfo
        type FieldOptional "pTessellationState"
               VkGraphicsPipelineCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pTessellationState" VkGraphicsPipelineCreateInfo
             =
             (48)
{-# LINE 440 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pTessellationState" VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "pTessellationState" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineTessellationStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
48)
{-# LINE 461 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pTessellationState" VkGraphicsPipelineCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "pTessellationState" VkGraphicsPipelineCreateInfo
-> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> Ptr VkPipelineTessellationStateCreateInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
48)
{-# LINE 468 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pViewportState" VkGraphicsPipelineCreateInfo where
        type FieldType "pViewportState" VkGraphicsPipelineCreateInfo =
             Ptr VkPipelineViewportStateCreateInfo
        type FieldOptional "pViewportState" VkGraphicsPipelineCreateInfo =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "pViewportState" VkGraphicsPipelineCreateInfo =
             (56)
{-# LINE 477 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pViewportState" VkGraphicsPipelineCreateInfo =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "pViewportState" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineViewportStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
56)
{-# LINE 497 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pViewportState" VkGraphicsPipelineCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "pViewportState" VkGraphicsPipelineCreateInfo -> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> Ptr VkPipelineViewportStateCreateInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
56)
{-# LINE 503 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pRasterizationState" VkGraphicsPipelineCreateInfo where
        type FieldType "pRasterizationState" VkGraphicsPipelineCreateInfo =
             Ptr VkPipelineRasterizationStateCreateInfo
        type FieldOptional "pRasterizationState"
               VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pRasterizationState" VkGraphicsPipelineCreateInfo
             =
             (64)
{-# LINE 514 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pRasterizationState"
               VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO
     (FieldType "pRasterizationState" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineRasterizationStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
64)
{-# LINE 536 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pRasterizationState" VkGraphicsPipelineCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "pRasterizationState" VkGraphicsPipelineCreateInfo
-> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> Ptr VkPipelineRasterizationStateCreateInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
64)
{-# LINE 543 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pMultisampleState" VkGraphicsPipelineCreateInfo where
        type FieldType "pMultisampleState" VkGraphicsPipelineCreateInfo =
             Ptr VkPipelineMultisampleStateCreateInfo
        type FieldOptional "pMultisampleState" VkGraphicsPipelineCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pMultisampleState" VkGraphicsPipelineCreateInfo =
             (72)
{-# LINE 552 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pMultisampleState" VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "pMultisampleState" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineMultisampleStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
72)
{-# LINE 572 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pMultisampleState" VkGraphicsPipelineCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "pMultisampleState" VkGraphicsPipelineCreateInfo
-> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> Ptr VkPipelineMultisampleStateCreateInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
72)
{-# LINE 579 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pDepthStencilState" VkGraphicsPipelineCreateInfo where
        type FieldType "pDepthStencilState" VkGraphicsPipelineCreateInfo =
             Ptr VkPipelineDepthStencilStateCreateInfo
        type FieldOptional "pDepthStencilState"
               VkGraphicsPipelineCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pDepthStencilState" VkGraphicsPipelineCreateInfo
             =
             (80)
{-# LINE 590 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pDepthStencilState" VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
80)
{-# LINE 599 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pDepthStencilState" VkGraphicsPipelineCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkGraphicsPipelineCreateInfo
-> FieldType "pDepthStencilState" VkGraphicsPipelineCreateInfo
getField VkGraphicsPipelineCreateInfo
x
          = IO (Ptr VkPipelineDepthStencilStateCreateInfo)
-> Ptr VkPipelineDepthStencilStateCreateInfo
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineDepthStencilStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkGraphicsPipelineCreateInfo -> Ptr VkGraphicsPipelineCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkGraphicsPipelineCreateInfo
x) (Int
80))
{-# LINE 607 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "pDepthStencilState" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineDepthStencilStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
80)
{-# LINE 611 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pDepthStencilState" VkGraphicsPipelineCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "pDepthStencilState" VkGraphicsPipelineCreateInfo
-> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> Ptr VkPipelineDepthStencilStateCreateInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
80)
{-# LINE 618 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pColorBlendState" VkGraphicsPipelineCreateInfo where
        type FieldType "pColorBlendState" VkGraphicsPipelineCreateInfo =
             Ptr VkPipelineColorBlendStateCreateInfo
        type FieldOptional "pColorBlendState" VkGraphicsPipelineCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pColorBlendState" VkGraphicsPipelineCreateInfo =
             (88)
{-# LINE 627 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pColorBlendState" VkGraphicsPipelineCreateInfo =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
88)
{-# LINE 636 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pColorBlendState" VkGraphicsPipelineCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkGraphicsPipelineCreateInfo
-> FieldType "pColorBlendState" VkGraphicsPipelineCreateInfo
getField VkGraphicsPipelineCreateInfo
x
          = IO (Ptr VkPipelineColorBlendStateCreateInfo)
-> Ptr VkPipelineColorBlendStateCreateInfo
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineColorBlendStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkGraphicsPipelineCreateInfo -> Ptr VkGraphicsPipelineCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkGraphicsPipelineCreateInfo
x) (Int
88))
{-# LINE 643 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "pColorBlendState" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineColorBlendStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
88)
{-# LINE 647 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pColorBlendState" VkGraphicsPipelineCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "pColorBlendState" VkGraphicsPipelineCreateInfo
-> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> Ptr VkPipelineColorBlendStateCreateInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
88)
{-# LINE 653 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pDynamicState" VkGraphicsPipelineCreateInfo where
        type FieldType "pDynamicState" VkGraphicsPipelineCreateInfo =
             Ptr VkPipelineDynamicStateCreateInfo
        type FieldOptional "pDynamicState" VkGraphicsPipelineCreateInfo =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "pDynamicState" VkGraphicsPipelineCreateInfo =
             (96)
{-# LINE 662 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pDynamicState" VkGraphicsPipelineCreateInfo =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
96)
{-# LINE 671 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pDynamicState" VkGraphicsPipelineCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkGraphicsPipelineCreateInfo
-> FieldType "pDynamicState" VkGraphicsPipelineCreateInfo
getField VkGraphicsPipelineCreateInfo
x
          = IO (Ptr VkPipelineDynamicStateCreateInfo)
-> Ptr VkPipelineDynamicStateCreateInfo
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineDynamicStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkGraphicsPipelineCreateInfo -> Ptr VkGraphicsPipelineCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkGraphicsPipelineCreateInfo
x) (Int
96))
{-# LINE 678 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "pDynamicState" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> IO (Ptr VkPipelineDynamicStateCreateInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
96)
{-# LINE 682 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pDynamicState" VkGraphicsPipelineCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "pDynamicState" VkGraphicsPipelineCreateInfo -> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> Ptr VkPipelineDynamicStateCreateInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
96)
{-# LINE 688 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "layout" VkGraphicsPipelineCreateInfo where
        type FieldType "layout" VkGraphicsPipelineCreateInfo =
             VkPipelineLayout
        type FieldOptional "layout" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "layout" VkGraphicsPipelineCreateInfo =
             (104)
{-# LINE 696 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "layout" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
104)
{-# LINE 704 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "layout" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo -> Int -> IO VkPipelineLayout
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
104)
{-# LINE 715 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "layout" VkGraphicsPipelineCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "layout" VkGraphicsPipelineCreateInfo -> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo
-> Int -> VkPipelineLayout -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
104)
{-# LINE 721 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "renderPass" VkGraphicsPipelineCreateInfo where
        type FieldType "renderPass" VkGraphicsPipelineCreateInfo =
             VkRenderPass
        type FieldOptional "renderPass" VkGraphicsPipelineCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "renderPass" VkGraphicsPipelineCreateInfo =
             (112)
{-# LINE 730 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "renderPass" VkGraphicsPipelineCreateInfo =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
112)
{-# LINE 739 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "renderPass" VkGraphicsPipelineCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkGraphicsPipelineCreateInfo
-> FieldType "renderPass" VkGraphicsPipelineCreateInfo
getField VkGraphicsPipelineCreateInfo
x
          = IO VkRenderPass -> VkRenderPass
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkGraphicsPipelineCreateInfo -> Int -> IO VkRenderPass
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkGraphicsPipelineCreateInfo -> Ptr VkGraphicsPipelineCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkGraphicsPipelineCreateInfo
x) (Int
112))
{-# LINE 746 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "renderPass" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo -> Int -> IO VkRenderPass
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
112)
{-# LINE 750 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "renderPass" VkGraphicsPipelineCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "renderPass" VkGraphicsPipelineCreateInfo -> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo -> Int -> VkRenderPass -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
112)
{-# LINE 756 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "subpass" VkGraphicsPipelineCreateInfo where
        type FieldType "subpass" VkGraphicsPipelineCreateInfo = Word32
        type FieldOptional "subpass" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "subpass" VkGraphicsPipelineCreateInfo =
             (120)
{-# LINE 763 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "subpass" VkGraphicsPipelineCreateInfo = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
120)
{-# LINE 771 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "subpass" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
120)
{-# LINE 782 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "subpass" VkGraphicsPipelineCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "subpass" VkGraphicsPipelineCreateInfo -> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
120)
{-# LINE 788 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "basePipelineHandle" VkGraphicsPipelineCreateInfo where
        type FieldType "basePipelineHandle" VkGraphicsPipelineCreateInfo =
             VkPipeline
        type FieldOptional "basePipelineHandle"
               VkGraphicsPipelineCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "basePipelineHandle" VkGraphicsPipelineCreateInfo
             =
             (128)
{-# LINE 799 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "basePipelineHandle" VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
128)
{-# LINE 808 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "basePipelineHandle" VkGraphicsPipelineCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkGraphicsPipelineCreateInfo
-> FieldType "basePipelineHandle" VkGraphicsPipelineCreateInfo
getField VkGraphicsPipelineCreateInfo
x
          = IO VkPipeline -> VkPipeline
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkGraphicsPipelineCreateInfo -> Int -> IO VkPipeline
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkGraphicsPipelineCreateInfo -> Ptr VkGraphicsPipelineCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkGraphicsPipelineCreateInfo
x) (Int
128))
{-# LINE 816 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "basePipelineHandle" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo -> Int -> IO VkPipeline
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
128)
{-# LINE 820 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "basePipelineHandle" VkGraphicsPipelineCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "basePipelineHandle" VkGraphicsPipelineCreateInfo
-> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo -> Int -> VkPipeline -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
128)
{-# LINE 827 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "basePipelineIndex" VkGraphicsPipelineCreateInfo where
        type FieldType "basePipelineIndex" VkGraphicsPipelineCreateInfo =
             Int32
        type FieldOptional "basePipelineIndex" VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "basePipelineIndex" VkGraphicsPipelineCreateInfo =
             (136)
{-# LINE 836 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "basePipelineIndex" VkGraphicsPipelineCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
136)
{-# LINE 845 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "basePipelineIndex" VkGraphicsPipelineCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkGraphicsPipelineCreateInfo
-> FieldType "basePipelineIndex" VkGraphicsPipelineCreateInfo
getField VkGraphicsPipelineCreateInfo
x
          = IO Int32 -> Int32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkGraphicsPipelineCreateInfo -> Int -> IO Int32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkGraphicsPipelineCreateInfo -> Ptr VkGraphicsPipelineCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkGraphicsPipelineCreateInfo
x) (Int
136))
{-# LINE 852 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkGraphicsPipelineCreateInfo
-> IO (FieldType "basePipelineIndex" VkGraphicsPipelineCreateInfo)
readField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo -> Int -> IO Int32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
136)
{-# LINE 856 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "basePipelineIndex" VkGraphicsPipelineCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkGraphicsPipelineCreateInfo
-> FieldType "basePipelineIndex" VkGraphicsPipelineCreateInfo
-> IO ()
writeField Ptr VkGraphicsPipelineCreateInfo
p
          = Ptr VkGraphicsPipelineCreateInfo -> Int -> Int32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkGraphicsPipelineCreateInfo
p (Int
136)
{-# LINE 863 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkGraphicsPipelineCreateInfo where
        showsPrec :: Int -> VkGraphicsPipelineCreateInfo -> ShowS
showsPrec Int
d VkGraphicsPipelineCreateInfo
x
          = String -> ShowS
showString String
"VkGraphicsPipelineCreateInfo {" 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 (VkGraphicsPipelineCreateInfo
-> FieldType "sType" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkGraphicsPipelineCreateInfo
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 (VkGraphicsPipelineCreateInfo
-> FieldType "pNext" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkGraphicsPipelineCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkGraphicsPipelineCreateInfo
-> FieldType "flags" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkGraphicsPipelineCreateInfo
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
"stageCount = " 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 (VkGraphicsPipelineCreateInfo
-> FieldType "stageCount" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"stageCount" VkGraphicsPipelineCreateInfo
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
"pStages = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkPipelineShaderStageCreateInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkGraphicsPipelineCreateInfo
-> FieldType "pStages" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pStages" VkGraphicsPipelineCreateInfo
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
"pVertexInputState = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> Ptr VkPipelineVertexInputStateCreateInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkGraphicsPipelineCreateInfo
-> FieldType "pVertexInputState" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pVertexInputState" VkGraphicsPipelineCreateInfo
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
"pInputAssemblyState = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> Ptr VkPipelineInputAssemblyStateCreateInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkGraphicsPipelineCreateInfo
-> FieldType "pInputAssemblyState" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pInputAssemblyState" VkGraphicsPipelineCreateInfo
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
"pTessellationState = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                          Int -> Ptr VkPipelineTessellationStateCreateInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                            (VkGraphicsPipelineCreateInfo
-> FieldType "pTessellationState" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pTessellationState" VkGraphicsPipelineCreateInfo
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
"pViewportState = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                Int -> Ptr VkPipelineViewportStateCreateInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                  (VkGraphicsPipelineCreateInfo
-> FieldType "pViewportState" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pViewportState" VkGraphicsPipelineCreateInfo
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
"pRasterizationState = "
                                                                      ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                      Int -> Ptr VkPipelineRasterizationStateCreateInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                        (VkGraphicsPipelineCreateInfo
-> FieldType "pRasterizationState" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                           @"pRasterizationState"
                                                                           VkGraphicsPipelineCreateInfo
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
"pMultisampleState = "
                                                                            ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                            Int -> Ptr VkPipelineMultisampleStateCreateInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                              (VkGraphicsPipelineCreateInfo
-> FieldType "pMultisampleState" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                 @"pMultisampleState"
                                                                                 VkGraphicsPipelineCreateInfo
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
"pDepthStencilState = "
                                                                                  ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                  Int -> Ptr VkPipelineDepthStencilStateCreateInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                                    (VkGraphicsPipelineCreateInfo
-> FieldType "pDepthStencilState" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                       @"pDepthStencilState"
                                                                                       VkGraphicsPipelineCreateInfo
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
"pColorBlendState = "
                                                                                        ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                        Int -> Ptr VkPipelineColorBlendStateCreateInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                                          (VkGraphicsPipelineCreateInfo
-> FieldType "pColorBlendState" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                             @"pColorBlendState"
                                                                                             VkGraphicsPipelineCreateInfo
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
"pDynamicState = "
                                                                                              ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                              Int -> Ptr VkPipelineDynamicStateCreateInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec
                                                                                                Int
d
                                                                                                (VkGraphicsPipelineCreateInfo
-> FieldType "pDynamicState" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                                   @"pDynamicState"
                                                                                                   VkGraphicsPipelineCreateInfo
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
"layout = "
                                                                                                    ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                                    Int -> VkPipelineLayout -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec
                                                                                                      Int
d
                                                                                                      (VkGraphicsPipelineCreateInfo
-> FieldType "layout" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                                         @"layout"
                                                                                                         VkGraphicsPipelineCreateInfo
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
"renderPass = "
                                                                                                          ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                                          Int -> VkRenderPass -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec
                                                                                                            Int
d
                                                                                                            (VkGraphicsPipelineCreateInfo
-> FieldType "renderPass" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                                               @"renderPass"
                                                                                                               VkGraphicsPipelineCreateInfo
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
"subpass = "
                                                                                                                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
                                                                                                                  (VkGraphicsPipelineCreateInfo
-> FieldType "subpass" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                                                     @"subpass"
                                                                                                                     VkGraphicsPipelineCreateInfo
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
"basePipelineHandle = "
                                                                                                                      ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                                                      Int -> VkPipeline -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec
                                                                                                                        Int
d
                                                                                                                        (VkGraphicsPipelineCreateInfo
-> FieldType "basePipelineHandle" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                                                           @"basePipelineHandle"
                                                                                                                           VkGraphicsPipelineCreateInfo
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
"basePipelineIndex = "
                                                                                                                            ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                                                            Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec
                                                                                                                              Int
d
                                                                                                                              (VkGraphicsPipelineCreateInfo
-> FieldType "basePipelineIndex" VkGraphicsPipelineCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                                                                 @"basePipelineIndex"
                                                                                                                                 VkGraphicsPipelineCreateInfo
x)
                                                                                                                              ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                                                              Char -> ShowS
showChar
                                                                                                                                Char
'}'

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "initialDataSize" VkPipelineCacheCreateInfo where
        type FieldType "initialDataSize" VkPipelineCacheCreateInfo = CSize
        type FieldOptional "initialDataSize" VkPipelineCacheCreateInfo =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "initialDataSize" VkPipelineCacheCreateInfo =
             (24)
{-# LINE 1172 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "initialDataSize" VkPipelineCacheCreateInfo =
             'False -- ' closing tick for hsc2hs

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pInitialData" VkPipelineCacheCreateInfo where
        type FieldType "pInitialData" VkPipelineCacheCreateInfo = Ptr Void
        type FieldOptional "pInitialData" VkPipelineCacheCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "pInitialData" VkPipelineCacheCreateInfo =
             (32)
{-# LINE 1206 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pInitialData" VkPipelineCacheCreateInfo = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineCacheCreateInfo
-> IO (FieldType "pInitialData" VkPipelineCacheCreateInfo)
readField Ptr VkPipelineCacheCreateInfo
p
          = Ptr VkPipelineCacheCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineCacheCreateInfo
p (Int
32)
{-# LINE 1225 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pInitialData" VkPipelineCacheCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineCacheCreateInfo
-> FieldType "pInitialData" VkPipelineCacheCreateInfo -> IO ()
writeField Ptr VkPipelineCacheCreateInfo
p
          = Ptr VkPipelineCacheCreateInfo -> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineCacheCreateInfo
p (Int
32)
{-# LINE 1231 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal
           VkPipelineColorBlendAdvancedStateCreateInfoEXT
         where
        type StructFields VkPipelineColorBlendAdvancedStateCreateInfoEXT =
             '["sType", "pNext", "srcPremultiplied", "dstPremultiplied", -- ' closing tick for hsc2hs
               "blendOverlap"]
        type CUnionType VkPipelineColorBlendAdvancedStateCreateInfoEXT =
             'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineColorBlendAdvancedStateCreateInfoEXT =
             'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineColorBlendAdvancedStateCreateInfoEXT =
             '[VkPipelineColorBlendStateCreateInfo] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "dstPremultiplied"
           VkPipelineColorBlendAdvancedStateCreateInfoEXT
         where
        type FieldType "dstPremultiplied"
               VkPipelineColorBlendAdvancedStateCreateInfoEXT
             = VkBool32
        type FieldOptional "dstPremultiplied"
               VkPipelineColorBlendAdvancedStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "dstPremultiplied"
               VkPipelineColorBlendAdvancedStateCreateInfoEXT
             =
             (20)
{-# LINE 1472 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "dstPremultiplied"
               VkPipelineColorBlendAdvancedStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
-> IO
     (FieldType
        "dstPremultiplied" VkPipelineColorBlendAdvancedStateCreateInfoEXT)
readField Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
p
          = Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
-> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
p (Int
20)
{-# LINE 1495 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "dstPremultiplied"
           VkPipelineColorBlendAdvancedStateCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
-> FieldType
     "dstPremultiplied" VkPipelineColorBlendAdvancedStateCreateInfoEXT
-> IO ()
writeField Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
p
          = Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
p (Int
20)
{-# LINE 1503 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "blendOverlap"
           VkPipelineColorBlendAdvancedStateCreateInfoEXT
         where
        type FieldType "blendOverlap"
               VkPipelineColorBlendAdvancedStateCreateInfoEXT
             = VkBlendOverlapEXT
        type FieldOptional "blendOverlap"
               VkPipelineColorBlendAdvancedStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "blendOverlap"
               VkPipelineColorBlendAdvancedStateCreateInfoEXT
             =
             (24)
{-# LINE 1518 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "blendOverlap"
               VkPipelineColorBlendAdvancedStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
-> IO
     (FieldType
        "blendOverlap" VkPipelineColorBlendAdvancedStateCreateInfoEXT)
readField Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
p
          = Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
-> Int -> IO VkBlendOverlapEXT
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
p (Int
24)
{-# LINE 1541 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "blendOverlap"
           VkPipelineColorBlendAdvancedStateCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
-> FieldType
     "blendOverlap" VkPipelineColorBlendAdvancedStateCreateInfoEXT
-> IO ()
writeField Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
p
          = Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
-> Int -> VkBlendOverlapEXT -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendAdvancedStateCreateInfoEXT
p (Int
24)
{-# LINE 1549 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

-- | > typedef struct VkPipelineColorBlendAttachmentState {
--   >     VkBool32               blendEnable;
--   >     VkBlendFactor          srcColorBlendFactor;
--   >     VkBlendFactor          dstColorBlendFactor;
--   >     VkBlendOp              colorBlendOp;
--   >     VkBlendFactor          srcAlphaBlendFactor;
--   >     VkBlendFactor          dstAlphaBlendFactor;
--   >     VkBlendOp              alphaBlendOp;
--   >     VkColorComponentFlags  colorWriteMask;
--   > } VkPipelineColorBlendAttachmentState;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState registry at www.khronos.org>
data VkPipelineColorBlendAttachmentState = VkPipelineColorBlendAttachmentState# Addr#
                                                                                ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineColorBlendAttachmentState where
        type StructFields VkPipelineColorBlendAttachmentState =
             '["blendEnable", "srcColorBlendFactor", "dstColorBlendFactor", -- ' closing tick for hsc2hs
               "colorBlendOp", "srcAlphaBlendFactor", "dstAlphaBlendFactor",
               "alphaBlendOp", "colorWriteMask"]
        type CUnionType VkPipelineColorBlendAttachmentState = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineColorBlendAttachmentState = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineColorBlendAttachmentState = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "blendEnable" VkPipelineColorBlendAttachmentState where
        type FieldType "blendEnable" VkPipelineColorBlendAttachmentState =
             VkBool32
        type FieldOptional "blendEnable"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "blendEnable" VkPipelineColorBlendAttachmentState
             =
             (0)
{-# LINE 1646 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "blendEnable" VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendAttachmentState
-> IO (FieldType "blendEnable" VkPipelineColorBlendAttachmentState)
readField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
0)
{-# LINE 1667 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "blendEnable" VkPipelineColorBlendAttachmentState
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendAttachmentState
-> FieldType "blendEnable" VkPipelineColorBlendAttachmentState
-> IO ()
writeField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState -> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
0)
{-# LINE 1674 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "srcColorBlendFactor" VkPipelineColorBlendAttachmentState
         where
        type FieldType "srcColorBlendFactor"
               VkPipelineColorBlendAttachmentState
             = VkBlendFactor
        type FieldOptional "srcColorBlendFactor"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "srcColorBlendFactor"
               VkPipelineColorBlendAttachmentState
             =
             (4)
{-# LINE 1688 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "srcColorBlendFactor"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendAttachmentState
-> IO
     (FieldType
        "srcColorBlendFactor" VkPipelineColorBlendAttachmentState)
readField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState -> Int -> IO VkBlendFactor
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
4)
{-# LINE 1711 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "srcColorBlendFactor"
           VkPipelineColorBlendAttachmentState
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendAttachmentState
-> FieldType
     "srcColorBlendFactor" VkPipelineColorBlendAttachmentState
-> IO ()
writeField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState
-> Int -> VkBlendFactor -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
4)
{-# LINE 1719 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "dstColorBlendFactor" VkPipelineColorBlendAttachmentState
         where
        type FieldType "dstColorBlendFactor"
               VkPipelineColorBlendAttachmentState
             = VkBlendFactor
        type FieldOptional "dstColorBlendFactor"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "dstColorBlendFactor"
               VkPipelineColorBlendAttachmentState
             =
             (8)
{-# LINE 1733 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "dstColorBlendFactor"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendAttachmentState
-> IO
     (FieldType
        "dstColorBlendFactor" VkPipelineColorBlendAttachmentState)
readField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState -> Int -> IO VkBlendFactor
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
8)
{-# LINE 1756 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "dstColorBlendFactor"
           VkPipelineColorBlendAttachmentState
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendAttachmentState
-> FieldType
     "dstColorBlendFactor" VkPipelineColorBlendAttachmentState
-> IO ()
writeField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState
-> Int -> VkBlendFactor -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
8)
{-# LINE 1764 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "colorBlendOp" VkPipelineColorBlendAttachmentState where
        type FieldType "colorBlendOp" VkPipelineColorBlendAttachmentState =
             VkBlendOp
        type FieldOptional "colorBlendOp"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "colorBlendOp" VkPipelineColorBlendAttachmentState
             =
             (12)
{-# LINE 1775 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "colorBlendOp"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendAttachmentState
-> IO
     (FieldType "colorBlendOp" VkPipelineColorBlendAttachmentState)
readField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState -> Int -> IO VkBlendOp
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
12)
{-# LINE 1797 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "colorBlendOp" VkPipelineColorBlendAttachmentState
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendAttachmentState
-> FieldType "colorBlendOp" VkPipelineColorBlendAttachmentState
-> IO ()
writeField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState
-> Int -> VkBlendOp -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
12)
{-# LINE 1804 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "srcAlphaBlendFactor" VkPipelineColorBlendAttachmentState
         where
        type FieldType "srcAlphaBlendFactor"
               VkPipelineColorBlendAttachmentState
             = VkBlendFactor
        type FieldOptional "srcAlphaBlendFactor"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "srcAlphaBlendFactor"
               VkPipelineColorBlendAttachmentState
             =
             (16)
{-# LINE 1818 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "srcAlphaBlendFactor"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendAttachmentState
-> IO
     (FieldType
        "srcAlphaBlendFactor" VkPipelineColorBlendAttachmentState)
readField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState -> Int -> IO VkBlendFactor
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
16)
{-# LINE 1841 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "srcAlphaBlendFactor"
           VkPipelineColorBlendAttachmentState
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendAttachmentState
-> FieldType
     "srcAlphaBlendFactor" VkPipelineColorBlendAttachmentState
-> IO ()
writeField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState
-> Int -> VkBlendFactor -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
16)
{-# LINE 1849 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "dstAlphaBlendFactor" VkPipelineColorBlendAttachmentState
         where
        type FieldType "dstAlphaBlendFactor"
               VkPipelineColorBlendAttachmentState
             = VkBlendFactor
        type FieldOptional "dstAlphaBlendFactor"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "dstAlphaBlendFactor"
               VkPipelineColorBlendAttachmentState
             =
             (20)
{-# LINE 1863 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "dstAlphaBlendFactor"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendAttachmentState
-> IO
     (FieldType
        "dstAlphaBlendFactor" VkPipelineColorBlendAttachmentState)
readField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState -> Int -> IO VkBlendFactor
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
20)
{-# LINE 1886 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "dstAlphaBlendFactor"
           VkPipelineColorBlendAttachmentState
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendAttachmentState
-> FieldType
     "dstAlphaBlendFactor" VkPipelineColorBlendAttachmentState
-> IO ()
writeField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState
-> Int -> VkBlendFactor -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
20)
{-# LINE 1894 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "alphaBlendOp" VkPipelineColorBlendAttachmentState where
        type FieldType "alphaBlendOp" VkPipelineColorBlendAttachmentState =
             VkBlendOp
        type FieldOptional "alphaBlendOp"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "alphaBlendOp" VkPipelineColorBlendAttachmentState
             =
             (24)
{-# LINE 1905 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "alphaBlendOp"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendAttachmentState
-> IO
     (FieldType "alphaBlendOp" VkPipelineColorBlendAttachmentState)
readField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState -> Int -> IO VkBlendOp
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
24)
{-# LINE 1927 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "alphaBlendOp" VkPipelineColorBlendAttachmentState
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendAttachmentState
-> FieldType "alphaBlendOp" VkPipelineColorBlendAttachmentState
-> IO ()
writeField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState
-> Int -> VkBlendOp -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
24)
{-# LINE 1934 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "colorWriteMask" VkPipelineColorBlendAttachmentState where
        type FieldType "colorWriteMask" VkPipelineColorBlendAttachmentState
             = VkColorComponentFlags
        type FieldOptional "colorWriteMask"
               VkPipelineColorBlendAttachmentState
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "colorWriteMask"
               VkPipelineColorBlendAttachmentState
             =
             (28)
{-# LINE 1946 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "colorWriteMask"
               VkPipelineColorBlendAttachmentState
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendAttachmentState
-> IO
     (FieldType "colorWriteMask" VkPipelineColorBlendAttachmentState)
readField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState
-> Int -> IO VkColorComponentFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
28)
{-# LINE 1968 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "colorWriteMask" VkPipelineColorBlendAttachmentState
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendAttachmentState
-> FieldType "colorWriteMask" VkPipelineColorBlendAttachmentState
-> IO ()
writeField Ptr VkPipelineColorBlendAttachmentState
p
          = Ptr VkPipelineColorBlendAttachmentState
-> Int -> VkColorComponentFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendAttachmentState
p (Int
28)
{-# LINE 1975 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineColorBlendAttachmentState where
        showsPrec :: Int -> VkPipelineColorBlendAttachmentState -> ShowS
showsPrec Int
d VkPipelineColorBlendAttachmentState
x
          = String -> ShowS
showString String
"VkPipelineColorBlendAttachmentState {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"blendEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendAttachmentState
-> FieldType "blendEnable" VkPipelineColorBlendAttachmentState
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"blendEnable" VkPipelineColorBlendAttachmentState
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
"srcColorBlendFactor = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkBlendFactor -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendAttachmentState
-> FieldType
     "srcColorBlendFactor" VkPipelineColorBlendAttachmentState
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"srcColorBlendFactor" VkPipelineColorBlendAttachmentState
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
"dstColorBlendFactor = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkBlendFactor -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendAttachmentState
-> FieldType
     "dstColorBlendFactor" VkPipelineColorBlendAttachmentState
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"dstColorBlendFactor" VkPipelineColorBlendAttachmentState
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
"colorBlendOp = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkBlendOp -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendAttachmentState
-> FieldType "colorBlendOp" VkPipelineColorBlendAttachmentState
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"colorBlendOp" VkPipelineColorBlendAttachmentState
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
"srcAlphaBlendFactor = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> VkBlendFactor -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendAttachmentState
-> FieldType
     "srcAlphaBlendFactor" VkPipelineColorBlendAttachmentState
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"srcAlphaBlendFactor" VkPipelineColorBlendAttachmentState
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
"dstAlphaBlendFactor = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> VkBlendFactor -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendAttachmentState
-> FieldType
     "dstAlphaBlendFactor" VkPipelineColorBlendAttachmentState
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"dstAlphaBlendFactor" VkPipelineColorBlendAttachmentState
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
"alphaBlendOp = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> VkBlendOp -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendAttachmentState
-> FieldType "alphaBlendOp" VkPipelineColorBlendAttachmentState
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"alphaBlendOp" VkPipelineColorBlendAttachmentState
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
"colorWriteMask = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                          Int -> VkColorComponentFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendAttachmentState
-> FieldType "colorWriteMask" VkPipelineColorBlendAttachmentState
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"colorWriteMask" VkPipelineColorBlendAttachmentState
x)
                                                            ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineColorBlendStateCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkPipelineColorBlendStateCreateFlags    flags;
--   >     VkBool32               logicOpEnable;
--   >     VkLogicOp              logicOp;
--   >     uint32_t               attachmentCount;
--   >     const VkPipelineColorBlendAttachmentState* pAttachments;
--   >     float                  blendConstants[4];
--   > } VkPipelineColorBlendStateCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo registry at www.khronos.org>
data VkPipelineColorBlendStateCreateInfo = VkPipelineColorBlendStateCreateInfo# Addr#
                                                                                ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineColorBlendStateCreateInfo where
        type StructFields VkPipelineColorBlendStateCreateInfo =
             '["sType", "pNext", "flags", "logicOpEnable", "logicOp", -- ' closing tick for hsc2hs
               "attachmentCount", "pAttachments", "blendConstants"]
        type CUnionType VkPipelineColorBlendStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineColorBlendStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineColorBlendStateCreateInfo = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "logicOpEnable" VkPipelineColorBlendStateCreateInfo where
        type FieldType "logicOpEnable" VkPipelineColorBlendStateCreateInfo
             = VkBool32
        type FieldOptional "logicOpEnable"
               VkPipelineColorBlendStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "logicOpEnable"
               VkPipelineColorBlendStateCreateInfo
             =
             (20)
{-# LINE 2187 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "logicOpEnable"
               VkPipelineColorBlendStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendStateCreateInfo
-> IO
     (FieldType "logicOpEnable" VkPipelineColorBlendStateCreateInfo)
readField Ptr VkPipelineColorBlendStateCreateInfo
p
          = Ptr VkPipelineColorBlendStateCreateInfo -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendStateCreateInfo
p (Int
20)
{-# LINE 2209 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "logicOpEnable" VkPipelineColorBlendStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendStateCreateInfo
-> FieldType "logicOpEnable" VkPipelineColorBlendStateCreateInfo
-> IO ()
writeField Ptr VkPipelineColorBlendStateCreateInfo
p
          = Ptr VkPipelineColorBlendStateCreateInfo -> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendStateCreateInfo
p (Int
20)
{-# LINE 2216 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "logicOp" VkPipelineColorBlendStateCreateInfo where
        type FieldType "logicOp" VkPipelineColorBlendStateCreateInfo =
             VkLogicOp
        type FieldOptional "logicOp" VkPipelineColorBlendStateCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "logicOp" VkPipelineColorBlendStateCreateInfo =
             (24)
{-# LINE 2225 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "logicOp" VkPipelineColorBlendStateCreateInfo =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendStateCreateInfo
-> IO (FieldType "logicOp" VkPipelineColorBlendStateCreateInfo)
readField Ptr VkPipelineColorBlendStateCreateInfo
p
          = Ptr VkPipelineColorBlendStateCreateInfo -> Int -> IO VkLogicOp
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendStateCreateInfo
p (Int
24)
{-# LINE 2245 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "logicOp" VkPipelineColorBlendStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendStateCreateInfo
-> FieldType "logicOp" VkPipelineColorBlendStateCreateInfo -> IO ()
writeField Ptr VkPipelineColorBlendStateCreateInfo
p
          = Ptr VkPipelineColorBlendStateCreateInfo
-> Int -> VkLogicOp -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendStateCreateInfo
p (Int
24)
{-# LINE 2251 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "attachmentCount" VkPipelineColorBlendStateCreateInfo
         where
        type FieldType "attachmentCount"
               VkPipelineColorBlendStateCreateInfo
             = Word32
        type FieldOptional "attachmentCount"
               VkPipelineColorBlendStateCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "attachmentCount"
               VkPipelineColorBlendStateCreateInfo
             =
             (28)
{-# LINE 2265 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "attachmentCount"
               VkPipelineColorBlendStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendStateCreateInfo
-> IO
     (FieldType "attachmentCount" VkPipelineColorBlendStateCreateInfo)
readField Ptr VkPipelineColorBlendStateCreateInfo
p
          = Ptr VkPipelineColorBlendStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendStateCreateInfo
p (Int
28)
{-# LINE 2287 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "attachmentCount" VkPipelineColorBlendStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendStateCreateInfo
-> FieldType "attachmentCount" VkPipelineColorBlendStateCreateInfo
-> IO ()
writeField Ptr VkPipelineColorBlendStateCreateInfo
p
          = Ptr VkPipelineColorBlendStateCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendStateCreateInfo
p (Int
28)
{-# LINE 2294 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pAttachments" VkPipelineColorBlendStateCreateInfo where
        type FieldType "pAttachments" VkPipelineColorBlendStateCreateInfo =
             Ptr VkPipelineColorBlendAttachmentState
        type FieldOptional "pAttachments"
               VkPipelineColorBlendStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pAttachments" VkPipelineColorBlendStateCreateInfo
             =
             (32)
{-# LINE 2305 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pAttachments"
               VkPipelineColorBlendStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineColorBlendStateCreateInfo
-> IO
     (FieldType "pAttachments" VkPipelineColorBlendStateCreateInfo)
readField Ptr VkPipelineColorBlendStateCreateInfo
p
          = Ptr VkPipelineColorBlendStateCreateInfo
-> Int -> IO (Ptr VkPipelineColorBlendAttachmentState)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendStateCreateInfo
p (Int
32)
{-# LINE 2327 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pAttachments" VkPipelineColorBlendStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineColorBlendStateCreateInfo
-> FieldType "pAttachments" VkPipelineColorBlendStateCreateInfo
-> IO ()
writeField Ptr VkPipelineColorBlendStateCreateInfo
p
          = Ptr VkPipelineColorBlendStateCreateInfo
-> Int -> Ptr VkPipelineColorBlendAttachmentState -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendStateCreateInfo
p (Int
32)
{-# LINE 2334 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "blendConstants" VkPipelineColorBlendStateCreateInfo where
        type FieldType "blendConstants" VkPipelineColorBlendStateCreateInfo
             = Float
{-# LINE 2339 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldOptional "blendConstants"
               VkPipelineColorBlendStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "blendConstants"
               VkPipelineColorBlendStateCreateInfo
             =
             (40)
{-# LINE 2346 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "blendConstants"
               VkPipelineColorBlendStateCreateInfo
             = 'True -- ' closing tick for hsc2hs

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

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

instance {-# OVERLAPPING #-}
         (KnownNat idx,
          IndexInBounds "blendConstants" idx
            VkPipelineColorBlendStateCreateInfo) =>
         CanReadFieldArray "blendConstants" idx
           VkPipelineColorBlendStateCreateInfo
         where
        {-# SPECIALISE instance
                       CanReadFieldArray "blendConstants" 0
                         VkPipelineColorBlendStateCreateInfo
                       #-}

        {-# SPECIALISE instance
                       CanReadFieldArray "blendConstants" 1
                         VkPipelineColorBlendStateCreateInfo
                       #-}

        {-# SPECIALISE instance
                       CanReadFieldArray "blendConstants" 2
                         VkPipelineColorBlendStateCreateInfo
                       #-}

        {-# SPECIALISE instance
                       CanReadFieldArray "blendConstants" 3
                         VkPipelineColorBlendStateCreateInfo
                       #-}
        type FieldArrayLength "blendConstants"
               VkPipelineColorBlendStateCreateInfo
             = 4

        {-# INLINE fieldArrayLength #-}
        fieldArrayLength :: Int
fieldArrayLength = Int
4

        {-# INLINE getFieldArray #-}
        getFieldArray :: VkPipelineColorBlendStateCreateInfo
-> FieldType "blendConstants" VkPipelineColorBlendStateCreateInfo
getFieldArray = VkPipelineColorBlendStateCreateInfo -> Float
VkPipelineColorBlendStateCreateInfo
-> FieldType "blendConstants" VkPipelineColorBlendStateCreateInfo
f
          where {-# NOINLINE f #-}
                f :: VkPipelineColorBlendStateCreateInfo -> Float
f VkPipelineColorBlendStateCreateInfo
x = IO Float -> Float
forall a. IO a -> a
unsafeDupablePerformIO (Ptr VkPipelineColorBlendStateCreateInfo -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineColorBlendStateCreateInfo
-> Ptr VkPipelineColorBlendStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineColorBlendStateCreateInfo
x) Int
off)
                off :: Int
off
                  = (Int
40)
{-# LINE 2396 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                      Int -> Int -> Int
forall a. Num a => a -> a -> a
+
                      Float -> Int
forall a. Storable a => a -> Int
sizeOf (Float
forall a. HasCallStack => a
undefined :: Float) Int -> Int -> Int
forall a. Num a => a -> a -> a
*
{-# LINE 2398 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                        Integer -> Int
forall a. Num a => Integer -> a
fromInteger (Proxy# idx -> Integer
forall (n :: Nat). KnownNat n => Proxy# n -> Integer
natVal' (Proxy# idx
forall k (a :: k). Proxy# a
proxy# :: Proxy# idx)) -- ' closing tick for hsc2hs

        {-# INLINE readFieldArray #-}
        readFieldArray :: Ptr VkPipelineColorBlendStateCreateInfo
-> IO
     (FieldType "blendConstants" VkPipelineColorBlendStateCreateInfo)
readFieldArray Ptr VkPipelineColorBlendStateCreateInfo
p
          = Ptr VkPipelineColorBlendStateCreateInfo -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineColorBlendStateCreateInfo
p
              ((Int
40)
{-# LINE 2404 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                 Int -> Int -> Int
forall a. Num a => a -> a -> a
+
                 Float -> Int
forall a. Storable a => a -> Int
sizeOf (Float
forall a. HasCallStack => a
undefined :: Float) Int -> Int -> Int
forall a. Num a => a -> a -> a
*
{-# LINE 2406 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                   Integer -> Int
forall a. Num a => Integer -> a
fromInteger (Proxy# idx -> Integer
forall (n :: Nat). KnownNat n => Proxy# n -> Integer
natVal' (Proxy# idx
forall k (a :: k). Proxy# a
proxy# :: Proxy# idx))) -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         (KnownNat idx,
          IndexInBounds "blendConstants" idx
            VkPipelineColorBlendStateCreateInfo) =>
         CanWriteFieldArray "blendConstants" idx
           VkPipelineColorBlendStateCreateInfo
         where
        {-# SPECIALISE instance
                       CanWriteFieldArray "blendConstants" 0
                         VkPipelineColorBlendStateCreateInfo
                       #-}

        {-# SPECIALISE instance
                       CanWriteFieldArray "blendConstants" 1
                         VkPipelineColorBlendStateCreateInfo
                       #-}

        {-# SPECIALISE instance
                       CanWriteFieldArray "blendConstants" 2
                         VkPipelineColorBlendStateCreateInfo
                       #-}

        {-# SPECIALISE instance
                       CanWriteFieldArray "blendConstants" 3
                         VkPipelineColorBlendStateCreateInfo
                       #-}

        {-# INLINE writeFieldArray #-}
        writeFieldArray :: Ptr VkPipelineColorBlendStateCreateInfo
-> FieldType "blendConstants" VkPipelineColorBlendStateCreateInfo
-> IO ()
writeFieldArray Ptr VkPipelineColorBlendStateCreateInfo
p
          = Ptr VkPipelineColorBlendStateCreateInfo -> Int -> Float -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineColorBlendStateCreateInfo
p
              ((Int
40)
{-# LINE 2439 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                 Int -> Int -> Int
forall a. Num a => a -> a -> a
+
                 Float -> Int
forall a. Storable a => a -> Int
sizeOf (Float
forall a. HasCallStack => a
undefined :: Float) Int -> Int -> Int
forall a. Num a => a -> a -> a
*
{-# LINE 2441 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                   Integer -> Int
forall a. Num a => Integer -> a
fromInteger (Proxy# idx -> Integer
forall (n :: Nat). KnownNat n => Proxy# n -> Integer
natVal' (Proxy# idx
forall k (a :: k). Proxy# a
proxy# :: Proxy# idx))) -- ' closing tick for hsc2hs

instance Show VkPipelineColorBlendStateCreateInfo where
        showsPrec :: Int -> VkPipelineColorBlendStateCreateInfo -> ShowS
showsPrec Int
d VkPipelineColorBlendStateCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineColorBlendStateCreateInfo {" 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 (VkPipelineColorBlendStateCreateInfo
-> FieldType "sType" VkPipelineColorBlendStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineColorBlendStateCreateInfo
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 (VkPipelineColorBlendStateCreateInfo
-> FieldType "pNext" VkPipelineColorBlendStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineColorBlendStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineColorBlendStateCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendStateCreateInfo
-> FieldType "flags" VkPipelineColorBlendStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineColorBlendStateCreateInfo
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
"logicOpEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendStateCreateInfo
-> FieldType "logicOpEnable" VkPipelineColorBlendStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"logicOpEnable" VkPipelineColorBlendStateCreateInfo
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
"logicOp = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> VkLogicOp -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendStateCreateInfo
-> FieldType "logicOp" VkPipelineColorBlendStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"logicOp" VkPipelineColorBlendStateCreateInfo
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
"attachmentCount = " 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 (VkPipelineColorBlendStateCreateInfo
-> FieldType "attachmentCount" VkPipelineColorBlendStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"attachmentCount" VkPipelineColorBlendStateCreateInfo
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
"pAttachments = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> Ptr VkPipelineColorBlendAttachmentState -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineColorBlendStateCreateInfo
-> FieldType "pAttachments" VkPipelineColorBlendStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pAttachments" VkPipelineColorBlendStateCreateInfo
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
"blendConstants = [" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                           Int -> [Float] -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                             (let s :: Int
s = Float -> Int
forall a. Storable a => a -> Int
sizeOf
                                                                        (FieldType "blendConstants" VkPipelineColorBlendStateCreateInfo
forall a. HasCallStack => a
undefined ::
                                                                           FieldType
                                                                             "blendConstants"
                                                                             VkPipelineColorBlendStateCreateInfo)
                                                                  o :: Int
o = HasField "blendConstants" VkPipelineColorBlendStateCreateInfo =>
Int
forall (fname :: Symbol) a. HasField fname a => Int
fieldOffset @"blendConstants"
                                                                        @VkPipelineColorBlendStateCreateInfo
                                                                  f :: Int
-> IO
     (FieldType "blendConstants" VkPipelineColorBlendStateCreateInfo)
f Int
i
                                                                    = Ptr VkPipelineColorBlendStateCreateInfo -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineColorBlendStateCreateInfo
-> Ptr VkPipelineColorBlendStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineColorBlendStateCreateInfo
x) Int
i ::
                                                                        IO
                                                                          (FieldType
                                                                             "blendConstants"
                                                                             VkPipelineColorBlendStateCreateInfo)
                                                                in
                                                                IO [Float] -> [Float]
forall a. IO a -> a
unsafeDupablePerformIO (IO [Float] -> [Float])
-> ([Int] -> IO [Float]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> IO Float) -> [Int] -> IO [Float]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM Int -> IO Float
Int
-> IO
     (FieldType "blendConstants" VkPipelineColorBlendStateCreateInfo)
f ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$
                                                                  (Int -> Int) -> [Int] -> [Int]
forall a b. (a -> b) -> [a] -> [b]
map (\ Int
i -> Int
o Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
s)
                                                                    [Int
0 .. Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1])
                                                             ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
']')
                                                          ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineCoverageModulationStateCreateInfoNV {
--   >     VkStructureType sType;
--   >     const void*                                                                      pNext;
--   >     VkPipelineCoverageModulationStateCreateFlagsNV                   flags;
--   >     VkCoverageModulationModeNV                                                       coverageModulationMode;
--   >     VkBool32                                                                         coverageModulationTableEnable;
--   >     uint32_t                                                                         coverageModulationTableCount;
--   >     const float* pCoverageModulationTable;
--   > } VkPipelineCoverageModulationStateCreateInfoNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV registry at www.khronos.org>
data VkPipelineCoverageModulationStateCreateInfoNV = VkPipelineCoverageModulationStateCreateInfoNV# Addr#
                                                                                                    ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal
           VkPipelineCoverageModulationStateCreateInfoNV
         where
        type StructFields VkPipelineCoverageModulationStateCreateInfoNV =
             '["sType", "pNext", "flags", "coverageModulationMode", -- ' closing tick for hsc2hs
               "coverageModulationTableEnable", "coverageModulationTableCount",
               "pCoverageModulationTable"]
        type CUnionType VkPipelineCoverageModulationStateCreateInfoNV =
             'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineCoverageModulationStateCreateInfoNV =
             'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineCoverageModulationStateCreateInfoNV =
             '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "coverageModulationMode"
           VkPipelineCoverageModulationStateCreateInfoNV
         where
        type FieldType "coverageModulationMode"
               VkPipelineCoverageModulationStateCreateInfoNV
             = VkCoverageModulationModeNV
        type FieldOptional "coverageModulationMode"
               VkPipelineCoverageModulationStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "coverageModulationMode"
               VkPipelineCoverageModulationStateCreateInfoNV
             =
             (20)
{-# LINE 2708 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "coverageModulationMode"
               VkPipelineCoverageModulationStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> IO
     (FieldType
        "coverageModulationMode"
        VkPipelineCoverageModulationStateCreateInfoNV)
readField Ptr VkPipelineCoverageModulationStateCreateInfoNV
p
          = Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> Int -> IO VkCoverageModulationModeNV
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineCoverageModulationStateCreateInfoNV
p (Int
20)
{-# LINE 2731 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "coverageModulationMode"
           VkPipelineCoverageModulationStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType
     "coverageModulationMode"
     VkPipelineCoverageModulationStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineCoverageModulationStateCreateInfoNV
p
          = Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> Int -> VkCoverageModulationModeNV -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineCoverageModulationStateCreateInfoNV
p (Int
20)
{-# LINE 2739 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "coverageModulationTableEnable"
           VkPipelineCoverageModulationStateCreateInfoNV
         where
        type FieldType "coverageModulationTableEnable"
               VkPipelineCoverageModulationStateCreateInfoNV
             = VkBool32
        type FieldOptional "coverageModulationTableEnable"
               VkPipelineCoverageModulationStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "coverageModulationTableEnable"
               VkPipelineCoverageModulationStateCreateInfoNV
             =
             (24)
{-# LINE 2754 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "coverageModulationTableEnable"
               VkPipelineCoverageModulationStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> IO
     (FieldType
        "coverageModulationTableEnable"
        VkPipelineCoverageModulationStateCreateInfoNV)
readField Ptr VkPipelineCoverageModulationStateCreateInfoNV
p
          = Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineCoverageModulationStateCreateInfoNV
p (Int
24)
{-# LINE 2777 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "coverageModulationTableEnable"
           VkPipelineCoverageModulationStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType
     "coverageModulationTableEnable"
     VkPipelineCoverageModulationStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineCoverageModulationStateCreateInfoNV
p
          = Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineCoverageModulationStateCreateInfoNV
p (Int
24)
{-# LINE 2785 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "coverageModulationTableCount"
           VkPipelineCoverageModulationStateCreateInfoNV
         where
        type FieldType "coverageModulationTableCount"
               VkPipelineCoverageModulationStateCreateInfoNV
             = Word32
        type FieldOptional "coverageModulationTableCount"
               VkPipelineCoverageModulationStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "coverageModulationTableCount"
               VkPipelineCoverageModulationStateCreateInfoNV
             =
             (28)
{-# LINE 2800 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "coverageModulationTableCount"
               VkPipelineCoverageModulationStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> IO
     (FieldType
        "coverageModulationTableCount"
        VkPipelineCoverageModulationStateCreateInfoNV)
readField Ptr VkPipelineCoverageModulationStateCreateInfoNV
p
          = Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineCoverageModulationStateCreateInfoNV
p (Int
28)
{-# LINE 2823 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "coverageModulationTableCount"
           VkPipelineCoverageModulationStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType
     "coverageModulationTableCount"
     VkPipelineCoverageModulationStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineCoverageModulationStateCreateInfoNV
p
          = Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineCoverageModulationStateCreateInfoNV
p (Int
28)
{-# LINE 2831 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pCoverageModulationTable"
           VkPipelineCoverageModulationStateCreateInfoNV
         where
        type FieldType "pCoverageModulationTable"
               VkPipelineCoverageModulationStateCreateInfoNV
             = Ptr Float
{-# LINE 2839 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldOptional "pCoverageModulationTable"
               VkPipelineCoverageModulationStateCreateInfoNV
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pCoverageModulationTable"
               VkPipelineCoverageModulationStateCreateInfoNV
             =
             (32)
{-# LINE 2846 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pCoverageModulationTable"
               VkPipelineCoverageModulationStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> IO
     (FieldType
        "pCoverageModulationTable"
        VkPipelineCoverageModulationStateCreateInfoNV)
readField Ptr VkPipelineCoverageModulationStateCreateInfoNV
p
          = Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> Int -> IO (Ptr Float)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineCoverageModulationStateCreateInfoNV
p (Int
32)
{-# LINE 2869 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pCoverageModulationTable"
           VkPipelineCoverageModulationStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType
     "pCoverageModulationTable"
     VkPipelineCoverageModulationStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineCoverageModulationStateCreateInfoNV
p
          = Ptr VkPipelineCoverageModulationStateCreateInfoNV
-> Int -> Ptr Float -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineCoverageModulationStateCreateInfoNV
p (Int
32)
{-# LINE 2877 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineCoverageModulationStateCreateInfoNV where
        showsPrec :: Int -> VkPipelineCoverageModulationStateCreateInfoNV -> ShowS
showsPrec Int
d VkPipelineCoverageModulationStateCreateInfoNV
x
          = String -> ShowS
showString String
"VkPipelineCoverageModulationStateCreateInfoNV {" 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 (VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType "sType" VkPipelineCoverageModulationStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineCoverageModulationStateCreateInfoNV
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 (VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType "pNext" VkPipelineCoverageModulationStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineCoverageModulationStateCreateInfoNV
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineCoverageModulationStateCreateFlagsNV -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType "flags" VkPipelineCoverageModulationStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineCoverageModulationStateCreateInfoNV
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
"coverageModulationMode = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkCoverageModulationModeNV -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType
     "coverageModulationMode"
     VkPipelineCoverageModulationStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"coverageModulationMode" VkPipelineCoverageModulationStateCreateInfoNV
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
"coverageModulationTableEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType
     "coverageModulationTableEnable"
     VkPipelineCoverageModulationStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"coverageModulationTableEnable" VkPipelineCoverageModulationStateCreateInfoNV
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
"coverageModulationTableCount = " 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
                                                (VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType
     "coverageModulationTableCount"
     VkPipelineCoverageModulationStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"coverageModulationTableCount" VkPipelineCoverageModulationStateCreateInfoNV
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
"pCoverageModulationTable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> Ptr Float -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                      (VkPipelineCoverageModulationStateCreateInfoNV
-> FieldType
     "pCoverageModulationTable"
     VkPipelineCoverageModulationStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pCoverageModulationTable" VkPipelineCoverageModulationStateCreateInfoNV
x)
                                                      ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineCoverageToColorStateCreateInfoNV
         where
        type StructFields VkPipelineCoverageToColorStateCreateInfoNV =
             '["sType", "pNext", "flags", "coverageToColorEnable", -- ' closing tick for hsc2hs
               "coverageToColorLocation"]
        type CUnionType VkPipelineCoverageToColorStateCreateInfoNV = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineCoverageToColorStateCreateInfoNV =
             'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineCoverageToColorStateCreateInfoNV =
             '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "coverageToColorEnable"
           VkPipelineCoverageToColorStateCreateInfoNV
         where
        type FieldType "coverageToColorEnable"
               VkPipelineCoverageToColorStateCreateInfoNV
             = VkBool32
        type FieldOptional "coverageToColorEnable"
               VkPipelineCoverageToColorStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "coverageToColorEnable"
               VkPipelineCoverageToColorStateCreateInfoNV
             =
             (20)
{-# LINE 3110 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "coverageToColorEnable"
               VkPipelineCoverageToColorStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineCoverageToColorStateCreateInfoNV
-> IO
     (FieldType
        "coverageToColorEnable" VkPipelineCoverageToColorStateCreateInfoNV)
readField Ptr VkPipelineCoverageToColorStateCreateInfoNV
p
          = Ptr VkPipelineCoverageToColorStateCreateInfoNV
-> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineCoverageToColorStateCreateInfoNV
p (Int
20)
{-# LINE 3133 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "coverageToColorEnable"
           VkPipelineCoverageToColorStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineCoverageToColorStateCreateInfoNV
-> FieldType
     "coverageToColorEnable" VkPipelineCoverageToColorStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineCoverageToColorStateCreateInfoNV
p
          = Ptr VkPipelineCoverageToColorStateCreateInfoNV
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineCoverageToColorStateCreateInfoNV
p (Int
20)
{-# LINE 3141 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "coverageToColorLocation"
           VkPipelineCoverageToColorStateCreateInfoNV
         where
        type FieldType "coverageToColorLocation"
               VkPipelineCoverageToColorStateCreateInfoNV
             = Word32
        type FieldOptional "coverageToColorLocation"
               VkPipelineCoverageToColorStateCreateInfoNV
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "coverageToColorLocation"
               VkPipelineCoverageToColorStateCreateInfoNV
             =
             (24)
{-# LINE 3156 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "coverageToColorLocation"
               VkPipelineCoverageToColorStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

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

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

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

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

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

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

-- | > typedef struct VkPipelineDepthStencilStateCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkPipelineDepthStencilStateCreateFlags    flags;
--   >     VkBool32               depthTestEnable;
--   >     VkBool32               depthWriteEnable;
--   >     VkCompareOp            depthCompareOp;
--   >     VkBool32               depthBoundsTestEnable;
--   >     VkBool32               stencilTestEnable;
--   >     VkStencilOpState       front;
--   >     VkStencilOpState       back;
--   >     float                  minDepthBounds;
--   >     float                  maxDepthBounds;
--   > } VkPipelineDepthStencilStateCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo registry at www.khronos.org>
data VkPipelineDepthStencilStateCreateInfo = VkPipelineDepthStencilStateCreateInfo# Addr#
                                                                                    ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkPipelineDepthStencilStateCreateInfo where
        sizeOf :: VkPipelineDepthStencilStateCreateInfo -> Int
sizeOf ~VkPipelineDepthStencilStateCreateInfo
_
          = (Int
104)
{-# LINE 3243 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineDepthStencilStateCreateInfo where
        type StructFields VkPipelineDepthStencilStateCreateInfo =
             '["sType", "pNext", "flags", "depthTestEnable", "depthWriteEnable", -- ' closing tick for hsc2hs
               "depthCompareOp", "depthBoundsTestEnable", "stencilTestEnable",
               "front", "back", "minDepthBounds", "maxDepthBounds"]
        type CUnionType VkPipelineDepthStencilStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineDepthStencilStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineDepthStencilStateCreateInfo = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "depthTestEnable" VkPipelineDepthStencilStateCreateInfo
         where
        type FieldType "depthTestEnable"
               VkPipelineDepthStencilStateCreateInfo
             = VkBool32
        type FieldOptional "depthTestEnable"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "depthTestEnable"
               VkPipelineDepthStencilStateCreateInfo
             =
             (20)
{-# LINE 3398 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "depthTestEnable"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> IO
     (FieldType "depthTestEnable" VkPipelineDepthStencilStateCreateInfo)
readField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
20)
{-# LINE 3421 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "depthTestEnable"
           VkPipelineDepthStencilStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> FieldType
     "depthTestEnable" VkPipelineDepthStencilStateCreateInfo
-> IO ()
writeField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
20)
{-# LINE 3429 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "depthWriteEnable" VkPipelineDepthStencilStateCreateInfo
         where
        type FieldType "depthWriteEnable"
               VkPipelineDepthStencilStateCreateInfo
             = VkBool32
        type FieldOptional "depthWriteEnable"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "depthWriteEnable"
               VkPipelineDepthStencilStateCreateInfo
             =
             (24)
{-# LINE 3443 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "depthWriteEnable"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> IO
     (FieldType
        "depthWriteEnable" VkPipelineDepthStencilStateCreateInfo)
readField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
24)
{-# LINE 3466 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "depthWriteEnable"
           VkPipelineDepthStencilStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> FieldType
     "depthWriteEnable" VkPipelineDepthStencilStateCreateInfo
-> IO ()
writeField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
24)
{-# LINE 3474 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "depthCompareOp" VkPipelineDepthStencilStateCreateInfo
         where
        type FieldType "depthCompareOp"
               VkPipelineDepthStencilStateCreateInfo
             = VkCompareOp
        type FieldOptional "depthCompareOp"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "depthCompareOp"
               VkPipelineDepthStencilStateCreateInfo
             =
             (28)
{-# LINE 3488 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "depthCompareOp"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> IO
     (FieldType "depthCompareOp" VkPipelineDepthStencilStateCreateInfo)
readField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo -> Int -> IO VkCompareOp
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
28)
{-# LINE 3510 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "depthCompareOp"
           VkPipelineDepthStencilStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> FieldType "depthCompareOp" VkPipelineDepthStencilStateCreateInfo
-> IO ()
writeField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo
-> Int -> VkCompareOp -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
28)
{-# LINE 3518 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "depthBoundsTestEnable"
           VkPipelineDepthStencilStateCreateInfo
         where
        type FieldType "depthBoundsTestEnable"
               VkPipelineDepthStencilStateCreateInfo
             = VkBool32
        type FieldOptional "depthBoundsTestEnable"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "depthBoundsTestEnable"
               VkPipelineDepthStencilStateCreateInfo
             =
             (32)
{-# LINE 3533 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "depthBoundsTestEnable"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> IO
     (FieldType
        "depthBoundsTestEnable" VkPipelineDepthStencilStateCreateInfo)
readField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
32)
{-# LINE 3556 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "depthBoundsTestEnable"
           VkPipelineDepthStencilStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> FieldType
     "depthBoundsTestEnable" VkPipelineDepthStencilStateCreateInfo
-> IO ()
writeField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
32)
{-# LINE 3564 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "front" VkPipelineDepthStencilStateCreateInfo where
        type FieldType "front" VkPipelineDepthStencilStateCreateInfo =
             VkStencilOpState
        type FieldOptional "front" VkPipelineDepthStencilStateCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "front" VkPipelineDepthStencilStateCreateInfo =
             (40)
{-# LINE 3618 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "front" VkPipelineDepthStencilStateCreateInfo =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> IO (FieldType "front" VkPipelineDepthStencilStateCreateInfo)
readField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo
-> Int -> IO VkStencilOpState
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
40)
{-# LINE 3638 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "front" VkPipelineDepthStencilStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> FieldType "front" VkPipelineDepthStencilStateCreateInfo -> IO ()
writeField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo
-> Int -> VkStencilOpState -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
40)
{-# LINE 3644 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "back" VkPipelineDepthStencilStateCreateInfo where
        type FieldType "back" VkPipelineDepthStencilStateCreateInfo =
             VkStencilOpState
        type FieldOptional "back" VkPipelineDepthStencilStateCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "back" VkPipelineDepthStencilStateCreateInfo =
             (68)
{-# LINE 3653 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "back" VkPipelineDepthStencilStateCreateInfo =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> IO (FieldType "back" VkPipelineDepthStencilStateCreateInfo)
readField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo
-> Int -> IO VkStencilOpState
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
68)
{-# LINE 3673 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "back" VkPipelineDepthStencilStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> FieldType "back" VkPipelineDepthStencilStateCreateInfo -> IO ()
writeField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo
-> Int -> VkStencilOpState -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
68)
{-# LINE 3679 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "minDepthBounds" VkPipelineDepthStencilStateCreateInfo
         where
        type FieldType "minDepthBounds"
               VkPipelineDepthStencilStateCreateInfo
             = Float
{-# LINE 3686 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldOptional "minDepthBounds"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "minDepthBounds"
               VkPipelineDepthStencilStateCreateInfo
             =
             (96)
{-# LINE 3693 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "minDepthBounds"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
96)
{-# LINE 3703 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> IO
     (FieldType "minDepthBounds" VkPipelineDepthStencilStateCreateInfo)
readField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
96)
{-# LINE 3715 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "minDepthBounds"
           VkPipelineDepthStencilStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> FieldType "minDepthBounds" VkPipelineDepthStencilStateCreateInfo
-> IO ()
writeField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo -> Int -> Float -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
96)
{-# LINE 3723 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxDepthBounds" VkPipelineDepthStencilStateCreateInfo
         where
        type FieldType "maxDepthBounds"
               VkPipelineDepthStencilStateCreateInfo
             = Float
{-# LINE 3730 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldOptional "maxDepthBounds"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "maxDepthBounds"
               VkPipelineDepthStencilStateCreateInfo
             =
             (100)
{-# LINE 3737 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "maxDepthBounds"
               VkPipelineDepthStencilStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
100)
{-# LINE 3747 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> IO
     (FieldType "maxDepthBounds" VkPipelineDepthStencilStateCreateInfo)
readField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
100)
{-# LINE 3759 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxDepthBounds"
           VkPipelineDepthStencilStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineDepthStencilStateCreateInfo
-> FieldType "maxDepthBounds" VkPipelineDepthStencilStateCreateInfo
-> IO ()
writeField Ptr VkPipelineDepthStencilStateCreateInfo
p
          = Ptr VkPipelineDepthStencilStateCreateInfo -> Int -> Float -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineDepthStencilStateCreateInfo
p (Int
100)
{-# LINE 3767 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineDepthStencilStateCreateInfo where
        showsPrec :: Int -> VkPipelineDepthStencilStateCreateInfo -> ShowS
showsPrec Int
d VkPipelineDepthStencilStateCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineDepthStencilStateCreateInfo {" 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 (VkPipelineDepthStencilStateCreateInfo
-> FieldType "sType" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineDepthStencilStateCreateInfo
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 (VkPipelineDepthStencilStateCreateInfo
-> FieldType "pNext" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineDepthStencilStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineDepthStencilStateCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineDepthStencilStateCreateInfo
-> FieldType "flags" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineDepthStencilStateCreateInfo
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
"depthTestEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineDepthStencilStateCreateInfo
-> FieldType
     "depthTestEnable" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"depthTestEnable" VkPipelineDepthStencilStateCreateInfo
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
"depthWriteEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineDepthStencilStateCreateInfo
-> FieldType
     "depthWriteEnable" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"depthWriteEnable" VkPipelineDepthStencilStateCreateInfo
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
"depthCompareOp = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> VkCompareOp -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineDepthStencilStateCreateInfo
-> FieldType "depthCompareOp" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"depthCompareOp" VkPipelineDepthStencilStateCreateInfo
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
"depthBoundsTestEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                      (VkPipelineDepthStencilStateCreateInfo
-> FieldType
     "depthBoundsTestEnable" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"depthBoundsTestEnable" VkPipelineDepthStencilStateCreateInfo
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
"stencilTestEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                          Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                            (VkPipelineDepthStencilStateCreateInfo
-> FieldType
     "stencilTestEnable" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"stencilTestEnable" VkPipelineDepthStencilStateCreateInfo
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
"front = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                Int -> VkStencilOpState -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineDepthStencilStateCreateInfo
-> FieldType "front" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"front" VkPipelineDepthStencilStateCreateInfo
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
"back = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                      Int -> VkStencilOpState -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                        (VkPipelineDepthStencilStateCreateInfo
-> FieldType "back" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"back" VkPipelineDepthStencilStateCreateInfo
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
"minDepthBounds = "
                                                                            ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                            Int -> Float -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                              (VkPipelineDepthStencilStateCreateInfo
-> FieldType "minDepthBounds" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                 @"minDepthBounds"
                                                                                 VkPipelineDepthStencilStateCreateInfo
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
"maxDepthBounds = "
                                                                                  ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                  Int -> Float -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                                    (VkPipelineDepthStencilStateCreateInfo
-> FieldType "maxDepthBounds" VkPipelineDepthStencilStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                       @"maxDepthBounds"
                                                                                       VkPipelineDepthStencilStateCreateInfo
x)
                                                                                    ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                                                                      pNext;
--   >     VkPipelineDiscardRectangleStateCreateFlagsEXT                    flags;
--   >     VkDiscardRectangleModeEXT                                                        discardRectangleMode;
--   >     uint32_t                                                         discardRectangleCount;
--   >     const VkRect2D* pDiscardRectangles;
--   > } VkPipelineDiscardRectangleStateCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT registry at www.khronos.org>
data VkPipelineDiscardRectangleStateCreateInfoEXT = VkPipelineDiscardRectangleStateCreateInfoEXT# Addr#
                                                                                                  ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineDiscardRectangleStateCreateInfoEXT
         where
        type StructFields VkPipelineDiscardRectangleStateCreateInfoEXT =
             '["sType", "pNext", "flags", "discardRectangleMode", -- ' closing tick for hsc2hs
               "discardRectangleCount", "pDiscardRectangles"]
        type CUnionType VkPipelineDiscardRectangleStateCreateInfoEXT =
             'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineDiscardRectangleStateCreateInfoEXT =
             'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineDiscardRectangleStateCreateInfoEXT =
             '[VkGraphicsPipelineCreateInfo] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "discardRectangleMode"
           VkPipelineDiscardRectangleStateCreateInfoEXT
         where
        type FieldType "discardRectangleMode"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             = VkDiscardRectangleModeEXT
        type FieldOptional "discardRectangleMode"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "discardRectangleMode"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             =
             (20)
{-# LINE 4035 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "discardRectangleMode"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineDiscardRectangleStateCreateInfoEXT
-> IO
     (FieldType
        "discardRectangleMode"
        VkPipelineDiscardRectangleStateCreateInfoEXT)
readField Ptr VkPipelineDiscardRectangleStateCreateInfoEXT
p
          = Ptr VkPipelineDiscardRectangleStateCreateInfoEXT
-> Int -> IO VkDiscardRectangleModeEXT
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineDiscardRectangleStateCreateInfoEXT
p (Int
20)
{-# LINE 4058 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "discardRectangleMode"
           VkPipelineDiscardRectangleStateCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineDiscardRectangleStateCreateInfoEXT
-> FieldType
     "discardRectangleMode" VkPipelineDiscardRectangleStateCreateInfoEXT
-> IO ()
writeField Ptr VkPipelineDiscardRectangleStateCreateInfoEXT
p
          = Ptr VkPipelineDiscardRectangleStateCreateInfoEXT
-> Int -> VkDiscardRectangleModeEXT -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineDiscardRectangleStateCreateInfoEXT
p (Int
20)
{-# LINE 4066 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "discardRectangleCount"
           VkPipelineDiscardRectangleStateCreateInfoEXT
         where
        type FieldType "discardRectangleCount"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             = Word32
        type FieldOptional "discardRectangleCount"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "discardRectangleCount"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             =
             (24)
{-# LINE 4081 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "discardRectangleCount"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pDiscardRectangles"
           VkPipelineDiscardRectangleStateCreateInfoEXT
         where
        type FieldType "pDiscardRectangles"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             = Ptr VkRect2D
        type FieldOptional "pDiscardRectangles"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pDiscardRectangles"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             =
             (32)
{-# LINE 4127 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pDiscardRectangles"
               VkPipelineDiscardRectangleStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

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

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

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

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

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

instance Show VkPipelineDiscardRectangleStateCreateInfoEXT where
        showsPrec :: Int -> VkPipelineDiscardRectangleStateCreateInfoEXT -> ShowS
showsPrec Int
d VkPipelineDiscardRectangleStateCreateInfoEXT
x
          = String -> ShowS
showString String
"VkPipelineDiscardRectangleStateCreateInfoEXT {" 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 (VkPipelineDiscardRectangleStateCreateInfoEXT
-> FieldType "sType" VkPipelineDiscardRectangleStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineDiscardRectangleStateCreateInfoEXT
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 (VkPipelineDiscardRectangleStateCreateInfoEXT
-> FieldType "pNext" VkPipelineDiscardRectangleStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineDiscardRectangleStateCreateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineDiscardRectangleStateCreateFlagsEXT -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineDiscardRectangleStateCreateInfoEXT
-> FieldType "flags" VkPipelineDiscardRectangleStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineDiscardRectangleStateCreateInfoEXT
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
"discardRectangleMode = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkDiscardRectangleModeEXT -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineDiscardRectangleStateCreateInfoEXT
-> FieldType
     "discardRectangleMode" VkPipelineDiscardRectangleStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"discardRectangleMode" VkPipelineDiscardRectangleStateCreateInfoEXT
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
"discardRectangleCount = " 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 (VkPipelineDiscardRectangleStateCreateInfoEXT
-> FieldType
     "discardRectangleCount"
     VkPipelineDiscardRectangleStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"discardRectangleCount" VkPipelineDiscardRectangleStateCreateInfoEXT
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
"pDiscardRectangles = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> Ptr VkRect2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineDiscardRectangleStateCreateInfoEXT
-> FieldType
     "pDiscardRectangles" VkPipelineDiscardRectangleStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pDiscardRectangles" VkPipelineDiscardRectangleStateCreateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                Char -> ShowS
showChar Char
'}'

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pDynamicStates" VkPipelineDynamicStateCreateInfo where
        type FieldType "pDynamicStates" VkPipelineDynamicStateCreateInfo =
             Ptr VkDynamicState
        type FieldOptional "pDynamicStates"
               VkPipelineDynamicStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pDynamicStates" VkPipelineDynamicStateCreateInfo
             =
             (24)
{-# LINE 4394 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pDynamicStates" VkPipelineDynamicStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineDynamicStateCreateInfo
-> IO (FieldType "pDynamicStates" VkPipelineDynamicStateCreateInfo)
readField Ptr VkPipelineDynamicStateCreateInfo
p
          = Ptr VkPipelineDynamicStateCreateInfo
-> Int -> IO (Ptr VkDynamicState)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineDynamicStateCreateInfo
p (Int
24)
{-# LINE 4415 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pDynamicStates" VkPipelineDynamicStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineDynamicStateCreateInfo
-> FieldType "pDynamicStates" VkPipelineDynamicStateCreateInfo
-> IO ()
writeField Ptr VkPipelineDynamicStateCreateInfo
p
          = Ptr VkPipelineDynamicStateCreateInfo
-> Int -> Ptr VkDynamicState -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineDynamicStateCreateInfo
p (Int
24)
{-# LINE 4422 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineDynamicStateCreateInfo where
        showsPrec :: Int -> VkPipelineDynamicStateCreateInfo -> ShowS
showsPrec Int
d VkPipelineDynamicStateCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineDynamicStateCreateInfo {" 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 (VkPipelineDynamicStateCreateInfo
-> FieldType "sType" VkPipelineDynamicStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineDynamicStateCreateInfo
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 (VkPipelineDynamicStateCreateInfo
-> FieldType "pNext" VkPipelineDynamicStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineDynamicStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineDynamicStateCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineDynamicStateCreateInfo
-> FieldType "flags" VkPipelineDynamicStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineDynamicStateCreateInfo
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
"dynamicStateCount = " 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 (VkPipelineDynamicStateCreateInfo
-> FieldType "dynamicStateCount" VkPipelineDynamicStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"dynamicStateCount" VkPipelineDynamicStateCreateInfo
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
"pDynamicStates = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkDynamicState -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineDynamicStateCreateInfo
-> FieldType "pDynamicStates" VkPipelineDynamicStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pDynamicStates" VkPipelineDynamicStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineInputAssemblyStateCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkPipelineInputAssemblyStateCreateFlags    flags;
--   >     VkPrimitiveTopology    topology;
--   >     VkBool32               primitiveRestartEnable;
--   > } VkPipelineInputAssemblyStateCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo registry at www.khronos.org>
data VkPipelineInputAssemblyStateCreateInfo = VkPipelineInputAssemblyStateCreateInfo# Addr#
                                                                                      ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "topology" VkPipelineInputAssemblyStateCreateInfo where
        type FieldType "topology" VkPipelineInputAssemblyStateCreateInfo =
             VkPrimitiveTopology
        type FieldOptional "topology"
               VkPipelineInputAssemblyStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "topology" VkPipelineInputAssemblyStateCreateInfo
             =
             (20)
{-# LINE 4620 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "topology" VkPipelineInputAssemblyStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineInputAssemblyStateCreateInfo
-> IO (FieldType "topology" VkPipelineInputAssemblyStateCreateInfo)
readField Ptr VkPipelineInputAssemblyStateCreateInfo
p
          = Ptr VkPipelineInputAssemblyStateCreateInfo
-> Int -> IO VkPrimitiveTopology
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineInputAssemblyStateCreateInfo
p (Int
20)
{-# LINE 4641 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "topology" VkPipelineInputAssemblyStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineInputAssemblyStateCreateInfo
-> FieldType "topology" VkPipelineInputAssemblyStateCreateInfo
-> IO ()
writeField Ptr VkPipelineInputAssemblyStateCreateInfo
p
          = Ptr VkPipelineInputAssemblyStateCreateInfo
-> Int -> VkPrimitiveTopology -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineInputAssemblyStateCreateInfo
p (Int
20)
{-# LINE 4648 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "primitiveRestartEnable"
           VkPipelineInputAssemblyStateCreateInfo
         where
        type FieldType "primitiveRestartEnable"
               VkPipelineInputAssemblyStateCreateInfo
             = VkBool32
        type FieldOptional "primitiveRestartEnable"
               VkPipelineInputAssemblyStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "primitiveRestartEnable"
               VkPipelineInputAssemblyStateCreateInfo
             =
             (24)
{-# LINE 4663 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "primitiveRestartEnable"
               VkPipelineInputAssemblyStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineInputAssemblyStateCreateInfo
-> IO
     (FieldType
        "primitiveRestartEnable" VkPipelineInputAssemblyStateCreateInfo)
readField Ptr VkPipelineInputAssemblyStateCreateInfo
p
          = Ptr VkPipelineInputAssemblyStateCreateInfo -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineInputAssemblyStateCreateInfo
p (Int
24)
{-# LINE 4686 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "primitiveRestartEnable"
           VkPipelineInputAssemblyStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineInputAssemblyStateCreateInfo
-> FieldType
     "primitiveRestartEnable" VkPipelineInputAssemblyStateCreateInfo
-> IO ()
writeField Ptr VkPipelineInputAssemblyStateCreateInfo
p
          = Ptr VkPipelineInputAssemblyStateCreateInfo
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineInputAssemblyStateCreateInfo
p (Int
24)
{-# LINE 4694 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineInputAssemblyStateCreateInfo where
        showsPrec :: Int -> VkPipelineInputAssemblyStateCreateInfo -> ShowS
showsPrec Int
d VkPipelineInputAssemblyStateCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineInputAssemblyStateCreateInfo {" 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 (VkPipelineInputAssemblyStateCreateInfo
-> FieldType "sType" VkPipelineInputAssemblyStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineInputAssemblyStateCreateInfo
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 (VkPipelineInputAssemblyStateCreateInfo
-> FieldType "pNext" VkPipelineInputAssemblyStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineInputAssemblyStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineInputAssemblyStateCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineInputAssemblyStateCreateInfo
-> FieldType "flags" VkPipelineInputAssemblyStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineInputAssemblyStateCreateInfo
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
"topology = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkPrimitiveTopology -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineInputAssemblyStateCreateInfo
-> FieldType "topology" VkPipelineInputAssemblyStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"topology" VkPipelineInputAssemblyStateCreateInfo
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
"primitiveRestartEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineInputAssemblyStateCreateInfo
-> FieldType
     "primitiveRestartEnable" VkPipelineInputAssemblyStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"primitiveRestartEnable" VkPipelineInputAssemblyStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                          Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineLayoutCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkPipelineLayoutCreateFlags    flags;
--   >     uint32_t               setLayoutCount;
--   >     const VkDescriptorSetLayout* pSetLayouts;
--   >     uint32_t               pushConstantRangeCount;
--   >     const VkPushConstantRange* pPushConstantRanges;
--   > } VkPipelineLayoutCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo registry at www.khronos.org>
data VkPipelineLayoutCreateInfo = VkPipelineLayoutCreateInfo# Addr#
                                                              ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineLayoutCreateInfo where
        type StructFields VkPipelineLayoutCreateInfo =
             '["sType", "pNext", "flags", "setLayoutCount", "pSetLayouts", -- ' closing tick for hsc2hs
               "pushConstantRangeCount", "pPushConstantRanges"]
        type CUnionType VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineLayoutCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineLayoutCreateInfo = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pushConstantRangeCount" VkPipelineLayoutCreateInfo where
        type FieldType "pushConstantRangeCount" VkPipelineLayoutCreateInfo
             = Word32
        type FieldOptional "pushConstantRangeCount"
               VkPipelineLayoutCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pushConstantRangeCount"
               VkPipelineLayoutCreateInfo
             =
             (32)
{-# LINE 4953 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pushConstantRangeCount"
               VkPipelineLayoutCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pPushConstantRanges" VkPipelineLayoutCreateInfo where
        type FieldType "pPushConstantRanges" VkPipelineLayoutCreateInfo =
             Ptr VkPushConstantRange
        type FieldOptional "pPushConstantRanges" VkPipelineLayoutCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pPushConstantRanges" VkPipelineLayoutCreateInfo =
             (40)
{-# LINE 4991 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pPushConstantRanges" VkPipelineLayoutCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineLayoutCreateInfo
-> IO (FieldType "pPushConstantRanges" VkPipelineLayoutCreateInfo)
readField Ptr VkPipelineLayoutCreateInfo
p
          = Ptr VkPipelineLayoutCreateInfo
-> Int -> IO (Ptr VkPushConstantRange)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineLayoutCreateInfo
p (Int
40)
{-# LINE 5011 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pPushConstantRanges" VkPipelineLayoutCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineLayoutCreateInfo
-> FieldType "pPushConstantRanges" VkPipelineLayoutCreateInfo
-> IO ()
writeField Ptr VkPipelineLayoutCreateInfo
p
          = Ptr VkPipelineLayoutCreateInfo
-> Int -> Ptr VkPushConstantRange -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineLayoutCreateInfo
p (Int
40)
{-# LINE 5018 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineLayoutCreateInfo where
        showsPrec :: Int -> VkPipelineLayoutCreateInfo -> ShowS
showsPrec Int
d VkPipelineLayoutCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineLayoutCreateInfo {" 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 (VkPipelineLayoutCreateInfo
-> FieldType "sType" VkPipelineLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineLayoutCreateInfo
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 (VkPipelineLayoutCreateInfo
-> FieldType "pNext" VkPipelineLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineLayoutCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineLayoutCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineLayoutCreateInfo
-> FieldType "flags" VkPipelineLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineLayoutCreateInfo
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
"setLayoutCount = " 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 (VkPipelineLayoutCreateInfo
-> FieldType "setLayoutCount" VkPipelineLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"setLayoutCount" VkPipelineLayoutCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                    String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                      String -> ShowS
showString String
"pSetLayouts = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkDescriptorSetLayout -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineLayoutCreateInfo
-> FieldType "pSetLayouts" VkPipelineLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pSetLayouts" VkPipelineLayoutCreateInfo
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
"pushConstantRangeCount = " 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 (VkPipelineLayoutCreateInfo
-> FieldType "pushConstantRangeCount" VkPipelineLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pushConstantRangeCount" VkPipelineLayoutCreateInfo
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
"pPushConstantRanges = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> Ptr VkPushConstantRange -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineLayoutCreateInfo
-> FieldType "pPushConstantRanges" VkPipelineLayoutCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pPushConstantRanges" VkPipelineLayoutCreateInfo
x)
                                                      ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineMultisampleStateCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkPipelineMultisampleStateCreateFlags    flags;
--   >     VkSampleCountFlagBits  rasterizationSamples;
--   >     VkBool32               sampleShadingEnable;
--   >     float                  minSampleShading;
--   >     const VkSampleMask*    pSampleMask;
--   >     VkBool32               alphaToCoverageEnable;
--   >     VkBool32               alphaToOneEnable;
--   > } VkPipelineMultisampleStateCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo registry at www.khronos.org>
data VkPipelineMultisampleStateCreateInfo = VkPipelineMultisampleStateCreateInfo# Addr#
                                                                                  ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineMultisampleStateCreateInfo where
        type StructFields VkPipelineMultisampleStateCreateInfo =
             '["sType", "pNext", "flags", "rasterizationSamples", -- ' closing tick for hsc2hs
               "sampleShadingEnable", "minSampleShading", "pSampleMask",
               "alphaToCoverageEnable", "alphaToOneEnable"]
        type CUnionType VkPipelineMultisampleStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineMultisampleStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineMultisampleStateCreateInfo = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "rasterizationSamples"
           VkPipelineMultisampleStateCreateInfo
         where
        type FieldType "rasterizationSamples"
               VkPipelineMultisampleStateCreateInfo
             = VkSampleCountFlagBits
        type FieldOptional "rasterizationSamples"
               VkPipelineMultisampleStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "rasterizationSamples"
               VkPipelineMultisampleStateCreateInfo
             =
             (20)
{-# LINE 5233 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "rasterizationSamples"
               VkPipelineMultisampleStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineMultisampleStateCreateInfo
-> IO
     (FieldType
        "rasterizationSamples" VkPipelineMultisampleStateCreateInfo)
readField Ptr VkPipelineMultisampleStateCreateInfo
p
          = Ptr VkPipelineMultisampleStateCreateInfo
-> Int -> IO VkSampleCountFlagBits
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineMultisampleStateCreateInfo
p (Int
20)
{-# LINE 5256 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "rasterizationSamples"
           VkPipelineMultisampleStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineMultisampleStateCreateInfo
-> FieldType
     "rasterizationSamples" VkPipelineMultisampleStateCreateInfo
-> IO ()
writeField Ptr VkPipelineMultisampleStateCreateInfo
p
          = Ptr VkPipelineMultisampleStateCreateInfo
-> Int -> VkSampleCountFlagBits -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineMultisampleStateCreateInfo
p (Int
20)
{-# LINE 5264 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "sampleShadingEnable" VkPipelineMultisampleStateCreateInfo
         where
        type FieldType "sampleShadingEnable"
               VkPipelineMultisampleStateCreateInfo
             = VkBool32
        type FieldOptional "sampleShadingEnable"
               VkPipelineMultisampleStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sampleShadingEnable"
               VkPipelineMultisampleStateCreateInfo
             =
             (24)
{-# LINE 5278 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "sampleShadingEnable"
               VkPipelineMultisampleStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineMultisampleStateCreateInfo
-> IO
     (FieldType
        "sampleShadingEnable" VkPipelineMultisampleStateCreateInfo)
readField Ptr VkPipelineMultisampleStateCreateInfo
p
          = Ptr VkPipelineMultisampleStateCreateInfo -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineMultisampleStateCreateInfo
p (Int
24)
{-# LINE 5301 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sampleShadingEnable"
           VkPipelineMultisampleStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineMultisampleStateCreateInfo
-> FieldType
     "sampleShadingEnable" VkPipelineMultisampleStateCreateInfo
-> IO ()
writeField Ptr VkPipelineMultisampleStateCreateInfo
p
          = Ptr VkPipelineMultisampleStateCreateInfo
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineMultisampleStateCreateInfo
p (Int
24)
{-# LINE 5309 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "minSampleShading" VkPipelineMultisampleStateCreateInfo
         where
        type FieldType "minSampleShading"
               VkPipelineMultisampleStateCreateInfo
             = Float
{-# LINE 5316 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldOptional "minSampleShading"
               VkPipelineMultisampleStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "minSampleShading"
               VkPipelineMultisampleStateCreateInfo
             =
             (28)
{-# LINE 5323 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "minSampleShading"
               VkPipelineMultisampleStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineMultisampleStateCreateInfo
-> IO
     (FieldType "minSampleShading" VkPipelineMultisampleStateCreateInfo)
readField Ptr VkPipelineMultisampleStateCreateInfo
p
          = Ptr VkPipelineMultisampleStateCreateInfo -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineMultisampleStateCreateInfo
p (Int
28)
{-# LINE 5346 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "minSampleShading"
           VkPipelineMultisampleStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineMultisampleStateCreateInfo
-> FieldType
     "minSampleShading" VkPipelineMultisampleStateCreateInfo
-> IO ()
writeField Ptr VkPipelineMultisampleStateCreateInfo
p
          = Ptr VkPipelineMultisampleStateCreateInfo -> Int -> Float -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineMultisampleStateCreateInfo
p (Int
28)
{-# LINE 5354 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pSampleMask" VkPipelineMultisampleStateCreateInfo where
        type FieldType "pSampleMask" VkPipelineMultisampleStateCreateInfo =
             Ptr VkSampleMask
        type FieldOptional "pSampleMask"
               VkPipelineMultisampleStateCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pSampleMask" VkPipelineMultisampleStateCreateInfo
             =
             (32)
{-# LINE 5365 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pSampleMask"
               VkPipelineMultisampleStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineMultisampleStateCreateInfo
-> IO
     (FieldType "pSampleMask" VkPipelineMultisampleStateCreateInfo)
readField Ptr VkPipelineMultisampleStateCreateInfo
p
          = Ptr VkPipelineMultisampleStateCreateInfo
-> Int -> IO (Ptr VkSampleMask)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineMultisampleStateCreateInfo
p (Int
32)
{-# LINE 5387 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pSampleMask" VkPipelineMultisampleStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineMultisampleStateCreateInfo
-> FieldType "pSampleMask" VkPipelineMultisampleStateCreateInfo
-> IO ()
writeField Ptr VkPipelineMultisampleStateCreateInfo
p
          = Ptr VkPipelineMultisampleStateCreateInfo
-> Int -> Ptr VkSampleMask -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineMultisampleStateCreateInfo
p (Int
32)
{-# LINE 5394 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "alphaToOneEnable" VkPipelineMultisampleStateCreateInfo
         where
        type FieldType "alphaToOneEnable"
               VkPipelineMultisampleStateCreateInfo
             = VkBool32
        type FieldOptional "alphaToOneEnable"
               VkPipelineMultisampleStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "alphaToOneEnable"
               VkPipelineMultisampleStateCreateInfo
             =
             (44)
{-# LINE 5454 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "alphaToOneEnable"
               VkPipelineMultisampleStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineMultisampleStateCreateInfo
-> IO
     (FieldType "alphaToOneEnable" VkPipelineMultisampleStateCreateInfo)
readField Ptr VkPipelineMultisampleStateCreateInfo
p
          = Ptr VkPipelineMultisampleStateCreateInfo -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineMultisampleStateCreateInfo
p (Int
44)
{-# LINE 5477 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "alphaToOneEnable"
           VkPipelineMultisampleStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineMultisampleStateCreateInfo
-> FieldType
     "alphaToOneEnable" VkPipelineMultisampleStateCreateInfo
-> IO ()
writeField Ptr VkPipelineMultisampleStateCreateInfo
p
          = Ptr VkPipelineMultisampleStateCreateInfo
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineMultisampleStateCreateInfo
p (Int
44)
{-# LINE 5485 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineMultisampleStateCreateInfo where
        showsPrec :: Int -> VkPipelineMultisampleStateCreateInfo -> ShowS
showsPrec Int
d VkPipelineMultisampleStateCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineMultisampleStateCreateInfo {" 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 (VkPipelineMultisampleStateCreateInfo
-> FieldType "sType" VkPipelineMultisampleStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineMultisampleStateCreateInfo
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 (VkPipelineMultisampleStateCreateInfo
-> FieldType "pNext" VkPipelineMultisampleStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineMultisampleStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineMultisampleStateCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineMultisampleStateCreateInfo
-> FieldType "flags" VkPipelineMultisampleStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineMultisampleStateCreateInfo
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
"rasterizationSamples = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkSampleCountFlagBits -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineMultisampleStateCreateInfo
-> FieldType
     "rasterizationSamples" VkPipelineMultisampleStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"rasterizationSamples" VkPipelineMultisampleStateCreateInfo
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
"sampleShadingEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineMultisampleStateCreateInfo
-> FieldType
     "sampleShadingEnable" VkPipelineMultisampleStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sampleShadingEnable" VkPipelineMultisampleStateCreateInfo
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
"minSampleShading = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> Float -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineMultisampleStateCreateInfo
-> FieldType
     "minSampleShading" VkPipelineMultisampleStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"minSampleShading" VkPipelineMultisampleStateCreateInfo
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
"pSampleMask = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> Ptr VkSampleMask -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineMultisampleStateCreateInfo
-> FieldType "pSampleMask" VkPipelineMultisampleStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pSampleMask" VkPipelineMultisampleStateCreateInfo
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
"alphaToCoverageEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                          Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                            (VkPipelineMultisampleStateCreateInfo
-> FieldType
     "alphaToCoverageEnable" VkPipelineMultisampleStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"alphaToCoverageEnable" VkPipelineMultisampleStateCreateInfo
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
"alphaToOneEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                  (VkPipelineMultisampleStateCreateInfo
-> FieldType
     "alphaToOneEnable" VkPipelineMultisampleStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"alphaToOneEnable" VkPipelineMultisampleStateCreateInfo
x)
                                                                  ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                                                                      pNext;
--   >     VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--   >     VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--   >     float                                                                            extraPrimitiveOverestimationSize;
--   > } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT registry at www.khronos.org>
data VkPipelineRasterizationConservativeStateCreateInfoEXT = VkPipelineRasterizationConservativeStateCreateInfoEXT# Addr#
                                                                                                                    ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal
           VkPipelineRasterizationConservativeStateCreateInfoEXT
         where
        type StructFields
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             =
             '["sType", "pNext", "flags", "conservativeRasterizationMode", -- ' closing tick for hsc2hs
               "extraPrimitiveOverestimationSize"]
        type CUnionType
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type StructExtends
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             = '[VkPipelineRasterizationStateCreateInfo] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "conservativeRasterizationMode"
           VkPipelineRasterizationConservativeStateCreateInfoEXT
         where
        type FieldType "conservativeRasterizationMode"
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             = VkConservativeRasterizationModeEXT
        type FieldOptional "conservativeRasterizationMode"
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "conservativeRasterizationMode"
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             =
             (20)
{-# LINE 5755 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "conservativeRasterizationMode"
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
-> IO
     (FieldType
        "conservativeRasterizationMode"
        VkPipelineRasterizationConservativeStateCreateInfoEXT)
readField Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
p
          = Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
-> Int -> IO VkConservativeRasterizationModeEXT
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
p (Int
20)
{-# LINE 5778 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "conservativeRasterizationMode"
           VkPipelineRasterizationConservativeStateCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
-> FieldType
     "conservativeRasterizationMode"
     VkPipelineRasterizationConservativeStateCreateInfoEXT
-> IO ()
writeField Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
p
          = Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
-> Int -> VkConservativeRasterizationModeEXT -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
p (Int
20)
{-# LINE 5786 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "extraPrimitiveOverestimationSize"
           VkPipelineRasterizationConservativeStateCreateInfoEXT
         where
        type FieldType "extraPrimitiveOverestimationSize"
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             = Float
{-# LINE 5794 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldOptional "extraPrimitiveOverestimationSize"
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "extraPrimitiveOverestimationSize"
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             =
             (24)
{-# LINE 5801 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "extraPrimitiveOverestimationSize"
               VkPipelineRasterizationConservativeStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
-> IO
     (FieldType
        "extraPrimitiveOverestimationSize"
        VkPipelineRasterizationConservativeStateCreateInfoEXT)
readField Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
p
          = Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
-> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
p (Int
24)
{-# LINE 5824 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "extraPrimitiveOverestimationSize"
           VkPipelineRasterizationConservativeStateCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
-> FieldType
     "extraPrimitiveOverestimationSize"
     VkPipelineRasterizationConservativeStateCreateInfoEXT
-> IO ()
writeField Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
p
          = Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
-> Int -> Float -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationConservativeStateCreateInfoEXT
p (Int
24)
{-# LINE 5832 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineRasterizationConservativeStateCreateInfoEXT
         where
        showsPrec :: Int
-> VkPipelineRasterizationConservativeStateCreateInfoEXT -> ShowS
showsPrec Int
d VkPipelineRasterizationConservativeStateCreateInfoEXT
x
          = String -> ShowS
showString
              String
"VkPipelineRasterizationConservativeStateCreateInfoEXT {"
              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 (VkPipelineRasterizationConservativeStateCreateInfoEXT
-> FieldType
     "sType" VkPipelineRasterizationConservativeStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineRasterizationConservativeStateCreateInfoEXT
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 (VkPipelineRasterizationConservativeStateCreateInfoEXT
-> FieldType
     "pNext" VkPipelineRasterizationConservativeStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineRasterizationConservativeStateCreateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int
-> VkPipelineRasterizationConservativeStateCreateFlagsEXT -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineRasterizationConservativeStateCreateInfoEXT
-> FieldType
     "flags" VkPipelineRasterizationConservativeStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineRasterizationConservativeStateCreateInfoEXT
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
"conservativeRasterizationMode = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkConservativeRasterizationModeEXT -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineRasterizationConservativeStateCreateInfoEXT
-> FieldType
     "conservativeRasterizationMode"
     VkPipelineRasterizationConservativeStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"conservativeRasterizationMode" VkPipelineRasterizationConservativeStateCreateInfoEXT
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
"extraPrimitiveOverestimationSize = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Float -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineRasterizationConservativeStateCreateInfoEXT
-> FieldType
     "extraPrimitiveOverestimationSize"
     VkPipelineRasterizationConservativeStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"extraPrimitiveOverestimationSize" VkPipelineRasterizationConservativeStateCreateInfoEXT
x)
                                          ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineRasterizationStateCreateInfo {
--   >     VkStructureType sType;
--   >     const void* pNext;
--   >     VkPipelineRasterizationStateCreateFlags    flags;
--   >     VkBool32               depthClampEnable;
--   >     VkBool32               rasterizerDiscardEnable;
--   >     VkPolygonMode          polygonMode;
--   >     VkCullModeFlags        cullMode;
--   >     VkFrontFace            frontFace;
--   >     VkBool32               depthBiasEnable;
--   >     float                  depthBiasConstantFactor;
--   >     float                  depthBiasClamp;
--   >     float                  depthBiasSlopeFactor;
--   >     float                  lineWidth;
--   > } VkPipelineRasterizationStateCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo registry at www.khronos.org>
data VkPipelineRasterizationStateCreateInfo = VkPipelineRasterizationStateCreateInfo# Addr#
                                                                                      ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineRasterizationStateCreateInfo where
        type StructFields VkPipelineRasterizationStateCreateInfo =
             '["sType", "pNext", "flags", "depthClampEnable", -- ' closing tick for hsc2hs
               "rasterizerDiscardEnable", "polygonMode", "cullMode", "frontFace",
               "depthBiasEnable", "depthBiasConstantFactor", "depthBiasClamp",
               "depthBiasSlopeFactor", "lineWidth"]
        type CUnionType VkPipelineRasterizationStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineRasterizationStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineRasterizationStateCreateInfo = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "depthClampEnable" VkPipelineRasterizationStateCreateInfo
         where
        type FieldType "depthClampEnable"
               VkPipelineRasterizationStateCreateInfo
             = VkBool32
        type FieldOptional "depthClampEnable"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "depthClampEnable"
               VkPipelineRasterizationStateCreateInfo
             =
             (20)
{-# LINE 6048 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "depthClampEnable"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationStateCreateInfo
-> IO
     (FieldType
        "depthClampEnable" VkPipelineRasterizationStateCreateInfo)
readField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
20)
{-# LINE 6071 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "depthClampEnable"
           VkPipelineRasterizationStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationStateCreateInfo
-> FieldType
     "depthClampEnable" VkPipelineRasterizationStateCreateInfo
-> IO ()
writeField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
20)
{-# LINE 6079 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "rasterizerDiscardEnable"
           VkPipelineRasterizationStateCreateInfo
         where
        type FieldType "rasterizerDiscardEnable"
               VkPipelineRasterizationStateCreateInfo
             = VkBool32
        type FieldOptional "rasterizerDiscardEnable"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "rasterizerDiscardEnable"
               VkPipelineRasterizationStateCreateInfo
             =
             (24)
{-# LINE 6094 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "rasterizerDiscardEnable"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationStateCreateInfo
-> IO
     (FieldType
        "rasterizerDiscardEnable" VkPipelineRasterizationStateCreateInfo)
readField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo -> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
24)
{-# LINE 6117 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "rasterizerDiscardEnable"
           VkPipelineRasterizationStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationStateCreateInfo
-> FieldType
     "rasterizerDiscardEnable" VkPipelineRasterizationStateCreateInfo
-> IO ()
writeField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
24)
{-# LINE 6125 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "polygonMode" VkPipelineRasterizationStateCreateInfo where
        type FieldType "polygonMode" VkPipelineRasterizationStateCreateInfo
             = VkPolygonMode
        type FieldOptional "polygonMode"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "polygonMode"
               VkPipelineRasterizationStateCreateInfo
             =
             (28)
{-# LINE 6137 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "polygonMode"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationStateCreateInfo
-> IO
     (FieldType "polygonMode" VkPipelineRasterizationStateCreateInfo)
readField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo
-> Int -> IO VkPolygonMode
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
28)
{-# LINE 6159 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "polygonMode" VkPipelineRasterizationStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationStateCreateInfo
-> FieldType "polygonMode" VkPipelineRasterizationStateCreateInfo
-> IO ()
writeField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo
-> Int -> VkPolygonMode -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
28)
{-# LINE 6166 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "cullMode" VkPipelineRasterizationStateCreateInfo where
        type FieldType "cullMode" VkPipelineRasterizationStateCreateInfo =
             VkCullModeFlags
        type FieldOptional "cullMode"
               VkPipelineRasterizationStateCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "cullMode" VkPipelineRasterizationStateCreateInfo
             =
             (32)
{-# LINE 6177 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "cullMode" VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationStateCreateInfo
-> IO (FieldType "cullMode" VkPipelineRasterizationStateCreateInfo)
readField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo
-> Int -> IO VkCullModeFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
32)
{-# LINE 6198 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "cullMode" VkPipelineRasterizationStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationStateCreateInfo
-> FieldType "cullMode" VkPipelineRasterizationStateCreateInfo
-> IO ()
writeField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo
-> Int -> VkCullModeFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
32)
{-# LINE 6205 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "frontFace" VkPipelineRasterizationStateCreateInfo where
        type FieldType "frontFace" VkPipelineRasterizationStateCreateInfo =
             VkFrontFace
        type FieldOptional "frontFace"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "frontFace" VkPipelineRasterizationStateCreateInfo
             =
             (36)
{-# LINE 6216 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "frontFace"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationStateCreateInfo
-> IO
     (FieldType "frontFace" VkPipelineRasterizationStateCreateInfo)
readField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo -> Int -> IO VkFrontFace
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
36)
{-# LINE 6238 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "frontFace" VkPipelineRasterizationStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationStateCreateInfo
-> FieldType "frontFace" VkPipelineRasterizationStateCreateInfo
-> IO ()
writeField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo
-> Int -> VkFrontFace -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
36)
{-# LINE 6245 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "depthBiasConstantFactor"
           VkPipelineRasterizationStateCreateInfo
         where
        type FieldType "depthBiasConstantFactor"
               VkPipelineRasterizationStateCreateInfo
             = Float
{-# LINE 6298 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldOptional "depthBiasConstantFactor"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "depthBiasConstantFactor"
               VkPipelineRasterizationStateCreateInfo
             =
             (44)
{-# LINE 6305 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "depthBiasConstantFactor"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "depthBiasClamp" VkPipelineRasterizationStateCreateInfo
         where
        type FieldType "depthBiasClamp"
               VkPipelineRasterizationStateCreateInfo
             = Float
{-# LINE 6343 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldOptional "depthBiasClamp"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "depthBiasClamp"
               VkPipelineRasterizationStateCreateInfo
             =
             (48)
{-# LINE 6350 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "depthBiasClamp"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationStateCreateInfo
-> IO
     (FieldType "depthBiasClamp" VkPipelineRasterizationStateCreateInfo)
readField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
48)
{-# LINE 6373 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "depthBiasClamp"
           VkPipelineRasterizationStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationStateCreateInfo
-> FieldType
     "depthBiasClamp" VkPipelineRasterizationStateCreateInfo
-> IO ()
writeField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo -> Int -> Float -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
48)
{-# LINE 6381 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "depthBiasSlopeFactor"
           VkPipelineRasterizationStateCreateInfo
         where
        type FieldType "depthBiasSlopeFactor"
               VkPipelineRasterizationStateCreateInfo
             = Float
{-# LINE 6389 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldOptional "depthBiasSlopeFactor"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "depthBiasSlopeFactor"
               VkPipelineRasterizationStateCreateInfo
             =
             (52)
{-# LINE 6396 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "depthBiasSlopeFactor"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationStateCreateInfo
-> IO
     (FieldType
        "depthBiasSlopeFactor" VkPipelineRasterizationStateCreateInfo)
readField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
52)
{-# LINE 6419 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "depthBiasSlopeFactor"
           VkPipelineRasterizationStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationStateCreateInfo
-> FieldType
     "depthBiasSlopeFactor" VkPipelineRasterizationStateCreateInfo
-> IO ()
writeField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo -> Int -> Float -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
52)
{-# LINE 6427 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "lineWidth" VkPipelineRasterizationStateCreateInfo where
        type FieldType "lineWidth" VkPipelineRasterizationStateCreateInfo =
             Float
{-# LINE 6432 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldOptional "lineWidth"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "lineWidth" VkPipelineRasterizationStateCreateInfo
             =
             (56)
{-# LINE 6438 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "lineWidth"
               VkPipelineRasterizationStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationStateCreateInfo
-> IO
     (FieldType "lineWidth" VkPipelineRasterizationStateCreateInfo)
readField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo -> Int -> IO Float
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
56)
{-# LINE 6460 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "lineWidth" VkPipelineRasterizationStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationStateCreateInfo
-> FieldType "lineWidth" VkPipelineRasterizationStateCreateInfo
-> IO ()
writeField Ptr VkPipelineRasterizationStateCreateInfo
p
          = Ptr VkPipelineRasterizationStateCreateInfo -> Int -> Float -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationStateCreateInfo
p (Int
56)
{-# LINE 6467 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineRasterizationStateCreateInfo where
        showsPrec :: Int -> VkPipelineRasterizationStateCreateInfo -> ShowS
showsPrec Int
d VkPipelineRasterizationStateCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineRasterizationStateCreateInfo {" 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 (VkPipelineRasterizationStateCreateInfo
-> FieldType "sType" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineRasterizationStateCreateInfo
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 (VkPipelineRasterizationStateCreateInfo
-> FieldType "pNext" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineRasterizationStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineRasterizationStateCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineRasterizationStateCreateInfo
-> FieldType "flags" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineRasterizationStateCreateInfo
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
"depthClampEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineRasterizationStateCreateInfo
-> FieldType
     "depthClampEnable" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"depthClampEnable" VkPipelineRasterizationStateCreateInfo
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
"rasterizerDiscardEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineRasterizationStateCreateInfo
-> FieldType
     "rasterizerDiscardEnable" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"rasterizerDiscardEnable" VkPipelineRasterizationStateCreateInfo
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
"polygonMode = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> VkPolygonMode -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineRasterizationStateCreateInfo
-> FieldType "polygonMode" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"polygonMode" VkPipelineRasterizationStateCreateInfo
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
"cullMode = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> VkCullModeFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineRasterizationStateCreateInfo
-> FieldType "cullMode" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"cullMode" VkPipelineRasterizationStateCreateInfo
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
"frontFace = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                          Int -> VkFrontFace -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineRasterizationStateCreateInfo
-> FieldType "frontFace" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"frontFace" VkPipelineRasterizationStateCreateInfo
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
"depthBiasEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                  (VkPipelineRasterizationStateCreateInfo
-> FieldType
     "depthBiasEnable" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"depthBiasEnable" VkPipelineRasterizationStateCreateInfo
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
"depthBiasConstantFactor = "
                                                                      ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                      Int -> Float -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                        (VkPipelineRasterizationStateCreateInfo
-> FieldType
     "depthBiasConstantFactor" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                           @"depthBiasConstantFactor"
                                                                           VkPipelineRasterizationStateCreateInfo
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
"depthBiasClamp = "
                                                                            ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                            Int -> Float -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                              (VkPipelineRasterizationStateCreateInfo
-> FieldType
     "depthBiasClamp" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                 @"depthBiasClamp"
                                                                                 VkPipelineRasterizationStateCreateInfo
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
"depthBiasSlopeFactor = "
                                                                                  ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                  Int -> Float -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                                    (VkPipelineRasterizationStateCreateInfo
-> FieldType
     "depthBiasSlopeFactor" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                       @"depthBiasSlopeFactor"
                                                                                       VkPipelineRasterizationStateCreateInfo
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
"lineWidth = "
                                                                                        ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                        Int -> Float -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                                          (VkPipelineRasterizationStateCreateInfo
-> FieldType "lineWidth" VkPipelineRasterizationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                             @"lineWidth"
                                                                                             VkPipelineRasterizationStateCreateInfo
x)
                                                                                          ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                          Char -> ShowS
showChar
                                                                                            Char
'}'

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "rasterizationOrder"
           VkPipelineRasterizationStateRasterizationOrderAMD
         where
        type FieldType "rasterizationOrder"
               VkPipelineRasterizationStateRasterizationOrderAMD
             = VkRasterizationOrderAMD
        type FieldOptional "rasterizationOrder"
               VkPipelineRasterizationStateRasterizationOrderAMD
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "rasterizationOrder"
               VkPipelineRasterizationStateRasterizationOrderAMD
             =
             (16)
{-# LINE 6716 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "rasterizationOrder"
               VkPipelineRasterizationStateRasterizationOrderAMD
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineRasterizationStateRasterizationOrderAMD
-> IO
     (FieldType
        "rasterizationOrder"
        VkPipelineRasterizationStateRasterizationOrderAMD)
readField Ptr VkPipelineRasterizationStateRasterizationOrderAMD
p
          = Ptr VkPipelineRasterizationStateRasterizationOrderAMD
-> Int -> IO VkRasterizationOrderAMD
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineRasterizationStateRasterizationOrderAMD
p (Int
16)
{-# LINE 6739 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "rasterizationOrder"
           VkPipelineRasterizationStateRasterizationOrderAMD
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineRasterizationStateRasterizationOrderAMD
-> FieldType
     "rasterizationOrder"
     VkPipelineRasterizationStateRasterizationOrderAMD
-> IO ()
writeField Ptr VkPipelineRasterizationStateRasterizationOrderAMD
p
          = Ptr VkPipelineRasterizationStateRasterizationOrderAMD
-> Int -> VkRasterizationOrderAMD -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineRasterizationStateRasterizationOrderAMD
p (Int
16)
{-# LINE 6747 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineSampleLocationsStateCreateInfoEXT
         where
        type StructFields VkPipelineSampleLocationsStateCreateInfoEXT =
             '["sType", "pNext", "sampleLocationsEnable", "sampleLocationsInfo"] -- ' closing tick for hsc2hs
        type CUnionType VkPipelineSampleLocationsStateCreateInfoEXT =
             'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineSampleLocationsStateCreateInfoEXT =
             'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineSampleLocationsStateCreateInfoEXT =
             '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "sampleLocationsInfo"
           VkPipelineSampleLocationsStateCreateInfoEXT
         where
        type FieldType "sampleLocationsInfo"
               VkPipelineSampleLocationsStateCreateInfoEXT
             = VkSampleLocationsInfoEXT
        type FieldOptional "sampleLocationsInfo"
               VkPipelineSampleLocationsStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sampleLocationsInfo"
               VkPipelineSampleLocationsStateCreateInfoEXT
             =
             (24)
{-# LINE 6973 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "sampleLocationsInfo"
               VkPipelineSampleLocationsStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineSampleLocationsStateCreateInfoEXT
-> IO
     (FieldType
        "sampleLocationsInfo" VkPipelineSampleLocationsStateCreateInfoEXT)
readField Ptr VkPipelineSampleLocationsStateCreateInfoEXT
p
          = Ptr VkPipelineSampleLocationsStateCreateInfoEXT
-> Int -> IO VkSampleLocationsInfoEXT
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineSampleLocationsStateCreateInfoEXT
p (Int
24)
{-# LINE 6996 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sampleLocationsInfo"
           VkPipelineSampleLocationsStateCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineSampleLocationsStateCreateInfoEXT
-> FieldType
     "sampleLocationsInfo" VkPipelineSampleLocationsStateCreateInfoEXT
-> IO ()
writeField Ptr VkPipelineSampleLocationsStateCreateInfoEXT
p
          = Ptr VkPipelineSampleLocationsStateCreateInfoEXT
-> Int -> VkSampleLocationsInfoEXT -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineSampleLocationsStateCreateInfoEXT
p (Int
24)
{-# LINE 7004 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

-- | > typedef struct VkPipelineShaderStageCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkPipelineShaderStageCreateFlags    flags;
--   >     VkShaderStageFlagBits  stage;
--   >     VkShaderModule         module;
--   >     const char*            pName;
--   >     const VkSpecializationInfo* pSpecializationInfo;
--   > } VkPipelineShaderStageCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo registry at www.khronos.org>
data VkPipelineShaderStageCreateInfo = VkPipelineShaderStageCreateInfo# Addr#
                                                                        ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineShaderStageCreateInfo where
        type StructFields VkPipelineShaderStageCreateInfo =
             '["sType", "pNext", "flags", "stage", "module", "pName", -- ' closing tick for hsc2hs
               "pSpecializationInfo"]
        type CUnionType VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineShaderStageCreateInfo = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "stage" VkPipelineShaderStageCreateInfo where
        type FieldType "stage" VkPipelineShaderStageCreateInfo =
             VkShaderStageFlagBits
        type FieldOptional "stage" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "stage" VkPipelineShaderStageCreateInfo =
             (20)
{-# LINE 7189 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "stage" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineShaderStageCreateInfo
-> IO (FieldType "stage" VkPipelineShaderStageCreateInfo)
readField Ptr VkPipelineShaderStageCreateInfo
p
          = Ptr VkPipelineShaderStageCreateInfo
-> Int -> IO VkShaderStageFlagBits
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineShaderStageCreateInfo
p (Int
20)
{-# LINE 7208 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "stage" VkPipelineShaderStageCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineShaderStageCreateInfo
-> FieldType "stage" VkPipelineShaderStageCreateInfo -> IO ()
writeField Ptr VkPipelineShaderStageCreateInfo
p
          = Ptr VkPipelineShaderStageCreateInfo
-> Int -> VkShaderStageFlagBits -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineShaderStageCreateInfo
p (Int
20)
{-# LINE 7214 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "module" VkPipelineShaderStageCreateInfo where
        type FieldType "module" VkPipelineShaderStageCreateInfo =
             VkShaderModule
        type FieldOptional "module" VkPipelineShaderStageCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "module" VkPipelineShaderStageCreateInfo =
             (24)
{-# LINE 7223 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "module" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineShaderStageCreateInfo
-> IO (FieldType "module" VkPipelineShaderStageCreateInfo)
readField Ptr VkPipelineShaderStageCreateInfo
p
          = Ptr VkPipelineShaderStageCreateInfo -> Int -> IO VkShaderModule
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineShaderStageCreateInfo
p (Int
24)
{-# LINE 7242 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "module" VkPipelineShaderStageCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineShaderStageCreateInfo
-> FieldType "module" VkPipelineShaderStageCreateInfo -> IO ()
writeField Ptr VkPipelineShaderStageCreateInfo
p
          = Ptr VkPipelineShaderStageCreateInfo
-> Int -> VkShaderModule -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineShaderStageCreateInfo
p (Int
24)
{-# LINE 7248 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pName" VkPipelineShaderStageCreateInfo where
        type FieldType "pName" VkPipelineShaderStageCreateInfo = CString
        type FieldOptional "pName" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pName" VkPipelineShaderStageCreateInfo =
             (32)
{-# LINE 7255 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pName" VkPipelineShaderStageCreateInfo = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineShaderStageCreateInfo
-> IO (FieldType "pName" VkPipelineShaderStageCreateInfo)
readField Ptr VkPipelineShaderStageCreateInfo
p
          = Ptr VkPipelineShaderStageCreateInfo -> Int -> IO CString
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineShaderStageCreateInfo
p (Int
32)
{-# LINE 7274 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pName" VkPipelineShaderStageCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineShaderStageCreateInfo
-> FieldType "pName" VkPipelineShaderStageCreateInfo -> IO ()
writeField Ptr VkPipelineShaderStageCreateInfo
p
          = Ptr VkPipelineShaderStageCreateInfo -> Int -> CString -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineShaderStageCreateInfo
p (Int
32)
{-# LINE 7280 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pSpecializationInfo" VkPipelineShaderStageCreateInfo
         where
        type FieldType "pSpecializationInfo"
               VkPipelineShaderStageCreateInfo
             = Ptr VkSpecializationInfo
        type FieldOptional "pSpecializationInfo"
               VkPipelineShaderStageCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pSpecializationInfo"
               VkPipelineShaderStageCreateInfo
             =
             (40)
{-# LINE 7294 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pSpecializationInfo"
               VkPipelineShaderStageCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineShaderStageCreateInfo
-> IO
     (FieldType "pSpecializationInfo" VkPipelineShaderStageCreateInfo)
readField Ptr VkPipelineShaderStageCreateInfo
p
          = Ptr VkPipelineShaderStageCreateInfo
-> Int -> IO (Ptr VkSpecializationInfo)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineShaderStageCreateInfo
p (Int
40)
{-# LINE 7316 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pSpecializationInfo" VkPipelineShaderStageCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineShaderStageCreateInfo
-> FieldType "pSpecializationInfo" VkPipelineShaderStageCreateInfo
-> IO ()
writeField Ptr VkPipelineShaderStageCreateInfo
p
          = Ptr VkPipelineShaderStageCreateInfo
-> Int -> Ptr VkSpecializationInfo -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineShaderStageCreateInfo
p (Int
40)
{-# LINE 7323 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineShaderStageCreateInfo where
        showsPrec :: Int -> VkPipelineShaderStageCreateInfo -> ShowS
showsPrec Int
d VkPipelineShaderStageCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineShaderStageCreateInfo {" 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 (VkPipelineShaderStageCreateInfo
-> FieldType "sType" VkPipelineShaderStageCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineShaderStageCreateInfo
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 (VkPipelineShaderStageCreateInfo
-> FieldType "pNext" VkPipelineShaderStageCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineShaderStageCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineShaderStageCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineShaderStageCreateInfo
-> FieldType "flags" VkPipelineShaderStageCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineShaderStageCreateInfo
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
"stage = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkShaderStageFlagBits -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineShaderStageCreateInfo
-> FieldType "stage" VkPipelineShaderStageCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"stage" VkPipelineShaderStageCreateInfo
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
"module = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> VkShaderModule -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineShaderStageCreateInfo
-> FieldType "module" VkPipelineShaderStageCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"module" VkPipelineShaderStageCreateInfo
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
"pName = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> CString -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineShaderStageCreateInfo
-> FieldType "pName" VkPipelineShaderStageCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pName" VkPipelineShaderStageCreateInfo
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
"pSpecializationInfo = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> Ptr VkSpecializationInfo -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineShaderStageCreateInfo
-> FieldType "pSpecializationInfo" VkPipelineShaderStageCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pSpecializationInfo" VkPipelineShaderStageCreateInfo
x)
                                                      ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "domainOrigin"
           VkPipelineTessellationDomainOriginStateCreateInfo
         where
        type FieldType "domainOrigin"
               VkPipelineTessellationDomainOriginStateCreateInfo
             = VkTessellationDomainOrigin
        type FieldOptional "domainOrigin"
               VkPipelineTessellationDomainOriginStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "domainOrigin"
               VkPipelineTessellationDomainOriginStateCreateInfo
             =
             (16)
{-# LINE 7526 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "domainOrigin"
               VkPipelineTessellationDomainOriginStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineTessellationDomainOriginStateCreateInfo
-> IO
     (FieldType
        "domainOrigin" VkPipelineTessellationDomainOriginStateCreateInfo)
readField Ptr VkPipelineTessellationDomainOriginStateCreateInfo
p
          = Ptr VkPipelineTessellationDomainOriginStateCreateInfo
-> Int -> IO VkTessellationDomainOrigin
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineTessellationDomainOriginStateCreateInfo
p (Int
16)
{-# LINE 7549 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "domainOrigin"
           VkPipelineTessellationDomainOriginStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineTessellationDomainOriginStateCreateInfo
-> FieldType
     "domainOrigin" VkPipelineTessellationDomainOriginStateCreateInfo
-> IO ()
writeField Ptr VkPipelineTessellationDomainOriginStateCreateInfo
p
          = Ptr VkPipelineTessellationDomainOriginStateCreateInfo
-> Int -> VkTessellationDomainOrigin -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineTessellationDomainOriginStateCreateInfo
p (Int
16)
{-# LINE 7557 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

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

-- | Alias for `VkPipelineTessellationDomainOriginStateCreateInfo`
type VkPipelineTessellationDomainOriginStateCreateInfoKHR =
     VkPipelineTessellationDomainOriginStateCreateInfo

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

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

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

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         CanReadField "patchControlPoints"
           VkPipelineTessellationStateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineTessellationStateCreateInfo
-> FieldType
     "patchControlPoints" VkPipelineTessellationStateCreateInfo
getField VkPipelineTessellationStateCreateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineTessellationStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineTessellationStateCreateInfo
-> Ptr VkPipelineTessellationStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineTessellationStateCreateInfo
x) (Int
20))
{-# LINE 7776 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineTessellationStateCreateInfo
-> IO
     (FieldType
        "patchControlPoints" VkPipelineTessellationStateCreateInfo)
readField Ptr VkPipelineTessellationStateCreateInfo
p
          = Ptr VkPipelineTessellationStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineTessellationStateCreateInfo
p (Int
20)
{-# LINE 7780 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "patchControlPoints"
           VkPipelineTessellationStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineTessellationStateCreateInfo
-> FieldType
     "patchControlPoints" VkPipelineTessellationStateCreateInfo
-> IO ()
writeField Ptr VkPipelineTessellationStateCreateInfo
p
          = Ptr VkPipelineTessellationStateCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineTessellationStateCreateInfo
p (Int
20)
{-# LINE 7788 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineTessellationStateCreateInfo where
        showsPrec :: Int -> VkPipelineTessellationStateCreateInfo -> ShowS
showsPrec Int
d VkPipelineTessellationStateCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineTessellationStateCreateInfo {" 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 (VkPipelineTessellationStateCreateInfo
-> FieldType "sType" VkPipelineTessellationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineTessellationStateCreateInfo
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 (VkPipelineTessellationStateCreateInfo
-> FieldType "pNext" VkPipelineTessellationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineTessellationStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineTessellationStateCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineTessellationStateCreateInfo
-> FieldType "flags" VkPipelineTessellationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineTessellationStateCreateInfo
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
"patchControlPoints = " 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 (VkPipelineTessellationStateCreateInfo
-> FieldType
     "patchControlPoints" VkPipelineTessellationStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"patchControlPoints" VkPipelineTessellationStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                         pNext;
--   >     uint32_t                            vertexBindingDivisorCount;
--   >     const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   > } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT registry at www.khronos.org>
data VkPipelineVertexInputDivisorStateCreateInfoEXT = VkPipelineVertexInputDivisorStateCreateInfoEXT# Addr#
                                                                                                      ByteArray#

instance Eq VkPipelineVertexInputDivisorStateCreateInfoEXT where
        (VkPipelineVertexInputDivisorStateCreateInfoEXT# Addr#
a ByteArray#
_) == :: VkPipelineVertexInputDivisorStateCreateInfoEXT
-> VkPipelineVertexInputDivisorStateCreateInfoEXT -> Bool
==
          x :: VkPipelineVertexInputDivisorStateCreateInfoEXT
x@(VkPipelineVertexInputDivisorStateCreateInfoEXT# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkPipelineVertexInputDivisorStateCreateInfoEXT -> Int
forall a. Storable a => a -> Int
sizeOf VkPipelineVertexInputDivisorStateCreateInfoEXT
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkPipelineVertexInputDivisorStateCreateInfoEXT where
        (VkPipelineVertexInputDivisorStateCreateInfoEXT# Addr#
a ByteArray#
_) compare :: VkPipelineVertexInputDivisorStateCreateInfoEXT
-> VkPipelineVertexInputDivisorStateCreateInfoEXT -> Ordering
`compare`
          x :: VkPipelineVertexInputDivisorStateCreateInfoEXT
x@(VkPipelineVertexInputDivisorStateCreateInfoEXT# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkPipelineVertexInputDivisorStateCreateInfoEXT -> Int
forall a. Storable a => a -> Int
sizeOf VkPipelineVertexInputDivisorStateCreateInfoEXT
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        sizeOf :: VkPipelineVertexInputDivisorStateCreateInfoEXT -> Int
sizeOf ~VkPipelineVertexInputDivisorStateCreateInfoEXT
_
          = (Int
32)
{-# LINE 7833 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkPipelineVertexInputDivisorStateCreateInfoEXT -> Int
alignment ~VkPipelineVertexInputDivisorStateCreateInfoEXT
_
          = Int
8
{-# LINE 7837 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> IO VkPipelineVertexInputDivisorStateCreateInfoEXT
peek = Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> IO VkPipelineVertexInputDivisorStateCreateInfoEXT
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> VkPipelineVertexInputDivisorStateCreateInfoEXT -> IO ()
poke = Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> VkPipelineVertexInputDivisorStateCreateInfoEXT -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        unsafeAddr :: VkPipelineVertexInputDivisorStateCreateInfoEXT -> Addr#
unsafeAddr (VkPipelineVertexInputDivisorStateCreateInfoEXT# Addr#
a ByteArray#
_)
          = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkPipelineVertexInputDivisorStateCreateInfoEXT -> ByteArray#
unsafeByteArray
          (VkPipelineVertexInputDivisorStateCreateInfoEXT# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int#
-> ByteArray# -> VkPipelineVertexInputDivisorStateCreateInfoEXT
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr#
-> ByteArray# -> VkPipelineVertexInputDivisorStateCreateInfoEXT
VkPipelineVertexInputDivisorStateCreateInfoEXT#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        type StructFields VkPipelineVertexInputDivisorStateCreateInfoEXT =
             '["sType", "pNext", "vertexBindingDivisorCount", -- ' closing tick for hsc2hs
               "pVertexBindingDivisors"]
        type CUnionType VkPipelineVertexInputDivisorStateCreateInfoEXT =
             'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineVertexInputDivisorStateCreateInfoEXT =
             'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineVertexInputDivisorStateCreateInfoEXT =
             '[VkPipelineVertexInputStateCreateInfo] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        type FieldType "sType"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = VkStructureType
        type FieldOptional "sType"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             =
             (0)
{-# LINE 7890 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "sType"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 7900 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType "sType" VkPipelineVertexInputDivisorStateCreateInfoEXT
getField VkPipelineVertexInputDivisorStateCreateInfoEXT
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputDivisorStateCreateInfoEXT
x) (Int
0))
{-# LINE 7908 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> IO
     (FieldType "sType" VkPipelineVertexInputDivisorStateCreateInfoEXT)
readField Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p
          = Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p (Int
0)
{-# LINE 7912 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType"
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType "sType" VkPipelineVertexInputDivisorStateCreateInfoEXT
-> IO ()
writeField Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p
          = Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p (Int
0)
{-# LINE 7920 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        type FieldType "pNext"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = Ptr Void
        type FieldOptional "pNext"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             =
             (8)
{-# LINE 7934 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pNext"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 7944 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType "pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT
getField VkPipelineVertexInputDivisorStateCreateInfoEXT
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputDivisorStateCreateInfoEXT
x) (Int
8))
{-# LINE 7952 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> IO
     (FieldType "pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT)
readField Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p
          = Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p (Int
8)
{-# LINE 7956 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext"
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType "pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT
-> IO ()
writeField Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p
          = Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p (Int
8)
{-# LINE 7964 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "vertexBindingDivisorCount"
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        type FieldType "vertexBindingDivisorCount"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = Word32
        type FieldOptional "vertexBindingDivisorCount"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "vertexBindingDivisorCount"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             =
             (16)
{-# LINE 7979 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "vertexBindingDivisorCount"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 7989 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "vertexBindingDivisorCount"
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType
     "vertexBindingDivisorCount"
     VkPipelineVertexInputDivisorStateCreateInfoEXT
getField VkPipelineVertexInputDivisorStateCreateInfoEXT
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputDivisorStateCreateInfoEXT
x) (Int
16))
{-# LINE 7998 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> IO
     (FieldType
        "vertexBindingDivisorCount"
        VkPipelineVertexInputDivisorStateCreateInfoEXT)
readField Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p
          = Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p (Int
16)
{-# LINE 8002 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "vertexBindingDivisorCount"
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType
     "vertexBindingDivisorCount"
     VkPipelineVertexInputDivisorStateCreateInfoEXT
-> IO ()
writeField Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p
          = Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p (Int
16)
{-# LINE 8010 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pVertexBindingDivisors"
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        type FieldType "pVertexBindingDivisors"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = Ptr VkVertexInputBindingDivisorDescriptionEXT
        type FieldOptional "pVertexBindingDivisors"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pVertexBindingDivisors"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             =
             (24)
{-# LINE 8025 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pVertexBindingDivisors"
               VkPipelineVertexInputDivisorStateCreateInfoEXT
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 8035 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pVertexBindingDivisors"
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType
     "pVertexBindingDivisors"
     VkPipelineVertexInputDivisorStateCreateInfoEXT
getField VkPipelineVertexInputDivisorStateCreateInfoEXT
x
          = IO (Ptr VkVertexInputBindingDivisorDescriptionEXT)
-> Ptr VkVertexInputBindingDivisorDescriptionEXT
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> IO (Ptr VkVertexInputBindingDivisorDescriptionEXT)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputDivisorStateCreateInfoEXT
x) (Int
24))
{-# LINE 8044 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> IO
     (FieldType
        "pVertexBindingDivisors"
        VkPipelineVertexInputDivisorStateCreateInfoEXT)
readField Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p
          = Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> IO (Ptr VkVertexInputBindingDivisorDescriptionEXT)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p (Int
24)
{-# LINE 8048 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pVertexBindingDivisors"
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType
     "pVertexBindingDivisors"
     VkPipelineVertexInputDivisorStateCreateInfoEXT
-> IO ()
writeField Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p
          = Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
-> Int -> Ptr VkVertexInputBindingDivisorDescriptionEXT -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputDivisorStateCreateInfoEXT
p (Int
24)
{-# LINE 8056 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineVertexInputDivisorStateCreateInfoEXT where
        showsPrec :: Int -> VkPipelineVertexInputDivisorStateCreateInfoEXT -> ShowS
showsPrec Int
d VkPipelineVertexInputDivisorStateCreateInfoEXT
x
          = String -> ShowS
showString String
"VkPipelineVertexInputDivisorStateCreateInfoEXT {" 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 (VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType "sType" VkPipelineVertexInputDivisorStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineVertexInputDivisorStateCreateInfoEXT
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 (VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType "pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineVertexInputDivisorStateCreateInfoEXT
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
"vertexBindingDivisorCount = " 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 (VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType
     "vertexBindingDivisorCount"
     VkPipelineVertexInputDivisorStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"vertexBindingDivisorCount" VkPipelineVertexInputDivisorStateCreateInfoEXT
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
"pVertexBindingDivisors = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Ptr VkVertexInputBindingDivisorDescriptionEXT -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineVertexInputDivisorStateCreateInfoEXT
-> FieldType
     "pVertexBindingDivisors"
     VkPipelineVertexInputDivisorStateCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pVertexBindingDivisors" VkPipelineVertexInputDivisorStateCreateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineVertexInputStateCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkPipelineVertexInputStateCreateFlags    flags;
--   >     uint32_t               vertexBindingDescriptionCount;
--   >     const VkVertexInputBindingDescription* pVertexBindingDescriptions;
--   >     uint32_t               vertexAttributeDescriptionCount;
--   >     const VkVertexInputAttributeDescription* pVertexAttributeDescriptions;
--   > } VkPipelineVertexInputStateCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo registry at www.khronos.org>
data VkPipelineVertexInputStateCreateInfo = VkPipelineVertexInputStateCreateInfo# Addr#
                                                                                  ByteArray#

instance Eq VkPipelineVertexInputStateCreateInfo where
        (VkPipelineVertexInputStateCreateInfo# Addr#
a ByteArray#
_) == :: VkPipelineVertexInputStateCreateInfo
-> VkPipelineVertexInputStateCreateInfo -> Bool
==
          x :: VkPipelineVertexInputStateCreateInfo
x@(VkPipelineVertexInputStateCreateInfo# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkPipelineVertexInputStateCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkPipelineVertexInputStateCreateInfo
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkPipelineVertexInputStateCreateInfo where
        (VkPipelineVertexInputStateCreateInfo# Addr#
a ByteArray#
_) compare :: VkPipelineVertexInputStateCreateInfo
-> VkPipelineVertexInputStateCreateInfo -> Ordering
`compare`
          x :: VkPipelineVertexInputStateCreateInfo
x@(VkPipelineVertexInputStateCreateInfo# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkPipelineVertexInputStateCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkPipelineVertexInputStateCreateInfo
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkPipelineVertexInputStateCreateInfo where
        sizeOf :: VkPipelineVertexInputStateCreateInfo -> Int
sizeOf ~VkPipelineVertexInputStateCreateInfo
_
          = (Int
48)
{-# LINE 8103 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkPipelineVertexInputStateCreateInfo -> Int
alignment ~VkPipelineVertexInputStateCreateInfo
_
          = Int
8
{-# LINE 8107 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkPipelineVertexInputStateCreateInfo
-> IO VkPipelineVertexInputStateCreateInfo
peek = Ptr VkPipelineVertexInputStateCreateInfo
-> IO VkPipelineVertexInputStateCreateInfo
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkPipelineVertexInputStateCreateInfo
-> VkPipelineVertexInputStateCreateInfo -> IO ()
poke = Ptr VkPipelineVertexInputStateCreateInfo
-> VkPipelineVertexInputStateCreateInfo -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkPipelineVertexInputStateCreateInfo
         where
        unsafeAddr :: VkPipelineVertexInputStateCreateInfo -> Addr#
unsafeAddr (VkPipelineVertexInputStateCreateInfo# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkPipelineVertexInputStateCreateInfo -> ByteArray#
unsafeByteArray (VkPipelineVertexInputStateCreateInfo# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkPipelineVertexInputStateCreateInfo
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkPipelineVertexInputStateCreateInfo
VkPipelineVertexInputStateCreateInfo#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineVertexInputStateCreateInfo where
        type StructFields VkPipelineVertexInputStateCreateInfo =
             '["sType", "pNext", "flags", "vertexBindingDescriptionCount", -- ' closing tick for hsc2hs
               "pVertexBindingDescriptions", "vertexAttributeDescriptionCount",
               "pVertexAttributeDescriptions"]
        type CUnionType VkPipelineVertexInputStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineVertexInputStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineVertexInputStateCreateInfo = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkPipelineVertexInputStateCreateInfo where
        type FieldType "sType" VkPipelineVertexInputStateCreateInfo =
             VkStructureType
        type FieldOptional "sType" VkPipelineVertexInputStateCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "sType" VkPipelineVertexInputStateCreateInfo =
             (0)
{-# LINE 8148 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "sType" VkPipelineVertexInputStateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 8157 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkPipelineVertexInputStateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputStateCreateInfo
-> FieldType "sType" VkPipelineVertexInputStateCreateInfo
getField VkPipelineVertexInputStateCreateInfo
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputStateCreateInfo
-> Ptr VkPipelineVertexInputStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputStateCreateInfo
x) (Int
0))
{-# LINE 8164 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputStateCreateInfo
-> IO (FieldType "sType" VkPipelineVertexInputStateCreateInfo)
readField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
0)
{-# LINE 8168 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkPipelineVertexInputStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputStateCreateInfo
-> FieldType "sType" VkPipelineVertexInputStateCreateInfo -> IO ()
writeField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
0)
{-# LINE 8174 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkPipelineVertexInputStateCreateInfo where
        type FieldType "pNext" VkPipelineVertexInputStateCreateInfo =
             Ptr Void
        type FieldOptional "pNext" VkPipelineVertexInputStateCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext" VkPipelineVertexInputStateCreateInfo =
             (8)
{-# LINE 8183 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pNext" VkPipelineVertexInputStateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 8192 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkPipelineVertexInputStateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputStateCreateInfo
-> FieldType "pNext" VkPipelineVertexInputStateCreateInfo
getField VkPipelineVertexInputStateCreateInfo
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputStateCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputStateCreateInfo
-> Ptr VkPipelineVertexInputStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputStateCreateInfo
x) (Int
8))
{-# LINE 8199 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputStateCreateInfo
-> IO (FieldType "pNext" VkPipelineVertexInputStateCreateInfo)
readField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
8)
{-# LINE 8203 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkPipelineVertexInputStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputStateCreateInfo
-> FieldType "pNext" VkPipelineVertexInputStateCreateInfo -> IO ()
writeField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
8)
{-# LINE 8209 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkPipelineVertexInputStateCreateInfo where
        type FieldType "flags" VkPipelineVertexInputStateCreateInfo =
             VkPipelineVertexInputStateCreateFlags
        type FieldOptional "flags" VkPipelineVertexInputStateCreateInfo =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkPipelineVertexInputStateCreateInfo =
             (16)
{-# LINE 8218 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "flags" VkPipelineVertexInputStateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 8227 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkPipelineVertexInputStateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputStateCreateInfo
-> FieldType "flags" VkPipelineVertexInputStateCreateInfo
getField VkPipelineVertexInputStateCreateInfo
x
          = IO VkPipelineVertexInputStateCreateFlags
-> VkPipelineVertexInputStateCreateFlags
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> IO VkPipelineVertexInputStateCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputStateCreateInfo
-> Ptr VkPipelineVertexInputStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputStateCreateInfo
x) (Int
16))
{-# LINE 8234 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputStateCreateInfo
-> IO (FieldType "flags" VkPipelineVertexInputStateCreateInfo)
readField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> IO VkPipelineVertexInputStateCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
16)
{-# LINE 8238 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkPipelineVertexInputStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputStateCreateInfo
-> FieldType "flags" VkPipelineVertexInputStateCreateInfo -> IO ()
writeField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> VkPipelineVertexInputStateCreateFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
16)
{-# LINE 8244 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "vertexBindingDescriptionCount"
           VkPipelineVertexInputStateCreateInfo
         where
        type FieldType "vertexBindingDescriptionCount"
               VkPipelineVertexInputStateCreateInfo
             = Word32
        type FieldOptional "vertexBindingDescriptionCount"
               VkPipelineVertexInputStateCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "vertexBindingDescriptionCount"
               VkPipelineVertexInputStateCreateInfo
             =
             (20)
{-# LINE 8259 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "vertexBindingDescriptionCount"
               VkPipelineVertexInputStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
20)
{-# LINE 8269 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "vertexBindingDescriptionCount"
           VkPipelineVertexInputStateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputStateCreateInfo
-> FieldType
     "vertexBindingDescriptionCount"
     VkPipelineVertexInputStateCreateInfo
getField VkPipelineVertexInputStateCreateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputStateCreateInfo
-> Ptr VkPipelineVertexInputStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputStateCreateInfo
x) (Int
20))
{-# LINE 8278 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputStateCreateInfo
-> IO
     (FieldType
        "vertexBindingDescriptionCount"
        VkPipelineVertexInputStateCreateInfo)
readField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
20)
{-# LINE 8282 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "vertexBindingDescriptionCount"
           VkPipelineVertexInputStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputStateCreateInfo
-> FieldType
     "vertexBindingDescriptionCount"
     VkPipelineVertexInputStateCreateInfo
-> IO ()
writeField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
20)
{-# LINE 8290 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pVertexBindingDescriptions"
           VkPipelineVertexInputStateCreateInfo
         where
        type FieldType "pVertexBindingDescriptions"
               VkPipelineVertexInputStateCreateInfo
             = Ptr VkVertexInputBindingDescription
        type FieldOptional "pVertexBindingDescriptions"
               VkPipelineVertexInputStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pVertexBindingDescriptions"
               VkPipelineVertexInputStateCreateInfo
             =
             (24)
{-# LINE 8305 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pVertexBindingDescriptions"
               VkPipelineVertexInputStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 8315 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pVertexBindingDescriptions"
           VkPipelineVertexInputStateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputStateCreateInfo
-> FieldType
     "pVertexBindingDescriptions" VkPipelineVertexInputStateCreateInfo
getField VkPipelineVertexInputStateCreateInfo
x
          = IO (Ptr VkVertexInputBindingDescription)
-> Ptr VkVertexInputBindingDescription
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> IO (Ptr VkVertexInputBindingDescription)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputStateCreateInfo
-> Ptr VkPipelineVertexInputStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputStateCreateInfo
x) (Int
24))
{-# LINE 8324 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputStateCreateInfo
-> IO
     (FieldType
        "pVertexBindingDescriptions" VkPipelineVertexInputStateCreateInfo)
readField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> IO (Ptr VkVertexInputBindingDescription)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
24)
{-# LINE 8328 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pVertexBindingDescriptions"
           VkPipelineVertexInputStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputStateCreateInfo
-> FieldType
     "pVertexBindingDescriptions" VkPipelineVertexInputStateCreateInfo
-> IO ()
writeField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> Ptr VkVertexInputBindingDescription -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
24)
{-# LINE 8336 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "vertexAttributeDescriptionCount"
           VkPipelineVertexInputStateCreateInfo
         where
        type FieldType "vertexAttributeDescriptionCount"
               VkPipelineVertexInputStateCreateInfo
             = Word32
        type FieldOptional "vertexAttributeDescriptionCount"
               VkPipelineVertexInputStateCreateInfo
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "vertexAttributeDescriptionCount"
               VkPipelineVertexInputStateCreateInfo
             =
             (32)
{-# LINE 8351 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "vertexAttributeDescriptionCount"
               VkPipelineVertexInputStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
32)
{-# LINE 8361 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "vertexAttributeDescriptionCount"
           VkPipelineVertexInputStateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputStateCreateInfo
-> FieldType
     "vertexAttributeDescriptionCount"
     VkPipelineVertexInputStateCreateInfo
getField VkPipelineVertexInputStateCreateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputStateCreateInfo
-> Ptr VkPipelineVertexInputStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputStateCreateInfo
x) (Int
32))
{-# LINE 8370 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputStateCreateInfo
-> IO
     (FieldType
        "vertexAttributeDescriptionCount"
        VkPipelineVertexInputStateCreateInfo)
readField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
32)
{-# LINE 8374 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "vertexAttributeDescriptionCount"
           VkPipelineVertexInputStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputStateCreateInfo
-> FieldType
     "vertexAttributeDescriptionCount"
     VkPipelineVertexInputStateCreateInfo
-> IO ()
writeField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
32)
{-# LINE 8382 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pVertexAttributeDescriptions"
           VkPipelineVertexInputStateCreateInfo
         where
        type FieldType "pVertexAttributeDescriptions"
               VkPipelineVertexInputStateCreateInfo
             = Ptr VkVertexInputAttributeDescription
        type FieldOptional "pVertexAttributeDescriptions"
               VkPipelineVertexInputStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pVertexAttributeDescriptions"
               VkPipelineVertexInputStateCreateInfo
             =
             (40)
{-# LINE 8397 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pVertexAttributeDescriptions"
               VkPipelineVertexInputStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
40)
{-# LINE 8407 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pVertexAttributeDescriptions"
           VkPipelineVertexInputStateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineVertexInputStateCreateInfo
-> FieldType
     "pVertexAttributeDescriptions" VkPipelineVertexInputStateCreateInfo
getField VkPipelineVertexInputStateCreateInfo
x
          = IO (Ptr VkVertexInputAttributeDescription)
-> Ptr VkVertexInputAttributeDescription
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> IO (Ptr VkVertexInputAttributeDescription)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineVertexInputStateCreateInfo
-> Ptr VkPipelineVertexInputStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineVertexInputStateCreateInfo
x) (Int
40))
{-# LINE 8416 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineVertexInputStateCreateInfo
-> IO
     (FieldType
        "pVertexAttributeDescriptions"
        VkPipelineVertexInputStateCreateInfo)
readField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> IO (Ptr VkVertexInputAttributeDescription)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
40)
{-# LINE 8420 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pVertexAttributeDescriptions"
           VkPipelineVertexInputStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineVertexInputStateCreateInfo
-> FieldType
     "pVertexAttributeDescriptions" VkPipelineVertexInputStateCreateInfo
-> IO ()
writeField Ptr VkPipelineVertexInputStateCreateInfo
p
          = Ptr VkPipelineVertexInputStateCreateInfo
-> Int -> Ptr VkVertexInputAttributeDescription -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineVertexInputStateCreateInfo
p (Int
40)
{-# LINE 8428 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineVertexInputStateCreateInfo where
        showsPrec :: Int -> VkPipelineVertexInputStateCreateInfo -> ShowS
showsPrec Int
d VkPipelineVertexInputStateCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineVertexInputStateCreateInfo {" 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 (VkPipelineVertexInputStateCreateInfo
-> FieldType "sType" VkPipelineVertexInputStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineVertexInputStateCreateInfo
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 (VkPipelineVertexInputStateCreateInfo
-> FieldType "pNext" VkPipelineVertexInputStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineVertexInputStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineVertexInputStateCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineVertexInputStateCreateInfo
-> FieldType "flags" VkPipelineVertexInputStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineVertexInputStateCreateInfo
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
"vertexBindingDescriptionCount = " 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 (VkPipelineVertexInputStateCreateInfo
-> FieldType
     "vertexBindingDescriptionCount"
     VkPipelineVertexInputStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"vertexBindingDescriptionCount" VkPipelineVertexInputStateCreateInfo
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
"pVertexBindingDescriptions = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkVertexInputBindingDescription -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineVertexInputStateCreateInfo
-> FieldType
     "pVertexBindingDescriptions" VkPipelineVertexInputStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pVertexBindingDescriptions" VkPipelineVertexInputStateCreateInfo
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
"vertexAttributeDescriptionCount = " 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
                                                (VkPipelineVertexInputStateCreateInfo
-> FieldType
     "vertexAttributeDescriptionCount"
     VkPipelineVertexInputStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"vertexAttributeDescriptionCount" VkPipelineVertexInputStateCreateInfo
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
"pVertexAttributeDescriptions = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> Ptr VkVertexInputAttributeDescription -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                      (VkPipelineVertexInputStateCreateInfo
-> FieldType
     "pVertexAttributeDescriptions" VkPipelineVertexInputStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pVertexAttributeDescriptions" VkPipelineVertexInputStateCreateInfo
x)
                                                      ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineViewportStateCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkPipelineViewportStateCreateFlags    flags;
--   >     uint32_t               viewportCount;
--   >     const VkViewport*      pViewports;
--   >     uint32_t               scissorCount;
--   >     const VkRect2D*        pScissors;
--   > } VkPipelineViewportStateCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo registry at www.khronos.org>
data VkPipelineViewportStateCreateInfo = VkPipelineViewportStateCreateInfo# Addr#
                                                                            ByteArray#

instance Eq VkPipelineViewportStateCreateInfo where
        (VkPipelineViewportStateCreateInfo# Addr#
a ByteArray#
_) == :: VkPipelineViewportStateCreateInfo
-> VkPipelineViewportStateCreateInfo -> Bool
==
          x :: VkPipelineViewportStateCreateInfo
x@(VkPipelineViewportStateCreateInfo# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkPipelineViewportStateCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkPipelineViewportStateCreateInfo
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkPipelineViewportStateCreateInfo where
        (VkPipelineViewportStateCreateInfo# Addr#
a ByteArray#
_) compare :: VkPipelineViewportStateCreateInfo
-> VkPipelineViewportStateCreateInfo -> Ordering
`compare`
          x :: VkPipelineViewportStateCreateInfo
x@(VkPipelineViewportStateCreateInfo# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkPipelineViewportStateCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkPipelineViewportStateCreateInfo
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkPipelineViewportStateCreateInfo where
        sizeOf :: VkPipelineViewportStateCreateInfo -> Int
sizeOf ~VkPipelineViewportStateCreateInfo
_ = (Int
48)
{-# LINE 8487 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkPipelineViewportStateCreateInfo -> Int
alignment ~VkPipelineViewportStateCreateInfo
_
          = Int
8
{-# LINE 8491 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkPipelineViewportStateCreateInfo
-> IO VkPipelineViewportStateCreateInfo
peek = Ptr VkPipelineViewportStateCreateInfo
-> IO VkPipelineViewportStateCreateInfo
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkPipelineViewportStateCreateInfo
-> VkPipelineViewportStateCreateInfo -> IO ()
poke = Ptr VkPipelineViewportStateCreateInfo
-> VkPipelineViewportStateCreateInfo -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkPipelineViewportStateCreateInfo where
        unsafeAddr :: VkPipelineViewportStateCreateInfo -> Addr#
unsafeAddr (VkPipelineViewportStateCreateInfo# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkPipelineViewportStateCreateInfo -> ByteArray#
unsafeByteArray (VkPipelineViewportStateCreateInfo# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkPipelineViewportStateCreateInfo
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo
VkPipelineViewportStateCreateInfo#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineViewportStateCreateInfo where
        type StructFields VkPipelineViewportStateCreateInfo =
             '["sType", "pNext", "flags", "viewportCount", "pViewports", -- ' closing tick for hsc2hs
               "scissorCount", "pScissors"]
        type CUnionType VkPipelineViewportStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineViewportStateCreateInfo = 'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineViewportStateCreateInfo = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkPipelineViewportStateCreateInfo where
        type FieldType "sType" VkPipelineViewportStateCreateInfo =
             VkStructureType
        type FieldOptional "sType" VkPipelineViewportStateCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "sType" VkPipelineViewportStateCreateInfo =
             (0)
{-# LINE 8530 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "sType" VkPipelineViewportStateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 8539 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkPipelineViewportStateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportStateCreateInfo
-> FieldType "sType" VkPipelineViewportStateCreateInfo
getField VkPipelineViewportStateCreateInfo
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportStateCreateInfo -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportStateCreateInfo
-> Ptr VkPipelineViewportStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportStateCreateInfo
x) (Int
0))
{-# LINE 8546 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportStateCreateInfo
-> IO (FieldType "sType" VkPipelineViewportStateCreateInfo)
readField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
0)
{-# LINE 8550 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkPipelineViewportStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportStateCreateInfo
-> FieldType "sType" VkPipelineViewportStateCreateInfo -> IO ()
writeField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
0)
{-# LINE 8556 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkPipelineViewportStateCreateInfo where
        type FieldType "pNext" VkPipelineViewportStateCreateInfo = Ptr Void
        type FieldOptional "pNext" VkPipelineViewportStateCreateInfo =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext" VkPipelineViewportStateCreateInfo =
             (8)
{-# LINE 8564 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pNext" VkPipelineViewportStateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 8573 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkPipelineViewportStateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportStateCreateInfo
-> FieldType "pNext" VkPipelineViewportStateCreateInfo
getField VkPipelineViewportStateCreateInfo
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportStateCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportStateCreateInfo
-> Ptr VkPipelineViewportStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportStateCreateInfo
x) (Int
8))
{-# LINE 8580 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportStateCreateInfo
-> IO (FieldType "pNext" VkPipelineViewportStateCreateInfo)
readField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
8)
{-# LINE 8584 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkPipelineViewportStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportStateCreateInfo
-> FieldType "pNext" VkPipelineViewportStateCreateInfo -> IO ()
writeField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo -> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
8)
{-# LINE 8590 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkPipelineViewportStateCreateInfo where
        type FieldType "flags" VkPipelineViewportStateCreateInfo =
             VkPipelineViewportStateCreateFlags
        type FieldOptional "flags" VkPipelineViewportStateCreateInfo =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkPipelineViewportStateCreateInfo =
             (16)
{-# LINE 8599 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "flags" VkPipelineViewportStateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 8608 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkPipelineViewportStateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportStateCreateInfo
-> FieldType "flags" VkPipelineViewportStateCreateInfo
getField VkPipelineViewportStateCreateInfo
x
          = IO VkPipelineViewportStateCreateFlags
-> VkPipelineViewportStateCreateFlags
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportStateCreateInfo
-> Int -> IO VkPipelineViewportStateCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportStateCreateInfo
-> Ptr VkPipelineViewportStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportStateCreateInfo
x) (Int
16))
{-# LINE 8615 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportStateCreateInfo
-> IO (FieldType "flags" VkPipelineViewportStateCreateInfo)
readField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo
-> Int -> IO VkPipelineViewportStateCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
16)
{-# LINE 8619 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkPipelineViewportStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportStateCreateInfo
-> FieldType "flags" VkPipelineViewportStateCreateInfo -> IO ()
writeField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo
-> Int -> VkPipelineViewportStateCreateFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
16)
{-# LINE 8625 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "viewportCount" VkPipelineViewportStateCreateInfo where
        type FieldType "viewportCount" VkPipelineViewportStateCreateInfo =
             Word32
        type FieldOptional "viewportCount"
               VkPipelineViewportStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "viewportCount" VkPipelineViewportStateCreateInfo
             =
             (20)
{-# LINE 8636 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "viewportCount" VkPipelineViewportStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
20)
{-# LINE 8645 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "viewportCount" VkPipelineViewportStateCreateInfo
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportStateCreateInfo
-> FieldType "viewportCount" VkPipelineViewportStateCreateInfo
getField VkPipelineViewportStateCreateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportStateCreateInfo
-> Ptr VkPipelineViewportStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportStateCreateInfo
x) (Int
20))
{-# LINE 8653 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportStateCreateInfo
-> IO (FieldType "viewportCount" VkPipelineViewportStateCreateInfo)
readField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
20)
{-# LINE 8657 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "viewportCount" VkPipelineViewportStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportStateCreateInfo
-> FieldType "viewportCount" VkPipelineViewportStateCreateInfo
-> IO ()
writeField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
20)
{-# LINE 8664 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pViewports" VkPipelineViewportStateCreateInfo where
        type FieldType "pViewports" VkPipelineViewportStateCreateInfo =
             Ptr VkViewport
        type FieldOptional "pViewports" VkPipelineViewportStateCreateInfo =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "pViewports" VkPipelineViewportStateCreateInfo =
             (24)
{-# LINE 8673 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pViewports" VkPipelineViewportStateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 8682 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pViewports" VkPipelineViewportStateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportStateCreateInfo
-> FieldType "pViewports" VkPipelineViewportStateCreateInfo
getField VkPipelineViewportStateCreateInfo
x
          = IO (Ptr VkViewport) -> Ptr VkViewport
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportStateCreateInfo -> Int -> IO (Ptr VkViewport)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportStateCreateInfo
-> Ptr VkPipelineViewportStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportStateCreateInfo
x) (Int
24))
{-# LINE 8689 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportStateCreateInfo
-> IO (FieldType "pViewports" VkPipelineViewportStateCreateInfo)
readField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo -> Int -> IO (Ptr VkViewport)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
24)
{-# LINE 8693 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pViewports" VkPipelineViewportStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportStateCreateInfo
-> FieldType "pViewports" VkPipelineViewportStateCreateInfo
-> IO ()
writeField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo
-> Int -> Ptr VkViewport -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
24)
{-# LINE 8699 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "scissorCount" VkPipelineViewportStateCreateInfo where
        type FieldType "scissorCount" VkPipelineViewportStateCreateInfo =
             Word32
        type FieldOptional "scissorCount" VkPipelineViewportStateCreateInfo
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "scissorCount" VkPipelineViewportStateCreateInfo =
             (32)
{-# LINE 8708 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "scissorCount" VkPipelineViewportStateCreateInfo
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
32)
{-# LINE 8717 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "scissorCount" VkPipelineViewportStateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportStateCreateInfo
-> FieldType "scissorCount" VkPipelineViewportStateCreateInfo
getField VkPipelineViewportStateCreateInfo
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportStateCreateInfo
-> Ptr VkPipelineViewportStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportStateCreateInfo
x) (Int
32))
{-# LINE 8724 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportStateCreateInfo
-> IO (FieldType "scissorCount" VkPipelineViewportStateCreateInfo)
readField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
32)
{-# LINE 8728 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "scissorCount" VkPipelineViewportStateCreateInfo
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportStateCreateInfo
-> FieldType "scissorCount" VkPipelineViewportStateCreateInfo
-> IO ()
writeField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
32)
{-# LINE 8735 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pScissors" VkPipelineViewportStateCreateInfo where
        type FieldType "pScissors" VkPipelineViewportStateCreateInfo =
             Ptr VkRect2D
        type FieldOptional "pScissors" VkPipelineViewportStateCreateInfo =
             'True -- ' closing tick for hsc2hs
        type FieldOffset "pScissors" VkPipelineViewportStateCreateInfo =
             (40)
{-# LINE 8744 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pScissors" VkPipelineViewportStateCreateInfo =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
40)
{-# LINE 8753 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pScissors" VkPipelineViewportStateCreateInfo where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportStateCreateInfo
-> FieldType "pScissors" VkPipelineViewportStateCreateInfo
getField VkPipelineViewportStateCreateInfo
x
          = IO (Ptr VkRect2D) -> Ptr VkRect2D
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportStateCreateInfo -> Int -> IO (Ptr VkRect2D)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportStateCreateInfo
-> Ptr VkPipelineViewportStateCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportStateCreateInfo
x) (Int
40))
{-# LINE 8760 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportStateCreateInfo
-> IO (FieldType "pScissors" VkPipelineViewportStateCreateInfo)
readField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo -> Int -> IO (Ptr VkRect2D)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
40)
{-# LINE 8764 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pScissors" VkPipelineViewportStateCreateInfo where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportStateCreateInfo
-> FieldType "pScissors" VkPipelineViewportStateCreateInfo -> IO ()
writeField Ptr VkPipelineViewportStateCreateInfo
p
          = Ptr VkPipelineViewportStateCreateInfo
-> Int -> Ptr VkRect2D -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportStateCreateInfo
p (Int
40)
{-# LINE 8770 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineViewportStateCreateInfo where
        showsPrec :: Int -> VkPipelineViewportStateCreateInfo -> ShowS
showsPrec Int
d VkPipelineViewportStateCreateInfo
x
          = String -> ShowS
showString String
"VkPipelineViewportStateCreateInfo {" 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 (VkPipelineViewportStateCreateInfo
-> FieldType "sType" VkPipelineViewportStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineViewportStateCreateInfo
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 (VkPipelineViewportStateCreateInfo
-> FieldType "pNext" VkPipelineViewportStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineViewportStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineViewportStateCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineViewportStateCreateInfo
-> FieldType "flags" VkPipelineViewportStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineViewportStateCreateInfo
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
"viewportCount = " 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 (VkPipelineViewportStateCreateInfo
-> FieldType "viewportCount" VkPipelineViewportStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"viewportCount" VkPipelineViewportStateCreateInfo
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
"pViewports = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkViewport -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineViewportStateCreateInfo
-> FieldType "pViewports" VkPipelineViewportStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pViewports" VkPipelineViewportStateCreateInfo
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
"scissorCount = " 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 (VkPipelineViewportStateCreateInfo
-> FieldType "scissorCount" VkPipelineViewportStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"scissorCount" VkPipelineViewportStateCreateInfo
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
"pScissors = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> Ptr VkRect2D -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineViewportStateCreateInfo
-> FieldType "pScissors" VkPipelineViewportStateCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pScissors" VkPipelineViewportStateCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                      Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--   >     uint32_t               viewportCount;
--   >     const VkViewportSwizzleNV*      pViewportSwizzles;
--   > } VkPipelineViewportSwizzleStateCreateInfoNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV registry at www.khronos.org>
data VkPipelineViewportSwizzleStateCreateInfoNV = VkPipelineViewportSwizzleStateCreateInfoNV# Addr#
                                                                                              ByteArray#

instance Eq VkPipelineViewportSwizzleStateCreateInfoNV where
        (VkPipelineViewportSwizzleStateCreateInfoNV# Addr#
a ByteArray#
_) == :: VkPipelineViewportSwizzleStateCreateInfoNV
-> VkPipelineViewportSwizzleStateCreateInfoNV -> Bool
==
          x :: VkPipelineViewportSwizzleStateCreateInfoNV
x@(VkPipelineViewportSwizzleStateCreateInfoNV# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkPipelineViewportSwizzleStateCreateInfoNV -> Int
forall a. Storable a => a -> Int
sizeOf VkPipelineViewportSwizzleStateCreateInfoNV
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkPipelineViewportSwizzleStateCreateInfoNV where
        (VkPipelineViewportSwizzleStateCreateInfoNV# Addr#
a ByteArray#
_) compare :: VkPipelineViewportSwizzleStateCreateInfoNV
-> VkPipelineViewportSwizzleStateCreateInfoNV -> Ordering
`compare`
          x :: VkPipelineViewportSwizzleStateCreateInfoNV
x@(VkPipelineViewportSwizzleStateCreateInfoNV# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkPipelineViewportSwizzleStateCreateInfoNV -> Int
forall a. Storable a => a -> Int
sizeOf VkPipelineViewportSwizzleStateCreateInfoNV
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkPipelineViewportSwizzleStateCreateInfoNV where
        sizeOf :: VkPipelineViewportSwizzleStateCreateInfoNV -> Int
sizeOf ~VkPipelineViewportSwizzleStateCreateInfoNV
_
          = (Int
32)
{-# LINE 8825 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkPipelineViewportSwizzleStateCreateInfoNV -> Int
alignment ~VkPipelineViewportSwizzleStateCreateInfoNV
_
          = Int
8
{-# LINE 8829 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> IO VkPipelineViewportSwizzleStateCreateInfoNV
peek = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> IO VkPipelineViewportSwizzleStateCreateInfoNV
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> VkPipelineViewportSwizzleStateCreateInfoNV -> IO ()
poke = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> VkPipelineViewportSwizzleStateCreateInfoNV -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim
           VkPipelineViewportSwizzleStateCreateInfoNV
         where
        unsafeAddr :: VkPipelineViewportSwizzleStateCreateInfoNV -> Addr#
unsafeAddr (VkPipelineViewportSwizzleStateCreateInfoNV# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkPipelineViewportSwizzleStateCreateInfoNV -> ByteArray#
unsafeByteArray (VkPipelineViewportSwizzleStateCreateInfoNV# Addr#
_ ByteArray#
b)
          = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV
VkPipelineViewportSwizzleStateCreateInfoNV#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineViewportSwizzleStateCreateInfoNV
         where
        type StructFields VkPipelineViewportSwizzleStateCreateInfoNV =
             '["sType", "pNext", "flags", "viewportCount", "pViewportSwizzles"] -- ' closing tick for hsc2hs
        type CUnionType VkPipelineViewportSwizzleStateCreateInfoNV = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineViewportSwizzleStateCreateInfoNV =
             'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineViewportSwizzleStateCreateInfoNV =
             '[VkPipelineViewportStateCreateInfo] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkPipelineViewportSwizzleStateCreateInfoNV where
        type FieldType "sType" VkPipelineViewportSwizzleStateCreateInfoNV =
             VkStructureType
        type FieldOptional "sType"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType" VkPipelineViewportSwizzleStateCreateInfoNV
             =
             (0)
{-# LINE 8875 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "sType"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 8885 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkPipelineViewportSwizzleStateCreateInfoNV
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType "sType" VkPipelineViewportSwizzleStateCreateInfoNV
getField VkPipelineViewportSwizzleStateCreateInfoNV
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportSwizzleStateCreateInfoNV
-> Ptr VkPipelineViewportSwizzleStateCreateInfoNV
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportSwizzleStateCreateInfoNV
x) (Int
0))
{-# LINE 8893 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> IO
     (FieldType "sType" VkPipelineViewportSwizzleStateCreateInfoNV)
readField Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p
          = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p (Int
0)
{-# LINE 8897 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkPipelineViewportSwizzleStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType "sType" VkPipelineViewportSwizzleStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p
          = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p (Int
0)
{-# LINE 8904 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkPipelineViewportSwizzleStateCreateInfoNV where
        type FieldType "pNext" VkPipelineViewportSwizzleStateCreateInfoNV =
             Ptr Void
        type FieldOptional "pNext"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext" VkPipelineViewportSwizzleStateCreateInfoNV
             =
             (8)
{-# LINE 8915 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pNext"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 8925 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkPipelineViewportSwizzleStateCreateInfoNV
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType "pNext" VkPipelineViewportSwizzleStateCreateInfoNV
getField VkPipelineViewportSwizzleStateCreateInfoNV
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportSwizzleStateCreateInfoNV
-> Ptr VkPipelineViewportSwizzleStateCreateInfoNV
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportSwizzleStateCreateInfoNV
x) (Int
8))
{-# LINE 8933 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> IO
     (FieldType "pNext" VkPipelineViewportSwizzleStateCreateInfoNV)
readField Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p
          = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p (Int
8)
{-# LINE 8937 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkPipelineViewportSwizzleStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType "pNext" VkPipelineViewportSwizzleStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p
          = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p (Int
8)
{-# LINE 8944 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkPipelineViewportSwizzleStateCreateInfoNV where
        type FieldType "flags" VkPipelineViewportSwizzleStateCreateInfoNV =
             VkPipelineViewportSwizzleStateCreateFlagsNV
        type FieldOptional "flags"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkPipelineViewportSwizzleStateCreateInfoNV
             =
             (16)
{-# LINE 8955 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "flags"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 8965 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkPipelineViewportSwizzleStateCreateInfoNV
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType "flags" VkPipelineViewportSwizzleStateCreateInfoNV
getField VkPipelineViewportSwizzleStateCreateInfoNV
x
          = IO VkPipelineViewportSwizzleStateCreateFlagsNV
-> VkPipelineViewportSwizzleStateCreateFlagsNV
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> IO VkPipelineViewportSwizzleStateCreateFlagsNV
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportSwizzleStateCreateInfoNV
-> Ptr VkPipelineViewportSwizzleStateCreateInfoNV
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportSwizzleStateCreateInfoNV
x) (Int
16))
{-# LINE 8973 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> IO
     (FieldType "flags" VkPipelineViewportSwizzleStateCreateInfoNV)
readField Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p
          = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> IO VkPipelineViewportSwizzleStateCreateFlagsNV
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p (Int
16)
{-# LINE 8977 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkPipelineViewportSwizzleStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType "flags" VkPipelineViewportSwizzleStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p
          = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> VkPipelineViewportSwizzleStateCreateFlagsNV -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p (Int
16)
{-# LINE 8984 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "viewportCount" VkPipelineViewportSwizzleStateCreateInfoNV
         where
        type FieldType "viewportCount"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = Word32
        type FieldOptional "viewportCount"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "viewportCount"
               VkPipelineViewportSwizzleStateCreateInfoNV
             =
             (20)
{-# LINE 8998 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "viewportCount"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
20)
{-# LINE 9008 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "viewportCount"
           VkPipelineViewportSwizzleStateCreateInfoNV
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType
     "viewportCount" VkPipelineViewportSwizzleStateCreateInfoNV
getField VkPipelineViewportSwizzleStateCreateInfoNV
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportSwizzleStateCreateInfoNV -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportSwizzleStateCreateInfoNV
-> Ptr VkPipelineViewportSwizzleStateCreateInfoNV
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportSwizzleStateCreateInfoNV
x) (Int
20))
{-# LINE 9017 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> IO
     (FieldType
        "viewportCount" VkPipelineViewportSwizzleStateCreateInfoNV)
readField Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p
          = Ptr VkPipelineViewportSwizzleStateCreateInfoNV -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p (Int
20)
{-# LINE 9021 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "viewportCount"
           VkPipelineViewportSwizzleStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType
     "viewportCount" VkPipelineViewportSwizzleStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p
          = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p (Int
20)
{-# LINE 9029 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pViewportSwizzles"
           VkPipelineViewportSwizzleStateCreateInfoNV
         where
        type FieldType "pViewportSwizzles"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = Ptr VkViewportSwizzleNV
        type FieldOptional "pViewportSwizzles"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "pViewportSwizzles"
               VkPipelineViewportSwizzleStateCreateInfoNV
             =
             (24)
{-# LINE 9044 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pViewportSwizzles"
               VkPipelineViewportSwizzleStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 9054 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pViewportSwizzles"
           VkPipelineViewportSwizzleStateCreateInfoNV
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType
     "pViewportSwizzles" VkPipelineViewportSwizzleStateCreateInfoNV
getField VkPipelineViewportSwizzleStateCreateInfoNV
x
          = IO (Ptr VkViewportSwizzleNV) -> Ptr VkViewportSwizzleNV
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> IO (Ptr VkViewportSwizzleNV)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportSwizzleStateCreateInfoNV
-> Ptr VkPipelineViewportSwizzleStateCreateInfoNV
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportSwizzleStateCreateInfoNV
x) (Int
24))
{-# LINE 9063 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> IO
     (FieldType
        "pViewportSwizzles" VkPipelineViewportSwizzleStateCreateInfoNV)
readField Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p
          = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> IO (Ptr VkViewportSwizzleNV)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p (Int
24)
{-# LINE 9067 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pViewportSwizzles"
           VkPipelineViewportSwizzleStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType
     "pViewportSwizzles" VkPipelineViewportSwizzleStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p
          = Ptr VkPipelineViewportSwizzleStateCreateInfoNV
-> Int -> Ptr VkViewportSwizzleNV -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportSwizzleStateCreateInfoNV
p (Int
24)
{-# LINE 9075 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineViewportSwizzleStateCreateInfoNV where
        showsPrec :: Int -> VkPipelineViewportSwizzleStateCreateInfoNV -> ShowS
showsPrec Int
d VkPipelineViewportSwizzleStateCreateInfoNV
x
          = String -> ShowS
showString String
"VkPipelineViewportSwizzleStateCreateInfoNV {" 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 (VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType "sType" VkPipelineViewportSwizzleStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineViewportSwizzleStateCreateInfoNV
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 (VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType "pNext" VkPipelineViewportSwizzleStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineViewportSwizzleStateCreateInfoNV
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineViewportSwizzleStateCreateFlagsNV -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType "flags" VkPipelineViewportSwizzleStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkPipelineViewportSwizzleStateCreateInfoNV
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
"viewportCount = " 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 (VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType
     "viewportCount" VkPipelineViewportSwizzleStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"viewportCount" VkPipelineViewportSwizzleStateCreateInfoNV
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
"pViewportSwizzles = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkViewportSwizzleNV -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineViewportSwizzleStateCreateInfoNV
-> FieldType
     "pViewportSwizzles" VkPipelineViewportSwizzleStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pViewportSwizzles" VkPipelineViewportSwizzleStateCreateInfoNV
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkBool32               viewportWScalingEnable;
--   >     uint32_t               viewportCount;
--   >     const VkViewportWScalingNV*      pViewportWScalings;
--   > } VkPipelineViewportWScalingStateCreateInfoNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV registry at www.khronos.org>
data VkPipelineViewportWScalingStateCreateInfoNV = VkPipelineViewportWScalingStateCreateInfoNV# Addr#
                                                                                                ByteArray#

instance Eq VkPipelineViewportWScalingStateCreateInfoNV where
        (VkPipelineViewportWScalingStateCreateInfoNV# Addr#
a ByteArray#
_) == :: VkPipelineViewportWScalingStateCreateInfoNV
-> VkPipelineViewportWScalingStateCreateInfoNV -> Bool
==
          x :: VkPipelineViewportWScalingStateCreateInfoNV
x@(VkPipelineViewportWScalingStateCreateInfoNV# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkPipelineViewportWScalingStateCreateInfoNV -> Int
forall a. Storable a => a -> Int
sizeOf VkPipelineViewportWScalingStateCreateInfoNV
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkPipelineViewportWScalingStateCreateInfoNV where
        (VkPipelineViewportWScalingStateCreateInfoNV# Addr#
a ByteArray#
_) compare :: VkPipelineViewportWScalingStateCreateInfoNV
-> VkPipelineViewportWScalingStateCreateInfoNV -> Ordering
`compare`
          x :: VkPipelineViewportWScalingStateCreateInfoNV
x@(VkPipelineViewportWScalingStateCreateInfoNV# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkPipelineViewportWScalingStateCreateInfoNV -> Int
forall a. Storable a => a -> Int
sizeOf VkPipelineViewportWScalingStateCreateInfoNV
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkPipelineViewportWScalingStateCreateInfoNV where
        sizeOf :: VkPipelineViewportWScalingStateCreateInfoNV -> Int
sizeOf ~VkPipelineViewportWScalingStateCreateInfoNV
_
          = (Int
32)
{-# LINE 9123 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkPipelineViewportWScalingStateCreateInfoNV -> Int
alignment ~VkPipelineViewportWScalingStateCreateInfoNV
_
          = Int
8
{-# LINE 9127 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> IO VkPipelineViewportWScalingStateCreateInfoNV
peek = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> IO VkPipelineViewportWScalingStateCreateInfoNV
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> VkPipelineViewportWScalingStateCreateInfoNV -> IO ()
poke = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> VkPipelineViewportWScalingStateCreateInfoNV -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim
           VkPipelineViewportWScalingStateCreateInfoNV
         where
        unsafeAddr :: VkPipelineViewportWScalingStateCreateInfoNV -> Addr#
unsafeAddr (VkPipelineViewportWScalingStateCreateInfoNV# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkPipelineViewportWScalingStateCreateInfoNV -> ByteArray#
unsafeByteArray (VkPipelineViewportWScalingStateCreateInfoNV# Addr#
_ ByteArray#
b)
          = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV
VkPipelineViewportWScalingStateCreateInfoNV#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkPipelineViewportWScalingStateCreateInfoNV
         where
        type StructFields VkPipelineViewportWScalingStateCreateInfoNV =
             '["sType", "pNext", "viewportWScalingEnable", "viewportCount", -- ' closing tick for hsc2hs
               "pViewportWScalings"]
        type CUnionType VkPipelineViewportWScalingStateCreateInfoNV =
             'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkPipelineViewportWScalingStateCreateInfoNV =
             'False -- ' closing tick for hsc2hs
        type StructExtends VkPipelineViewportWScalingStateCreateInfoNV =
             '[VkPipelineViewportStateCreateInfo] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkPipelineViewportWScalingStateCreateInfoNV where
        type FieldType "sType" VkPipelineViewportWScalingStateCreateInfoNV
             = VkStructureType
        type FieldOptional "sType"
               VkPipelineViewportWScalingStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType"
               VkPipelineViewportWScalingStateCreateInfoNV
             =
             (0)
{-# LINE 9176 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "sType"
               VkPipelineViewportWScalingStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 9186 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkPipelineViewportWScalingStateCreateInfoNV
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType "sType" VkPipelineViewportWScalingStateCreateInfoNV
getField VkPipelineViewportWScalingStateCreateInfoNV
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportWScalingStateCreateInfoNV
-> Ptr VkPipelineViewportWScalingStateCreateInfoNV
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportWScalingStateCreateInfoNV
x) (Int
0))
{-# LINE 9194 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> IO
     (FieldType "sType" VkPipelineViewportWScalingStateCreateInfoNV)
readField Ptr VkPipelineViewportWScalingStateCreateInfoNV
p
          = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportWScalingStateCreateInfoNV
p (Int
0)
{-# LINE 9198 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkPipelineViewportWScalingStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType "sType" VkPipelineViewportWScalingStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineViewportWScalingStateCreateInfoNV
p
          = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportWScalingStateCreateInfoNV
p (Int
0)
{-# LINE 9205 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkPipelineViewportWScalingStateCreateInfoNV where
        type FieldType "pNext" VkPipelineViewportWScalingStateCreateInfoNV
             = Ptr Void
        type FieldOptional "pNext"
               VkPipelineViewportWScalingStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext"
               VkPipelineViewportWScalingStateCreateInfoNV
             =
             (8)
{-# LINE 9217 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pNext"
               VkPipelineViewportWScalingStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 9227 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkPipelineViewportWScalingStateCreateInfoNV
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType "pNext" VkPipelineViewportWScalingStateCreateInfoNV
getField VkPipelineViewportWScalingStateCreateInfoNV
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportWScalingStateCreateInfoNV
-> Ptr VkPipelineViewportWScalingStateCreateInfoNV
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportWScalingStateCreateInfoNV
x) (Int
8))
{-# LINE 9235 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> IO
     (FieldType "pNext" VkPipelineViewportWScalingStateCreateInfoNV)
readField Ptr VkPipelineViewportWScalingStateCreateInfoNV
p
          = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportWScalingStateCreateInfoNV
p (Int
8)
{-# LINE 9239 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkPipelineViewportWScalingStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType "pNext" VkPipelineViewportWScalingStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineViewportWScalingStateCreateInfoNV
p
          = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportWScalingStateCreateInfoNV
p (Int
8)
{-# LINE 9246 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "viewportWScalingEnable"
           VkPipelineViewportWScalingStateCreateInfoNV
         where
        type FieldType "viewportWScalingEnable"
               VkPipelineViewportWScalingStateCreateInfoNV
             = VkBool32
        type FieldOptional "viewportWScalingEnable"
               VkPipelineViewportWScalingStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "viewportWScalingEnable"
               VkPipelineViewportWScalingStateCreateInfoNV
             =
             (16)
{-# LINE 9261 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "viewportWScalingEnable"
               VkPipelineViewportWScalingStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 9271 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "viewportWScalingEnable"
           VkPipelineViewportWScalingStateCreateInfoNV
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType
     "viewportWScalingEnable"
     VkPipelineViewportWScalingStateCreateInfoNV
getField VkPipelineViewportWScalingStateCreateInfoNV
x
          = IO VkBool32 -> VkBool32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportWScalingStateCreateInfoNV
-> Ptr VkPipelineViewportWScalingStateCreateInfoNV
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportWScalingStateCreateInfoNV
x) (Int
16))
{-# LINE 9280 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> IO
     (FieldType
        "viewportWScalingEnable"
        VkPipelineViewportWScalingStateCreateInfoNV)
readField Ptr VkPipelineViewportWScalingStateCreateInfoNV
p
          = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> IO VkBool32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportWScalingStateCreateInfoNV
p (Int
16)
{-# LINE 9284 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "viewportWScalingEnable"
           VkPipelineViewportWScalingStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType
     "viewportWScalingEnable"
     VkPipelineViewportWScalingStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineViewportWScalingStateCreateInfoNV
p
          = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> VkBool32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportWScalingStateCreateInfoNV
p (Int
16)
{-# LINE 9292 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "viewportCount"
           VkPipelineViewportWScalingStateCreateInfoNV
         where
        type FieldType "viewportCount"
               VkPipelineViewportWScalingStateCreateInfoNV
             = Word32
        type FieldOptional "viewportCount"
               VkPipelineViewportWScalingStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "viewportCount"
               VkPipelineViewportWScalingStateCreateInfoNV
             =
             (20)
{-# LINE 9307 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "viewportCount"
               VkPipelineViewportWScalingStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
20)
{-# LINE 9317 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "viewportCount"
           VkPipelineViewportWScalingStateCreateInfoNV
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType
     "viewportCount" VkPipelineViewportWScalingStateCreateInfoNV
getField VkPipelineViewportWScalingStateCreateInfoNV
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportWScalingStateCreateInfoNV -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportWScalingStateCreateInfoNV
-> Ptr VkPipelineViewportWScalingStateCreateInfoNV
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportWScalingStateCreateInfoNV
x) (Int
20))
{-# LINE 9326 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> IO
     (FieldType
        "viewportCount" VkPipelineViewportWScalingStateCreateInfoNV)
readField Ptr VkPipelineViewportWScalingStateCreateInfoNV
p
          = Ptr VkPipelineViewportWScalingStateCreateInfoNV -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportWScalingStateCreateInfoNV
p (Int
20)
{-# LINE 9330 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "viewportCount"
           VkPipelineViewportWScalingStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType
     "viewportCount" VkPipelineViewportWScalingStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineViewportWScalingStateCreateInfoNV
p
          = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportWScalingStateCreateInfoNV
p (Int
20)
{-# LINE 9338 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pViewportWScalings"
           VkPipelineViewportWScalingStateCreateInfoNV
         where
        type FieldType "pViewportWScalings"
               VkPipelineViewportWScalingStateCreateInfoNV
             = Ptr VkViewportWScalingNV
        type FieldOptional "pViewportWScalings"
               VkPipelineViewportWScalingStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pViewportWScalings"
               VkPipelineViewportWScalingStateCreateInfoNV
             =
             (24)
{-# LINE 9353 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
        type FieldIsArray "pViewportWScalings"
               VkPipelineViewportWScalingStateCreateInfoNV
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 9363 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pViewportWScalings"
           VkPipelineViewportWScalingStateCreateInfoNV
         where
        {-# NOINLINE getField #-}
        getField :: VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType
     "pViewportWScalings" VkPipelineViewportWScalingStateCreateInfoNV
getField VkPipelineViewportWScalingStateCreateInfoNV
x
          = IO (Ptr VkViewportWScalingNV) -> Ptr VkViewportWScalingNV
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> IO (Ptr VkViewportWScalingNV)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkPipelineViewportWScalingStateCreateInfoNV
-> Ptr VkPipelineViewportWScalingStateCreateInfoNV
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkPipelineViewportWScalingStateCreateInfoNV
x) (Int
24))
{-# LINE 9372 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> IO
     (FieldType
        "pViewportWScalings" VkPipelineViewportWScalingStateCreateInfoNV)
readField Ptr VkPipelineViewportWScalingStateCreateInfoNV
p
          = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> IO (Ptr VkViewportWScalingNV)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkPipelineViewportWScalingStateCreateInfoNV
p (Int
24)
{-# LINE 9376 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pViewportWScalings"
           VkPipelineViewportWScalingStateCreateInfoNV
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType
     "pViewportWScalings" VkPipelineViewportWScalingStateCreateInfoNV
-> IO ()
writeField Ptr VkPipelineViewportWScalingStateCreateInfoNV
p
          = Ptr VkPipelineViewportWScalingStateCreateInfoNV
-> Int -> Ptr VkViewportWScalingNV -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkPipelineViewportWScalingStateCreateInfoNV
p (Int
24)
{-# LINE 9384 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}

instance Show VkPipelineViewportWScalingStateCreateInfoNV where
        showsPrec :: Int -> VkPipelineViewportWScalingStateCreateInfoNV -> ShowS
showsPrec Int
d VkPipelineViewportWScalingStateCreateInfoNV
x
          = String -> ShowS
showString String
"VkPipelineViewportWScalingStateCreateInfoNV {" 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 (VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType "sType" VkPipelineViewportWScalingStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkPipelineViewportWScalingStateCreateInfoNV
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 (VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType "pNext" VkPipelineViewportWScalingStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkPipelineViewportWScalingStateCreateInfoNV
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
"viewportWScalingEnable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkBool32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType
     "viewportWScalingEnable"
     VkPipelineViewportWScalingStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"viewportWScalingEnable" VkPipelineViewportWScalingStateCreateInfoNV
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
"viewportCount = " 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 (VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType
     "viewportCount" VkPipelineViewportWScalingStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"viewportCount" VkPipelineViewportWScalingStateCreateInfoNV
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
"pViewportWScalings = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr VkViewportWScalingNV -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkPipelineViewportWScalingStateCreateInfoNV
-> FieldType
     "pViewportWScalings" VkPipelineViewportWScalingStateCreateInfoNV
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pViewportWScalings" VkPipelineViewportWScalingStateCreateInfoNV
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                          Char -> ShowS
showChar Char
'}'