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


{-# LANGUAGE CPP             #-}
{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.Pipeline
       (VkGraphicsPipelineCreateInfo, VkPipelineCacheCreateInfo,
        VkPipelineColorBlendAdvancedStateCreateInfoEXT,
        VkPipelineColorBlendAttachmentState,
        VkPipelineColorBlendStateCreateInfo,
        VkPipelineCompilerControlCreateInfoAMD,
        VkPipelineCoverageModulationStateCreateInfoNV,
        VkPipelineCoverageReductionStateCreateInfoNV,
        VkPipelineCoverageToColorStateCreateInfoNV,
        VkPipelineCreationFeedbackCreateInfoEXT,
        VkPipelineCreationFeedbackEXT,
        VkPipelineDepthStencilStateCreateInfo,
        VkPipelineDiscardRectangleStateCreateInfoEXT,
        VkPipelineDynamicStateCreateInfo, VkPipelineExecutableInfoKHR,
        VkPipelineExecutableInternalRepresentationKHR,
        VkPipelineExecutablePropertiesKHR,
        VkPipelineExecutableStatisticKHR,
        VkPipelineExecutableStatisticValueKHR, VkPipelineInfoKHR,
        VkPipelineInputAssemblyStateCreateInfo, VkPipelineLayoutCreateInfo,
        VkPipelineMultisampleStateCreateInfo,
        VkPipelineRasterizationConservativeStateCreateInfoEXT,
        VkPipelineRasterizationDepthClipStateCreateInfoEXT,
        VkPipelineRasterizationLineStateCreateInfoEXT,
        VkPipelineRasterizationStateCreateInfo,
        VkPipelineRasterizationStateRasterizationOrderAMD,
        VkPipelineRasterizationStateStreamCreateInfoEXT,
        VkPipelineRepresentativeFragmentTestStateCreateInfoNV,
        VkPipelineSampleLocationsStateCreateInfoEXT,
        VkPipelineShaderStageCreateInfo,
        VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT,
        VkPipelineTessellationDomainOriginStateCreateInfo,
        VkPipelineTessellationDomainOriginStateCreateInfoKHR,
        VkPipelineTessellationStateCreateInfo,
        VkPipelineVertexInputDivisorStateCreateInfoEXT,
        VkPipelineVertexInputStateCreateInfo,
        VkPipelineViewportCoarseSampleOrderStateCreateInfoNV,
        VkPipelineViewportExclusiveScissorStateCreateInfoNV,
        VkPipelineViewportShadingRateImageStateCreateInfoNV,
        VkPipelineViewportStateCreateInfo,
        VkPipelineViewportSwizzleStateCreateInfoNV,
        VkPipelineViewportWScalingStateCreateInfoNV)
       where
import Graphics.Vulkan.Constants                                   (VK_MAX_DESCRIPTION_SIZE)
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.BaseTypes                             (VkBool32,
                                                                    VkSampleMask)
import Graphics.Vulkan.Types.Bitmasks                              (VkPipelineColorBlendStateCreateFlags,
                                                                    VkPipelineCoverageModulationStateCreateFlagsNV,
                                                                    VkPipelineCoverageReductionStateCreateFlagsNV,
                                                                    VkPipelineCoverageToColorStateCreateFlagsNV,
                                                                    VkPipelineDepthStencilStateCreateFlags,
                                                                    VkPipelineDiscardRectangleStateCreateFlagsEXT,
                                                                    VkPipelineDynamicStateCreateFlags,
                                                                    VkPipelineInputAssemblyStateCreateFlags,
                                                                    VkPipelineLayoutCreateFlags,
                                                                    VkPipelineMultisampleStateCreateFlags,
                                                                    VkPipelineRasterizationConservativeStateCreateFlagsEXT,
                                                                    VkPipelineRasterizationDepthClipStateCreateFlagsEXT,
                                                                    VkPipelineRasterizationStateCreateFlags,
                                                                    VkPipelineRasterizationStateStreamCreateFlagsEXT,
                                                                    VkPipelineTessellationStateCreateFlags,
                                                                    VkPipelineVertexInputStateCreateFlags,
                                                                    VkPipelineViewportStateCreateFlags,
                                                                    VkPipelineViewportSwizzleStateCreateFlagsNV)
import Graphics.Vulkan.Types.Enum.Blend                            (VkBlendFactor,
                                                                    VkBlendOp,
                                                                    VkBlendOverlapEXT)
import Graphics.Vulkan.Types.Enum.CoarseSampleOrderTypeNV          (VkCoarseSampleOrderTypeNV)
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.Coverage                         (VkCoverageModulationModeNV,
                                                                    VkCoverageReductionModeNV)
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.LineRasterizationModeEXT         (VkLineRasterizationModeEXT)
import Graphics.Vulkan.Types.Enum.LogicOp                          (VkLogicOp)
import Graphics.Vulkan.Types.Enum.Pipeline                         (VkPipelineCacheCreateFlags,
                                                                    VkPipelineCompilerControlFlagsAMD,
                                                                    VkPipelineCreateFlags,
                                                                    VkPipelineCreationFeedbackFlagsEXT,
                                                                    VkPipelineExecutableStatisticFormatKHR,
                                                                    VkPipelineShaderStageCreateFlags)
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,
                                                                    VkShaderStageFlags)
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.CoarseSample                   (VkCoarseSampleOrderCustomNV)
import Graphics.Vulkan.Types.Struct.ComputePipelineCreateInfo      (VkComputePipelineCreateInfo)

{-# LINE 111 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
import Graphics.Vulkan.Types.Struct.EnableBetaExtensions           (VkRayTracingPipelineCreateInfoKHR)
import Graphics.Vulkan.Types.Struct.RayTracing                     (VkRayTracingPipelineCreateInfoNV)

{-# LINE 114 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
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.ShadingRatePaletteNV           (VkShadingRatePaletteNV)
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.2-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 159 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 160 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 162 "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 167 "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 172 "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 177 "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 182 "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)
                'True -- ' closing tick for hsc2hs
                (32)
{-# LINE 189 "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)
                'True -- ' closing tick for hsc2hs
                (40)
{-# LINE 196 "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 203 "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 210 "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 217 "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 224 "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 231 "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 238 "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 244 "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 249 "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 254 "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 259 "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 264 "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 269 "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.2-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 294 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 295 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 297 "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 302 "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 307 "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 312 "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 317 "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.2-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 345 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 346 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 348 "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 353 "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 358 "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 363 "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 368 "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.2-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 397 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           4
{-# LINE 398 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "blendEnable" VkBool32 'False  -- ' closing tick for hsc2hs
                                                       (0)
{-# LINE 400 "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 405 "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 410 "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 415 "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 420 "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 425 "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 430 "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 435 "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.2-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 464 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 465 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 467 "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 472 "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 477 "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 482 "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 487 "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 492 "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 499 "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 504 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (40)
{-# LINE 506 "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 VkPipelineCompilerControlCreateInfoAMD {
--   >     VkStructureType   sType;
--   >     const void*                                                                            pNext;
--   >     VkPipelineCompilerControlFlagsAMD                                      compilerControlFlags;
--   > } VkPipelineCompilerControlCreateInfoAMD;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineCompilerControlCreateInfoAMD VkPipelineCompilerControlCreateInfoAMD registry at www.khronos.org>
type VkPipelineCompilerControlCreateInfoAMD =
     VkStruct VkPipelineCompilerControlCreateInfoAMD' -- ' closing tick for hsc2hs

data VkPipelineCompilerControlCreateInfoAMD' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineCompilerControlCreateInfoAMD where
    type StructRep VkPipelineCompilerControlCreateInfoAMD =
         'StructMeta "VkPipelineCompilerControlCreateInfoAMD" -- ' closing tick for hsc2hs
           VkPipelineCompilerControlCreateInfoAMD
           (24)
{-# LINE 530 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 531 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 533 "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 538 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "compilerControlFlags" -- ' closing tick for hsc2hs
                VkPipelineCompilerControlFlagsAMD
                'True -- ' closing tick for hsc2hs
                (16)
{-# LINE 545 "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, VkComputePipelineCreateInfo] -- ' 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.2-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 575 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 576 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 578 "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 583 "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 589 "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 595 "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 600 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "coverageModulationTableCount" Word32 'True
                                                                     (28)
{-# LINE 605 "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 610 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                'True -- ' closing tick for hsc2hs
                (32)
{-# LINE 612 "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 VkPipelineCoverageReductionStateCreateInfoNV {
--   >     VkStructureType sType;
--   >     const void*                                                        pNext;
--   >     VkPipelineCoverageReductionStateCreateFlagsNV      flags;
--   >     VkCoverageReductionModeNV                                          coverageReductionMode;
--   > } VkPipelineCoverageReductionStateCreateInfoNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineCoverageReductionStateCreateInfoNV VkPipelineCoverageReductionStateCreateInfoNV registry at www.khronos.org>
type VkPipelineCoverageReductionStateCreateInfoNV =
     VkStruct VkPipelineCoverageReductionStateCreateInfoNV' -- ' closing tick for hsc2hs

data VkPipelineCoverageReductionStateCreateInfoNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineCoverageReductionStateCreateInfoNV
         where
    type StructRep VkPipelineCoverageReductionStateCreateInfoNV =
         'StructMeta "VkPipelineCoverageReductionStateCreateInfoNV" -- ' closing tick for hsc2hs
           VkPipelineCoverageReductionStateCreateInfoNV
           (24)
{-# LINE 638 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 639 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 641 "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 646 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkPipelineCoverageReductionStateCreateFlagsNV -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (16)
{-# LINE 652 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "coverageReductionMode" VkCoverageReductionModeNV -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 658 "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.2-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 685 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 686 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 688 "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 693 "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 699 "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 704 "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 709 "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 VkPipelineCreationFeedbackCreateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                         pNext;
--   >     VkPipelineCreationFeedbackEXT*      pPipelineCreationFeedback;
--   >     uint32_t                            pipelineStageCreationFeedbackCount;
--   >     VkPipelineCreationFeedbackEXT* pPipelineStageCreationFeedbacks;
--   > } VkPipelineCreationFeedbackCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineCreationFeedbackCreateInfoEXT VkPipelineCreationFeedbackCreateInfoEXT registry at www.khronos.org>
type VkPipelineCreationFeedbackCreateInfoEXT =
     VkStruct VkPipelineCreationFeedbackCreateInfoEXT' -- ' closing tick for hsc2hs

data VkPipelineCreationFeedbackCreateInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineCreationFeedbackCreateInfoEXT
         where
    type StructRep VkPipelineCreationFeedbackCreateInfoEXT =
         'StructMeta "VkPipelineCreationFeedbackCreateInfoEXT" -- ' closing tick for hsc2hs
           VkPipelineCreationFeedbackCreateInfoEXT
           (40)
{-# LINE 736 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 737 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 739 "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 744 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pPipelineCreationFeedback" -- ' closing tick for hsc2hs
                (Ptr VkPipelineCreationFeedbackEXT)
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 751 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pipelineStageCreationFeedbackCount" Word32 'False
                (24)
{-# LINE 756 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pPipelineStageCreationFeedbacks" -- ' closing tick for hsc2hs
                (Ptr VkPipelineCreationFeedbackEXT)
                'False -- ' closing tick for hsc2hs
                (32)
{-# LINE 763 "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, VkComputePipelineCreateInfo -- ' closing tick for hsc2hs

{-# LINE 770 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
            , VkRayTracingPipelineCreateInfoNV
            , VkRayTracingPipelineCreateInfoKHR

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

-- | > typedef struct VkPipelineCreationFeedbackEXT {
--   >     VkPipelineCreationFeedbackFlagsEXT  flags;
--   >     uint64_t                            duration;
--   > } VkPipelineCreationFeedbackEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineCreationFeedbackEXT VkPipelineCreationFeedbackEXT registry at www.khronos.org>
type VkPipelineCreationFeedbackEXT =
     VkStruct VkPipelineCreationFeedbackEXT' -- ' closing tick for hsc2hs

data VkPipelineCreationFeedbackEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineCreationFeedbackEXT where
    type StructRep VkPipelineCreationFeedbackEXT =
         'StructMeta "VkPipelineCreationFeedbackEXT" -- ' closing tick for hsc2hs
           VkPipelineCreationFeedbackEXT
           (16)
{-# LINE 791 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 792 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "flags" VkPipelineCreationFeedbackFlagsEXT 'False -- ' closing tick for hsc2hs
                (0)
{-# LINE 794 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "duration" Word64 'False
                                                  (8)
{-# LINE 799 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' 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.2-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 832 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 833 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 835 "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 840 "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 845 "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 850 "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 855 "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 860 "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 865 "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 870 "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 875 "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 880 "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 885 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (96)
{-# LINE 887 "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 892 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (100)
{-# LINE 894 "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.2-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 922 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 923 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 925 "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 930 "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 936 "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 941 "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 946 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pDiscardRectangles" (Ptr VkRect2D) 'False
                                                                    (32)
{-# LINE 951 "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.2-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 977 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 978 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 980 "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 985 "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 990 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dynamicStateCount" Word32 'True
                                                          (20)
{-# LINE 995 "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 1000 "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 VkPipelineExecutableInfoKHR {
--   >     VkStructureType sType;
--   >     const void*        pNext;
--   >     VkPipeline         pipeline;
--   >     uint32_t           executableIndex;
--   > } VkPipelineExecutableInfoKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineExecutableInfoKHR VkPipelineExecutableInfoKHR registry at www.khronos.org>
type VkPipelineExecutableInfoKHR =
     VkStruct VkPipelineExecutableInfoKHR' -- ' closing tick for hsc2hs

data VkPipelineExecutableInfoKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineExecutableInfoKHR where
    type StructRep VkPipelineExecutableInfoKHR =
         'StructMeta "VkPipelineExecutableInfoKHR" -- ' closing tick for hsc2hs
           VkPipelineExecutableInfoKHR
           (32)
{-# LINE 1025 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1026 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1028 "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 1033 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pipeline" VkPipeline 'False
                                                      (16)
{-# LINE 1038 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "executableIndex" Word32 'False
                                                         (24)
{-# LINE 1043 "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 VkPipelineExecutableInternalRepresentationKHR {
--   >     VkStructureType sType;
--   >     void*              pNext;
--   >     char               name[VK_MAX_DESCRIPTION_SIZE];
--   >     char               description[VK_MAX_DESCRIPTION_SIZE];
--   >     VkBool32           isText;
--   >     size_t               dataSize;
--   >     void* pData;
--   > } VkPipelineExecutableInternalRepresentationKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineExecutableInternalRepresentationKHR VkPipelineExecutableInternalRepresentationKHR registry at www.khronos.org>
type VkPipelineExecutableInternalRepresentationKHR =
     VkStruct VkPipelineExecutableInternalRepresentationKHR' -- ' closing tick for hsc2hs

data VkPipelineExecutableInternalRepresentationKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineExecutableInternalRepresentationKHR
         where
    type StructRep VkPipelineExecutableInternalRepresentationKHR =
         'StructMeta "VkPipelineExecutableInternalRepresentationKHR" -- ' closing tick for hsc2hs
           VkPipelineExecutableInternalRepresentationKHR
           (552)
{-# LINE 1073 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1074 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1076 "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 1081 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "name" CChar 'False
                                             (16)
{-# LINE 1086 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                VK_MAX_DESCRIPTION_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "description" CChar 'False
                                                    (272)
{-# LINE 1091 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                VK_MAX_DESCRIPTION_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "isText" VkBool32 'False
                                                  (528)
{-# LINE 1096 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dataSize" CSize 'True
                                                (536)
{-# LINE 1101 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pData" (Ptr Void) 'True
                                                  (544)
{-# LINE 1106 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef struct VkPipelineExecutablePropertiesKHR {
--   >     VkStructureType sType;
--   >     void*              pNext;
--   >     VkShaderStageFlags stages;
--   >     char               name[VK_MAX_DESCRIPTION_SIZE];
--   >     char               description[VK_MAX_DESCRIPTION_SIZE];
--   >     uint32_t           subgroupSize;
--   > } VkPipelineExecutablePropertiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineExecutablePropertiesKHR VkPipelineExecutablePropertiesKHR registry at www.khronos.org>
type VkPipelineExecutablePropertiesKHR =
     VkStruct VkPipelineExecutablePropertiesKHR' -- ' closing tick for hsc2hs

data VkPipelineExecutablePropertiesKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineExecutablePropertiesKHR where
    type StructRep VkPipelineExecutablePropertiesKHR =
         'StructMeta "VkPipelineExecutablePropertiesKHR" -- ' closing tick for hsc2hs
           VkPipelineExecutablePropertiesKHR
           (536)
{-# LINE 1133 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1134 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1136 "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 1141 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "stages" VkShaderStageFlags 'False
                                                            (16)
{-# LINE 1146 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "name" CChar 'False
                                             (20)
{-# LINE 1151 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                VK_MAX_DESCRIPTION_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "description" CChar 'False
                                                    (276)
{-# LINE 1156 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                VK_MAX_DESCRIPTION_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subgroupSize" Word32 'False
                                                      (532)
{-# LINE 1161 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef struct VkPipelineExecutableStatisticKHR {
--   >     VkStructureType sType;
--   >     void*              pNext;
--   >     char               name[VK_MAX_DESCRIPTION_SIZE];
--   >     char               description[VK_MAX_DESCRIPTION_SIZE];
--   >     VkPipelineExecutableStatisticFormatKHR format;
--   >     VkPipelineExecutableStatisticValueKHR  value;
--   > } VkPipelineExecutableStatisticKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineExecutableStatisticKHR VkPipelineExecutableStatisticKHR registry at www.khronos.org>
type VkPipelineExecutableStatisticKHR =
     VkStruct VkPipelineExecutableStatisticKHR' -- ' closing tick for hsc2hs

data VkPipelineExecutableStatisticKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineExecutableStatisticKHR where
    type StructRep VkPipelineExecutableStatisticKHR =
         'StructMeta "VkPipelineExecutableStatisticKHR" -- ' closing tick for hsc2hs
           VkPipelineExecutableStatisticKHR
           (544)
{-# LINE 1188 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1189 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1191 "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 1196 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "name" CChar 'False
                                             (16)
{-# LINE 1201 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                VK_MAX_DESCRIPTION_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "description" CChar 'False
                                                    (272)
{-# LINE 1206 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                VK_MAX_DESCRIPTION_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "format" VkPipelineExecutableStatisticFormatKHR 'False
                (528)
{-# LINE 1211 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "value" VkPipelineExecutableStatisticValueKHR 'False
                (536)
{-# LINE 1216 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef union VkPipelineExecutableStatisticValueKHR {
--   >     VkBool32           b32;
--   >     int64_t            i64;
--   >     uint64_t           u64;
--   >     double             f64;
--   > } VkPipelineExecutableStatisticValueKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineExecutableStatisticValueKHR VkPipelineExecutableStatisticValueKHR registry at www.khronos.org>
type VkPipelineExecutableStatisticValueKHR =
     VkStruct VkPipelineExecutableStatisticValueKHR' -- ' closing tick for hsc2hs

data VkPipelineExecutableStatisticValueKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineExecutableStatisticValueKHR where
    type StructRep VkPipelineExecutableStatisticValueKHR =
         'StructMeta "VkPipelineExecutableStatisticValueKHR" -- ' closing tick for hsc2hs
           VkPipelineExecutableStatisticValueKHR
           (8)
{-# LINE 1241 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1242 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "b32" VkBool32 'False  -- ' closing tick for hsc2hs
                                               (0)
{-# LINE 1244 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "i64" Int64 'False
                                            (0)
{-# LINE 1249 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "u64" Word64 'False
                                             (0)
{-# LINE 1254 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "f64" ( -- ' closing tick for hsc2hs
                                Double
{-# LINE 1259 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                ) 'False  -- ' closing tick for hsc2hs
                                         (0)
{-# LINE 1261 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef struct VkPipelineInfoKHR {
--   >     VkStructureType sType;
--   >     const void*        pNext;
--   >     VkPipeline         pipeline;
--   > } VkPipelineInfoKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineInfoKHR VkPipelineInfoKHR registry at www.khronos.org>
type VkPipelineInfoKHR = VkStruct VkPipelineInfoKHR' -- ' closing tick for hsc2hs

data VkPipelineInfoKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPipelineInfoKHR where
    type StructRep VkPipelineInfoKHR =
         'StructMeta "VkPipelineInfoKHR" VkPipelineInfoKHR  -- ' closing tick for hsc2hs
                                                           (24)
{-# LINE 1283 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1284 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1286 "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 1291 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pipeline" VkPipeline 'False
                                                      (16)
{-# LINE 1296 "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.2-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 1322 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1323 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1325 "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 1330 "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 1335 "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 1340 "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 1345 "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.2-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 1372 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1373 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1375 "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 1380 "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 1385 "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 1390 "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 1395 "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 1400 "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 1405 "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.2-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 1435 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1436 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1438 "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 1443 "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 1448 "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 1453 "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 1458 "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 1463 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                             ) 'False -- ' closing tick for hsc2hs
                (28)
{-# LINE 1465 "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 1470 "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 1475 "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 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 VkPipelineRasterizationConservativeStateCreateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                                                                      pNext;
--   >     VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--   >     VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--   >     float                                                                            extraPrimitiveOverestimationSize;
--   > } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-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 1510 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1511 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1513 "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 1518 "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 1525 "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 1532 "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 1537 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 1539 "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 VkPipelineRasterizationDepthClipStateCreateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                                                                 pNext;
--   >     VkPipelineRasterizationDepthClipStateCreateFlagsEXT         flags;
--   >     VkBool32                                                                    depthClipEnable;
--   > } VkPipelineRasterizationDepthClipStateCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineRasterizationDepthClipStateCreateInfoEXT VkPipelineRasterizationDepthClipStateCreateInfoEXT registry at www.khronos.org>
type VkPipelineRasterizationDepthClipStateCreateInfoEXT =
     VkStruct VkPipelineRasterizationDepthClipStateCreateInfoEXT' -- ' closing tick for hsc2hs

data VkPipelineRasterizationDepthClipStateCreateInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineRasterizationDepthClipStateCreateInfoEXT
         where
    type StructRep VkPipelineRasterizationDepthClipStateCreateInfoEXT =
         'StructMeta "VkPipelineRasterizationDepthClipStateCreateInfoEXT" -- ' closing tick for hsc2hs
           VkPipelineRasterizationDepthClipStateCreateInfoEXT
           (24)
{-# LINE 1566 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1567 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1569 "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 1574 "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
                VkPipelineRasterizationDepthClipStateCreateFlagsEXT
                'True -- ' closing tick for hsc2hs
                (16)
{-# LINE 1581 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthClipEnable" VkBool32 'False
                                                           (20)
{-# LINE 1586 "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 VkPipelineRasterizationLineStateCreateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                                                      pNext;
--   >     VkLineRasterizationModeEXT                                       lineRasterizationMode;
--   >     VkBool32                                                         stippledLineEnable;
--   >     uint32_t                                         lineStippleFactor;
--   >     uint16_t                                         lineStipplePattern;
--   > } VkPipelineRasterizationLineStateCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineRasterizationLineStateCreateInfoEXT VkPipelineRasterizationLineStateCreateInfoEXT registry at www.khronos.org>
type VkPipelineRasterizationLineStateCreateInfoEXT =
     VkStruct VkPipelineRasterizationLineStateCreateInfoEXT' -- ' closing tick for hsc2hs

data VkPipelineRasterizationLineStateCreateInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineRasterizationLineStateCreateInfoEXT
         where
    type StructRep VkPipelineRasterizationLineStateCreateInfoEXT =
         'StructMeta "VkPipelineRasterizationLineStateCreateInfoEXT" -- ' closing tick for hsc2hs
           VkPipelineRasterizationLineStateCreateInfoEXT
           (32)
{-# LINE 1615 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1616 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1618 "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 1623 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "lineRasterizationMode" VkLineRasterizationModeEXT -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 1629 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "stippledLineEnable" VkBool32 'False
                                                              (20)
{-# LINE 1634 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "lineStippleFactor" Word32 'True
                                                          (24)
{-# LINE 1639 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "lineStipplePattern" Word16 'True
                                                           (28)
{-# LINE 1644 "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.2-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 1678 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1679 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1681 "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 1686 "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 1691 "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 1696 "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 1701 "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 1706 "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 1711 "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 1716 "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 1721 "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 1726 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (44)
{-# LINE 1728 "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 1733 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (48)
{-# LINE 1735 "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 1740 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (52)
{-# LINE 1742 "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 1747 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                                      ) 'False -- ' closing tick for hsc2hs
                (56)
{-# LINE 1749 "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.2-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 1775 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1776 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1778 "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 1783 "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 1788 "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 VkPipelineRasterizationStateStreamCreateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                                                                      pNext;
--   >     VkPipelineRasterizationStateStreamCreateFlagsEXT                 flags;
--   >     uint32_t                                                                         rasterizationStream;
--   > } VkPipelineRasterizationStateStreamCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineRasterizationStateStreamCreateInfoEXT VkPipelineRasterizationStateStreamCreateInfoEXT registry at www.khronos.org>
type VkPipelineRasterizationStateStreamCreateInfoEXT =
     VkStruct VkPipelineRasterizationStateStreamCreateInfoEXT' -- ' closing tick for hsc2hs

data VkPipelineRasterizationStateStreamCreateInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineRasterizationStateStreamCreateInfoEXT
         where
    type StructRep VkPipelineRasterizationStateStreamCreateInfoEXT =
         'StructMeta "VkPipelineRasterizationStateStreamCreateInfoEXT" -- ' closing tick for hsc2hs
           VkPipelineRasterizationStateStreamCreateInfoEXT
           (24)
{-# LINE 1815 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1816 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1818 "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 1823 "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
                VkPipelineRasterizationStateStreamCreateFlagsEXT
                'True -- ' closing tick for hsc2hs
                (16)
{-# LINE 1830 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "rasterizationStream" Word32 'False
                                                             (20)
{-# LINE 1835 "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 VkPipelineRepresentativeFragmentTestStateCreateInfoNV {
--   >     VkStructureType sType;
--   >     const void*    pNext;
--   >     VkBool32       representativeFragmentTestEnable;
--   > } VkPipelineRepresentativeFragmentTestStateCreateInfoNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineRepresentativeFragmentTestStateCreateInfoNV VkPipelineRepresentativeFragmentTestStateCreateInfoNV registry at www.khronos.org>
type VkPipelineRepresentativeFragmentTestStateCreateInfoNV =
     VkStruct VkPipelineRepresentativeFragmentTestStateCreateInfoNV' -- ' closing tick for hsc2hs

data VkPipelineRepresentativeFragmentTestStateCreateInfoNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineRepresentativeFragmentTestStateCreateInfoNV
         where
    type StructRep
           VkPipelineRepresentativeFragmentTestStateCreateInfoNV
         =
         'StructMeta "VkPipelineRepresentativeFragmentTestStateCreateInfoNV" -- ' closing tick for hsc2hs
           VkPipelineRepresentativeFragmentTestStateCreateInfoNV
           (24)
{-# LINE 1863 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1864 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1866 "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 1871 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "representativeFragmentTestEnable" VkBool32 'False
                (16)
{-# LINE 1876 "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 VkPipelineSampleLocationsStateCreateInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkBool32                         sampleLocationsEnable;
--   >     VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   > } VkPipelineSampleLocationsStateCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-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 1902 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1903 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1905 "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 1910 "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 1915 "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 1920 "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.2-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 1948 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 1949 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1951 "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 1956 "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 1961 "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 1966 "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 1971 "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 1976 "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 1981 "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 VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     uint32_t               requiredSubgroupSize;
--   > } VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT registry at www.khronos.org>
type VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT =
     VkStruct VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT' -- ' closing tick for hsc2hs

data VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
         where
    type StructRep
           VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
         =
         'StructMeta -- ' closing tick for hsc2hs
           "VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT"
           VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
           (24)
{-# LINE 2010 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2011 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2013 "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 2018 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "requiredSubgroupSize" Word32 'False
                                                              (16)
{-# LINE 2023 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPipelineShaderStageCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkTessellationDomainOrigin    domainOrigin;
--   > } VkPipelineTessellationDomainOriginStateCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-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 2049 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2050 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2052 "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 2057 "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 2062 "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.2-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 2091 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2092 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2094 "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 2099 "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 2104 "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 2109 "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.2-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 2136 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2137 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2139 "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 2144 "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 2149 "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 2156 "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.2-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 2184 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2185 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2187 "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 2192 "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 2197 "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 2202 "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 2209 "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 2214 "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 2221 "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 VkPipelineViewportCoarseSampleOrderStateCreateInfoNV {
--   >     VkStructureType sType;
--   >     const void*                                                            pNext;
--   >     VkCoarseSampleOrderTypeNV                                              sampleOrderType;
--   >     uint32_t                                               customSampleOrderCount;
--   >     const VkCoarseSampleOrderCustomNV*        pCustomSampleOrders;
--   > } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineViewportCoarseSampleOrderStateCreateInfoNV VkPipelineViewportCoarseSampleOrderStateCreateInfoNV registry at www.khronos.org>
type VkPipelineViewportCoarseSampleOrderStateCreateInfoNV =
     VkStruct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV' -- ' closing tick for hsc2hs

data VkPipelineViewportCoarseSampleOrderStateCreateInfoNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineViewportCoarseSampleOrderStateCreateInfoNV
         where
    type StructRep VkPipelineViewportCoarseSampleOrderStateCreateInfoNV
         =
         'StructMeta "VkPipelineViewportCoarseSampleOrderStateCreateInfoNV" -- ' closing tick for hsc2hs
           VkPipelineViewportCoarseSampleOrderStateCreateInfoNV
           (32)
{-# LINE 2250 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2251 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2253 "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 2258 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampleOrderType" VkCoarseSampleOrderTypeNV 'False
                (16)
{-# LINE 2263 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "customSampleOrderCount" Word32 'True
                                                               (20)
{-# LINE 2268 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pCustomSampleOrders" (Ptr VkCoarseSampleOrderCustomNV) -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 2274 "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 VkPipelineViewportExclusiveScissorStateCreateInfoNV {
--   >     VkStructureType sType;
--   >     const void*                                                       pNext;
--   >     uint32_t                                          exclusiveScissorCount;
--   >     const VkRect2D* pExclusiveScissors;
--   > } VkPipelineViewportExclusiveScissorStateCreateInfoNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineViewportExclusiveScissorStateCreateInfoNV VkPipelineViewportExclusiveScissorStateCreateInfoNV registry at www.khronos.org>
type VkPipelineViewportExclusiveScissorStateCreateInfoNV =
     VkStruct VkPipelineViewportExclusiveScissorStateCreateInfoNV' -- ' closing tick for hsc2hs

data VkPipelineViewportExclusiveScissorStateCreateInfoNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineViewportExclusiveScissorStateCreateInfoNV
         where
    type StructRep VkPipelineViewportExclusiveScissorStateCreateInfoNV
         =
         'StructMeta "VkPipelineViewportExclusiveScissorStateCreateInfoNV" -- ' closing tick for hsc2hs
           VkPipelineViewportExclusiveScissorStateCreateInfoNV
           (32)
{-# LINE 2302 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2303 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2305 "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 2310 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "exclusiveScissorCount" Word32 'True
                                                              (16)
{-# LINE 2315 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pExclusiveScissors" (Ptr VkRect2D) 'False
                                                                    (24)
{-# LINE 2320 "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 VkPipelineViewportShadingRateImageStateCreateInfoNV {
--   >     VkStructureType sType;
--   >     const void*                                                             pNext;
--   >     VkBool32                                                                shadingRateImageEnable;
--   >     uint32_t                                                viewportCount;
--   >     const VkShadingRatePaletteNV* pShadingRatePalettes;
--   > } VkPipelineViewportShadingRateImageStateCreateInfoNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPipelineViewportShadingRateImageStateCreateInfoNV VkPipelineViewportShadingRateImageStateCreateInfoNV registry at www.khronos.org>
type VkPipelineViewportShadingRateImageStateCreateInfoNV =
     VkStruct VkPipelineViewportShadingRateImageStateCreateInfoNV' -- ' closing tick for hsc2hs

data VkPipelineViewportShadingRateImageStateCreateInfoNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPipelineViewportShadingRateImageStateCreateInfoNV
         where
    type StructRep VkPipelineViewportShadingRateImageStateCreateInfoNV
         =
         'StructMeta "VkPipelineViewportShadingRateImageStateCreateInfoNV" -- ' closing tick for hsc2hs
           VkPipelineViewportShadingRateImageStateCreateInfoNV
           (32)
{-# LINE 2349 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2350 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2352 "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 2357 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shadingRateImageEnable" VkBool32 'False
                                                                  (16)
{-# LINE 2362 "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 2367 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pShadingRatePalettes" (Ptr VkShadingRatePaletteNV) -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 2373 "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 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.2-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 2401 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2402 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2404 "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 2409 "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 2414 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "viewportCount" Word32 'True
                                                      (20)
{-# LINE 2419 "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 2424 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "scissorCount" Word32 'True
                                                     (32)
{-# LINE 2429 "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 2434 "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.2-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 2461 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2462 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2464 "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 2469 "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 2475 "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 2480 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pViewportSwizzles" (Ptr VkViewportSwizzleNV) 'False
                (24)
{-# LINE 2485 "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.2-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 2512 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           8
{-# LINE 2513 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2515 "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 2520 "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 2525 "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 2530 "src-gen/Graphics/Vulkan/Types/Struct/Pipeline.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pViewportWScalings" (Ptr VkViewportWScalingNV) 'True
                (24)
{-# LINE 2535 "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