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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
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 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)

-- | > 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>
type VkGraphicsPipelineCreateInfo =
     VkStruct VkGraphicsPipelineCreateInfo' -- ' closing tick for hsc2hs

data VkGraphicsPipelineCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkGraphicsPipelineCreateInfo where
    type StructRep VkGraphicsPipelineCreateInfo =
         'StructMeta "VkGraphicsPipelineCreateInfo" -- ' closing tick for hsc2hs
           VkGraphicsPipelineCreateInfo
           (144)
{-# LINE 124 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 125 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 127 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 132 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineCreateFlags 'True
                                                             (16)
{-# LINE 137 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "stageCount" Word32 'False
                                                    (20)
{-# LINE 142 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pStages" (Ptr VkPipelineShaderStageCreateInfo) 'False
                (24)
{-# LINE 147 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pVertexInputState" -- ' closing tick for hsc2hs
                (Ptr VkPipelineVertexInputStateCreateInfo)
                'False -- ' closing tick for hsc2hs
                (32)
{-# LINE 154 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pInputAssemblyState" -- ' closing tick for hsc2hs
                (Ptr VkPipelineInputAssemblyStateCreateInfo)
                'False -- ' closing tick for hsc2hs
                (40)
{-# LINE 161 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pTessellationState" -- ' closing tick for hsc2hs
                (Ptr VkPipelineTessellationStateCreateInfo)
                'True -- ' closing tick for hsc2hs
                (48)
{-# LINE 168 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pViewportState" -- ' closing tick for hsc2hs
                (Ptr VkPipelineViewportStateCreateInfo)
                'True -- ' closing tick for hsc2hs
                (56)
{-# LINE 175 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pRasterizationState" -- ' closing tick for hsc2hs
                (Ptr VkPipelineRasterizationStateCreateInfo)
                'False -- ' closing tick for hsc2hs
                (64)
{-# LINE 182 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pMultisampleState" -- ' closing tick for hsc2hs
                (Ptr VkPipelineMultisampleStateCreateInfo)
                'True -- ' closing tick for hsc2hs
                (72)
{-# LINE 189 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pDepthStencilState" -- ' closing tick for hsc2hs
                (Ptr VkPipelineDepthStencilStateCreateInfo)
                'True -- ' closing tick for hsc2hs
                (80)
{-# LINE 196 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pColorBlendState" -- ' closing tick for hsc2hs
                (Ptr VkPipelineColorBlendStateCreateInfo)
                'True -- ' closing tick for hsc2hs
                (88)
{-# LINE 203 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pDynamicState" (Ptr VkPipelineDynamicStateCreateInfo) -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (96)
{-# LINE 209 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "layout" VkPipelineLayout 'False
                                                          (104)
{-# LINE 214 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "renderPass" VkRenderPass 'False
                                                          (112)
{-# LINE 219 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subpass" Word32 'False
                                                 (120)
{-# LINE 224 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "basePipelineHandle" VkPipeline 'True
                                                               (128)
{-# LINE 229 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "basePipelineIndex" Int32 'False
                                                          (136)
{-# LINE 234 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineCacheCreateInfo =
     VkStruct VkPipelineCacheCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineCacheCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineCacheCreateInfo where
    type StructRep VkPipelineCacheCreateInfo =
         'StructMeta "VkPipelineCacheCreateInfo" VkPipelineCacheCreateInfo -- ' closing tick for hsc2hs
           (40)
{-# LINE 259 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 260 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 262 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 267 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineCacheCreateFlags 'True
                                                                  (16)
{-# LINE 272 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "initialDataSize" CSize 'True
                                                       (24)
{-# LINE 277 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pInitialData" (Ptr Void) 'False
                                                          (32)
{-# LINE 282 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineColorBlendAdvancedStateCreateInfoEXT =
     VkStruct VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- ' closing tick for hsc2hs

data VkPipelineColorBlendAdvancedStateCreateInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineColorBlendAdvancedStateCreateInfoEXT
         where
    type StructRep VkPipelineColorBlendAdvancedStateCreateInfoEXT =
         'StructMeta "VkPipelineColorBlendAdvancedStateCreateInfoEXT" -- ' closing tick for hsc2hs
           VkPipelineColorBlendAdvancedStateCreateInfoEXT
           (32)
{-# LINE 310 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 311 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 313 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 318 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "srcPremultiplied" VkBool32 'False
                                                            (16)
{-# LINE 323 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dstPremultiplied" VkBool32 'False
                                                            (20)
{-# LINE 328 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "blendOverlap" VkBlendOverlapEXT 'False
                                                                 (24)
{-# LINE 333 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPipelineColorBlendStateCreateInfo] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineColorBlendAttachmentState =
     VkStruct VkPipelineColorBlendAttachmentState' -- ' closing tick for hsc2hs

data VkPipelineColorBlendAttachmentState' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineColorBlendAttachmentState where
    type StructRep VkPipelineColorBlendAttachmentState =
         'StructMeta "VkPipelineColorBlendAttachmentState" -- ' closing tick for hsc2hs
           VkPipelineColorBlendAttachmentState
           (32)
{-# LINE 362 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           4
{-# LINE 363 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "blendEnable" VkBool32 'False  -- ' closing tick for hsc2hs
                                                       (0)
{-# LINE 365 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "srcColorBlendFactor" VkBlendFactor 'False
                                                                    (4)
{-# LINE 370 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dstColorBlendFactor" VkBlendFactor 'False
                                                                    (8)
{-# LINE 375 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "colorBlendOp" VkBlendOp 'False
                                                         (12)
{-# LINE 380 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "srcAlphaBlendFactor" VkBlendFactor 'False
                                                                    (16)
{-# LINE 385 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dstAlphaBlendFactor" VkBlendFactor 'False
                                                                    (20)
{-# LINE 390 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "alphaBlendOp" VkBlendOp 'False
                                                         (24)
{-# LINE 395 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "colorWriteMask" VkColorComponentFlags 'True
                                                                      (28)
{-# LINE 400 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineColorBlendStateCreateInfo =
     VkStruct VkPipelineColorBlendStateCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineColorBlendStateCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineColorBlendStateCreateInfo where
    type StructRep VkPipelineColorBlendStateCreateInfo =
         'StructMeta "VkPipelineColorBlendStateCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineColorBlendStateCreateInfo
           (56)
{-# LINE 429 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 430 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 432 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 437 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineColorBlendStateCreateFlags 'True
                (16)
{-# LINE 442 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "logicOpEnable" VkBool32 'False
                                                         (20)
{-# LINE 447 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "logicOp" VkLogicOp 'False
                                                    (24)
{-# LINE 452 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "attachmentCount" Word32 'True
                                                        (28)
{-# LINE 457 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pAttachments" -- ' closing tick for hsc2hs
                (Ptr VkPipelineColorBlendAttachmentState)
                'False -- ' closing tick for hsc2hs
                (32)
{-# LINE 464 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "blendConstants" ( -- ' closing tick for hsc2hs
                                           Float
{-# LINE 469 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (40)
{-# LINE 471 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                4
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineCoverageModulationStateCreateInfoNV =
     VkStruct VkPipelineCoverageModulationStateCreateInfoNV' -- ' closing tick for hsc2hs

data VkPipelineCoverageModulationStateCreateInfoNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineCoverageModulationStateCreateInfoNV
         where
    type StructRep VkPipelineCoverageModulationStateCreateInfoNV =
         'StructMeta "VkPipelineCoverageModulationStateCreateInfoNV" -- ' closing tick for hsc2hs
           VkPipelineCoverageModulationStateCreateInfoNV
           (40)
{-# LINE 501 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 502 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 504 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 509 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineCoverageModulationStateCreateFlagsNV -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (16)
{-# LINE 515 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "coverageModulationMode" VkCoverageModulationModeNV -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 521 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "coverageModulationTableEnable" VkBool32 'False
                (24)
{-# LINE 526 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "coverageModulationTableCount" Word32 'False
                                                                      (28)
{-# LINE 531 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pCoverageModulationTable" -- ' closing tick for hsc2hs
                (Ptr Float)
{-# LINE 536 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                'True -- ' closing tick for hsc2hs
                (32)
{-# LINE 538 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineCoverageToColorStateCreateInfoNV =
     VkStruct VkPipelineCoverageToColorStateCreateInfoNV' -- ' closing tick for hsc2hs

data VkPipelineCoverageToColorStateCreateInfoNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineCoverageToColorStateCreateInfoNV
         where
    type StructRep VkPipelineCoverageToColorStateCreateInfoNV =
         'StructMeta "VkPipelineCoverageToColorStateCreateInfoNV" -- ' closing tick for hsc2hs
           VkPipelineCoverageToColorStateCreateInfoNV
           (32)
{-# LINE 565 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 566 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 568 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 573 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineCoverageToColorStateCreateFlagsNV -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (16)
{-# LINE 579 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "coverageToColorEnable" VkBool32 'False
                                                                 (20)
{-# LINE 584 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "coverageToColorLocation" Word32 'True
                                                                (24)
{-# LINE 589 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineDepthStencilStateCreateInfo =
     VkStruct VkPipelineDepthStencilStateCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineDepthStencilStateCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineDepthStencilStateCreateInfo where
    type StructRep VkPipelineDepthStencilStateCreateInfo =
         'StructMeta "VkPipelineDepthStencilStateCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineDepthStencilStateCreateInfo
           (104)
{-# LINE 622 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 623 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 625 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 630 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineDepthStencilStateCreateFlags 'True
                (16)
{-# LINE 635 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthTestEnable" VkBool32 'False
                                                           (20)
{-# LINE 640 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthWriteEnable" VkBool32 'False
                                                            (24)
{-# LINE 645 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthCompareOp" VkCompareOp 'False
                                                             (28)
{-# LINE 650 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthBoundsTestEnable" VkBool32 'False
                                                                 (32)
{-# LINE 655 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "stencilTestEnable" VkBool32 'False
                                                             (36)
{-# LINE 660 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "front" VkStencilOpState 'False
                                                         (40)
{-# LINE 665 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "back" VkStencilOpState 'False
                                                        (68)
{-# LINE 670 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minDepthBounds" ( -- ' closing tick for hsc2hs
                                           Float
{-# LINE 675 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (96)
{-# LINE 677 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDepthBounds" ( -- ' closing tick for hsc2hs
                                           Float
{-# LINE 682 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (100)
{-# LINE 684 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineDiscardRectangleStateCreateInfoEXT =
     VkStruct VkPipelineDiscardRectangleStateCreateInfoEXT' -- ' closing tick for hsc2hs

data VkPipelineDiscardRectangleStateCreateInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineDiscardRectangleStateCreateInfoEXT
         where
    type StructRep VkPipelineDiscardRectangleStateCreateInfoEXT =
         'StructMeta "VkPipelineDiscardRectangleStateCreateInfoEXT" -- ' closing tick for hsc2hs
           VkPipelineDiscardRectangleStateCreateInfoEXT
           (40)
{-# LINE 712 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 713 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 715 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 720 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineDiscardRectangleStateCreateFlagsEXT -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (16)
{-# LINE 726 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "discardRectangleMode" VkDiscardRectangleModeEXT 'False
                (20)
{-# LINE 731 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "discardRectangleCount" Word32 'True
                                                              (24)
{-# LINE 736 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pDiscardRectangles" (Ptr VkRect2D) 'True
                                                                   (32)
{-# LINE 741 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkGraphicsPipelineCreateInfo] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineDynamicStateCreateInfo =
     VkStruct VkPipelineDynamicStateCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineDynamicStateCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineDynamicStateCreateInfo where
    type StructRep VkPipelineDynamicStateCreateInfo =
         'StructMeta "VkPipelineDynamicStateCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineDynamicStateCreateInfo
           (32)
{-# LINE 767 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 768 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 770 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 775 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineDynamicStateCreateFlags 'True
                (16)
{-# LINE 780 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dynamicStateCount" Word32 'False
                                                           (20)
{-# LINE 785 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pDynamicStates" (Ptr VkDynamicState) 'False
                                                                      (24)
{-# LINE 790 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineInputAssemblyStateCreateInfo =
     VkStruct VkPipelineInputAssemblyStateCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineInputAssemblyStateCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineInputAssemblyStateCreateInfo where
    type StructRep VkPipelineInputAssemblyStateCreateInfo =
         'StructMeta "VkPipelineInputAssemblyStateCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineInputAssemblyStateCreateInfo
           (32)
{-# LINE 816 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 817 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 819 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 824 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineInputAssemblyStateCreateFlags 'True
                (16)
{-# LINE 829 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "topology" VkPrimitiveTopology 'False
                                                               (20)
{-# LINE 834 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "primitiveRestartEnable" VkBool32 'False
                                                                  (24)
{-# LINE 839 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineLayoutCreateInfo =
     VkStruct VkPipelineLayoutCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineLayoutCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineLayoutCreateInfo where
    type StructRep VkPipelineLayoutCreateInfo =
         'StructMeta "VkPipelineLayoutCreateInfo" VkPipelineLayoutCreateInfo -- ' closing tick for hsc2hs
           (48)
{-# LINE 866 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 867 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 869 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 874 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineLayoutCreateFlags 'True
                                                                   (16)
{-# LINE 879 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "setLayoutCount" Word32 'True
                                                       (20)
{-# LINE 884 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pSetLayouts" (Ptr VkDescriptorSetLayout) 'False
                (24)
{-# LINE 889 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pushConstantRangeCount" Word32 'True
                                                               (32)
{-# LINE 894 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pPushConstantRanges" (Ptr VkPushConstantRange) 'False
                (40)
{-# LINE 899 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineMultisampleStateCreateInfo =
     VkStruct VkPipelineMultisampleStateCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineMultisampleStateCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineMultisampleStateCreateInfo where
    type StructRep VkPipelineMultisampleStateCreateInfo =
         'StructMeta "VkPipelineMultisampleStateCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineMultisampleStateCreateInfo
           (48)
{-# LINE 929 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 930 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 932 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 937 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineMultisampleStateCreateFlags 'True
                (16)
{-# LINE 942 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "rasterizationSamples" VkSampleCountFlagBits 'False
                (20)
{-# LINE 947 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampleShadingEnable" VkBool32 'False
                                                               (24)
{-# LINE 952 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minSampleShading" ( -- ' closing tick for hsc2hs
                                             Float
{-# LINE 957 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                             ) 'False -- ' closing tick for hsc2hs
                (28)
{-# LINE 959 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pSampleMask" (Ptr VkSampleMask) 'True
                                                                (32)
{-# LINE 964 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "alphaToCoverageEnable" VkBool32 'False
                                                                 (40)
{-# LINE 969 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "alphaToOneEnable" VkBool32 'False
                                                            (44)
{-# LINE 974 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineRasterizationConservativeStateCreateInfoEXT =
     VkStruct VkPipelineRasterizationConservativeStateCreateInfoEXT' -- ' closing tick for hsc2hs

data VkPipelineRasterizationConservativeStateCreateInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineRasterizationConservativeStateCreateInfoEXT
         where
    type StructRep
           VkPipelineRasterizationConservativeStateCreateInfoEXT
         =
         'StructMeta "VkPipelineRasterizationConservativeStateCreateInfoEXT" -- ' closing tick for hsc2hs
           VkPipelineRasterizationConservativeStateCreateInfoEXT
           (32)
{-# LINE 1004 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1005 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1007 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1012 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" -- ' closing tick for hsc2hs
                VkPipelineRasterizationConservativeStateCreateFlagsEXT
                'True -- ' closing tick for hsc2hs
                (16)
{-# LINE 1019 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "conservativeRasterizationMode" -- ' closing tick for hsc2hs
                VkConservativeRasterizationModeEXT
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 1026 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "extraPrimitiveOverestimationSize" -- ' closing tick for hsc2hs
                (Float)
{-# LINE 1031 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 1033 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPipelineRasterizationStateCreateInfo] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineRasterizationStateCreateInfo =
     VkStruct VkPipelineRasterizationStateCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineRasterizationStateCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineRasterizationStateCreateInfo where
    type StructRep VkPipelineRasterizationStateCreateInfo =
         'StructMeta "VkPipelineRasterizationStateCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineRasterizationStateCreateInfo
           (64)
{-# LINE 1067 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1068 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1070 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1075 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineRasterizationStateCreateFlags 'True
                (16)
{-# LINE 1080 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthClampEnable" VkBool32 'False
                                                            (20)
{-# LINE 1085 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "rasterizerDiscardEnable" VkBool32 'False
                                                                   (24)
{-# LINE 1090 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "polygonMode" VkPolygonMode 'False
                                                            (28)
{-# LINE 1095 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "cullMode" VkCullModeFlags 'True
                                                          (32)
{-# LINE 1100 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "frontFace" VkFrontFace 'False
                                                        (36)
{-# LINE 1105 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthBiasEnable" VkBool32 'False
                                                           (40)
{-# LINE 1110 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthBiasConstantFactor" ( -- ' closing tick for hsc2hs
                                                    Float)
{-# LINE 1115 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (44)
{-# LINE 1117 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthBiasClamp" ( -- ' closing tick for hsc2hs
                                           Float
{-# LINE 1122 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (48)
{-# LINE 1124 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthBiasSlopeFactor" ( -- ' closing tick for hsc2hs
                                                 Float)
{-# LINE 1129 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (52)
{-# LINE 1131 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "lineWidth" ( -- ' closing tick for hsc2hs
                                      Float
{-# LINE 1136 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                      ) 'False -- ' closing tick for hsc2hs
                (56)
{-# LINE 1138 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineRasterizationStateRasterizationOrderAMD =
     VkStruct VkPipelineRasterizationStateRasterizationOrderAMD' -- ' closing tick for hsc2hs

data VkPipelineRasterizationStateRasterizationOrderAMD' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineRasterizationStateRasterizationOrderAMD
         where
    type StructRep VkPipelineRasterizationStateRasterizationOrderAMD =
         'StructMeta "VkPipelineRasterizationStateRasterizationOrderAMD" -- ' closing tick for hsc2hs
           VkPipelineRasterizationStateRasterizationOrderAMD
           (24)
{-# LINE 1164 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1165 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1167 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1172 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "rasterizationOrder" VkRasterizationOrderAMD 'False
                (16)
{-# LINE 1177 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPipelineRasterizationStateCreateInfo] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineSampleLocationsStateCreateInfoEXT =
     VkStruct VkPipelineSampleLocationsStateCreateInfoEXT' -- ' closing tick for hsc2hs

data VkPipelineSampleLocationsStateCreateInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineSampleLocationsStateCreateInfoEXT
         where
    type StructRep VkPipelineSampleLocationsStateCreateInfoEXT =
         'StructMeta "VkPipelineSampleLocationsStateCreateInfoEXT" -- ' closing tick for hsc2hs
           VkPipelineSampleLocationsStateCreateInfoEXT
           (64)
{-# LINE 1203 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1204 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1206 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1211 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampleLocationsEnable" VkBool32 'False
                                                                 (16)
{-# LINE 1216 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampleLocationsInfo" VkSampleLocationsInfoEXT 'False
                (24)
{-# LINE 1221 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPipelineMultisampleStateCreateInfo] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineShaderStageCreateInfo =
     VkStruct VkPipelineShaderStageCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineShaderStageCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineShaderStageCreateInfo where
    type StructRep VkPipelineShaderStageCreateInfo =
         'StructMeta "VkPipelineShaderStageCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineShaderStageCreateInfo
           (48)
{-# LINE 1249 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1250 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1252 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1257 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineShaderStageCreateFlags 'True
                (16)
{-# LINE 1262 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "stage" VkShaderStageFlagBits 'False
                                                              (20)
{-# LINE 1267 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "module" VkShaderModule 'False
                                                        (24)
{-# LINE 1272 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pName" CString 'False
                                                (32)
{-# LINE 1277 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pSpecializationInfo" (Ptr VkSpecializationInfo) 'True
                (40)
{-# LINE 1282 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineTessellationDomainOriginStateCreateInfo =
     VkStruct VkPipelineTessellationDomainOriginStateCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineTessellationDomainOriginStateCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineTessellationDomainOriginStateCreateInfo
         where
    type StructRep VkPipelineTessellationDomainOriginStateCreateInfo =
         'StructMeta "VkPipelineTessellationDomainOriginStateCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineTessellationDomainOriginStateCreateInfo
           (24)
{-# LINE 1308 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1309 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1311 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1316 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "domainOrigin" VkTessellationDomainOrigin 'False
                (16)
{-# LINE 1321 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPipelineTessellationStateCreateInfo] -- ' closing tick for hsc2hs

-- | 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>
type VkPipelineTessellationStateCreateInfo =
     VkStruct VkPipelineTessellationStateCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineTessellationStateCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineTessellationStateCreateInfo where
    type StructRep VkPipelineTessellationStateCreateInfo =
         'StructMeta "VkPipelineTessellationStateCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineTessellationStateCreateInfo
           (24)
{-# LINE 1350 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1351 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1353 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1358 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineTessellationStateCreateFlags 'True
                (16)
{-# LINE 1363 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "patchControlPoints" Word32 'False
                                                            (20)
{-# LINE 1368 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineVertexInputDivisorStateCreateInfoEXT =
     VkStruct VkPipelineVertexInputDivisorStateCreateInfoEXT' -- ' closing tick for hsc2hs

data VkPipelineVertexInputDivisorStateCreateInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineVertexInputDivisorStateCreateInfoEXT
         where
    type StructRep VkPipelineVertexInputDivisorStateCreateInfoEXT =
         'StructMeta "VkPipelineVertexInputDivisorStateCreateInfoEXT" -- ' closing tick for hsc2hs
           VkPipelineVertexInputDivisorStateCreateInfoEXT
           (32)
{-# LINE 1395 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1396 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1398 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1403 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vertexBindingDivisorCount" Word32 'False
                                                                   (16)
{-# LINE 1408 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pVertexBindingDivisors" -- ' closing tick for hsc2hs
                (Ptr VkVertexInputBindingDivisorDescriptionEXT)
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 1415 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPipelineVertexInputStateCreateInfo] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineVertexInputStateCreateInfo =
     VkStruct VkPipelineVertexInputStateCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineVertexInputStateCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineVertexInputStateCreateInfo where
    type StructRep VkPipelineVertexInputStateCreateInfo =
         'StructMeta "VkPipelineVertexInputStateCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineVertexInputStateCreateInfo
           (48)
{-# LINE 1443 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1444 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1446 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1451 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineVertexInputStateCreateFlags 'True
                (16)
{-# LINE 1456 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vertexBindingDescriptionCount" Word32 'True
                                                                      (20)
{-# LINE 1461 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pVertexBindingDescriptions" -- ' closing tick for hsc2hs
                (Ptr VkVertexInputBindingDescription)
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 1468 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vertexAttributeDescriptionCount" Word32 'True
                (32)
{-# LINE 1473 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pVertexAttributeDescriptions" -- ' closing tick for hsc2hs
                (Ptr VkVertexInputAttributeDescription)
                'False -- ' closing tick for hsc2hs
                (40)
{-# LINE 1480 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineViewportStateCreateInfo =
     VkStruct VkPipelineViewportStateCreateInfo' -- ' closing tick for hsc2hs

data VkPipelineViewportStateCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineViewportStateCreateInfo where
    type StructRep VkPipelineViewportStateCreateInfo =
         'StructMeta "VkPipelineViewportStateCreateInfo" -- ' closing tick for hsc2hs
           VkPipelineViewportStateCreateInfo
           (48)
{-# LINE 1508 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1509 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1511 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1516 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineViewportStateCreateFlags 'True
                (16)
{-# LINE 1521 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "viewportCount" Word32 'False
                                                       (20)
{-# LINE 1526 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pViewports" (Ptr VkViewport) 'True
                                                             (24)
{-# LINE 1531 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "scissorCount" Word32 'False
                                                      (32)
{-# LINE 1536 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pScissors" (Ptr VkRect2D) 'True
                                                          (40)
{-# LINE 1541 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineViewportSwizzleStateCreateInfoNV =
     VkStruct VkPipelineViewportSwizzleStateCreateInfoNV' -- ' closing tick for hsc2hs

data VkPipelineViewportSwizzleStateCreateInfoNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineViewportSwizzleStateCreateInfoNV
         where
    type StructRep VkPipelineViewportSwizzleStateCreateInfoNV =
         'StructMeta "VkPipelineViewportSwizzleStateCreateInfoNV" -- ' closing tick for hsc2hs
           VkPipelineViewportSwizzleStateCreateInfoNV
           (32)
{-# LINE 1568 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1569 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1571 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1576 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineViewportSwizzleStateCreateFlagsNV -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (16)
{-# LINE 1582 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "viewportCount" Word32 'False
                                                       (20)
{-# LINE 1587 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pViewportSwizzles" (Ptr VkViewportSwizzleNV) 'True
                (24)
{-# LINE 1592 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPipelineViewportStateCreateInfo] -- ' closing tick for hsc2hs

-- | > 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>
type VkPipelineViewportWScalingStateCreateInfoNV =
     VkStruct VkPipelineViewportWScalingStateCreateInfoNV' -- ' closing tick for hsc2hs

data VkPipelineViewportWScalingStateCreateInfoNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineViewportWScalingStateCreateInfoNV
         where
    type StructRep VkPipelineViewportWScalingStateCreateInfoNV =
         'StructMeta "VkPipelineViewportWScalingStateCreateInfoNV" -- ' closing tick for hsc2hs
           VkPipelineViewportWScalingStateCreateInfoNV
           (32)
{-# LINE 1619 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1620 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1622 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 1627 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "viewportWScalingEnable" VkBool32 'False
                                                                  (16)
{-# LINE 1632 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "viewportCount" Word32 'False
                                                       (20)
{-# LINE 1637 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pViewportWScalings" (Ptr VkViewportWScalingNV) 'False
                (24)
{-# LINE 1642 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPipelineViewportStateCreateInfo] -- ' closing tick for hsc2hs