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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.Subpass
       (VkSubpassBeginInfo, VkSubpassBeginInfoKHR, VkSubpassDependency,
        VkSubpassDependency2, VkSubpassDependency2KHR,
        VkSubpassDescription, VkSubpassDescription2,
        VkSubpassDescription2KHR, VkSubpassDescriptionDepthStencilResolve,
        VkSubpassDescriptionDepthStencilResolveKHR, VkSubpassEndInfo,
        VkSubpassEndInfoKHR, VkSubpassSampleLocationsEXT)
       where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Enum.AccessFlags      (VkAccessFlags)
import Graphics.Vulkan.Types.Enum.DependencyFlags  (VkDependencyFlags)
import Graphics.Vulkan.Types.Enum.Pipeline         (VkPipelineBindPoint,
                                                    VkPipelineStageFlags)
import Graphics.Vulkan.Types.Enum.ResolveModeFlag  (VkResolveModeFlagBits)
import Graphics.Vulkan.Types.Enum.StructureType    (VkStructureType)
import Graphics.Vulkan.Types.Enum.Subpass          (VkSubpassContents,
                                                    VkSubpassDescriptionFlags)
import Graphics.Vulkan.Types.Struct.Attachment     (VkAttachmentReference,
                                                    VkAttachmentReference2)
import {-# SOURCE #-} Graphics.Vulkan.Types.Struct.SampleLocation (VkSampleLocationsInfoEXT)

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

data VkSubpassBeginInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkSubpassBeginInfo where
    type StructRep VkSubpassBeginInfo =
         'StructMeta "VkSubpassBeginInfo" VkSubpassBeginInfo  -- ' closing tick for hsc2hs
                                                             (24)
{-# LINE 45 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           8
{-# LINE 46 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 48 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 53 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "contents" VkSubpassContents 'False
                                                             (16)
{-# LINE 58 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.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

-- | Alias for `VkSubpassBeginInfo`
type VkSubpassBeginInfoKHR = VkSubpassBeginInfo

-- | > typedef struct VkSubpassDependency {
--   >     uint32_t               srcSubpass;
--   >     uint32_t               dstSubpass;
--   >     VkPipelineStageFlags   srcStageMask;
--   >     VkPipelineStageFlags   dstStageMask;
--   >     VkAccessFlags          srcAccessMask;
--   >     VkAccessFlags          dstAccessMask;
--   >     VkDependencyFlags      dependencyFlags;
--   > } VkSubpassDependency;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSubpassDependency VkSubpassDependency registry at www.khronos.org>
type VkSubpassDependency = VkStruct VkSubpassDependency' -- ' closing tick for hsc2hs

data VkSubpassDependency' -- ' closing tick for hsc2hs

instance VulkanMarshal VkSubpassDependency where
    type StructRep VkSubpassDependency =
         'StructMeta "VkSubpassDependency" VkSubpassDependency  -- ' closing tick for hsc2hs
                                                               (28)
{-# LINE 87 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           4
{-# LINE 88 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           '[('FieldMeta "srcSubpass" Word32 'False  -- ' closing tick for hsc2hs
                                                    (0)
{-# LINE 90 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dstSubpass" Word32 'False
                                                    (4)
{-# LINE 95 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "srcStageMask" VkPipelineStageFlags 'False
                                                                    (8)
{-# LINE 100 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dstStageMask" VkPipelineStageFlags 'False
                                                                    (12)
{-# LINE 105 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "srcAccessMask" VkAccessFlags 'True
                                                             (16)
{-# LINE 110 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dstAccessMask" VkAccessFlags 'True
                                                             (20)
{-# LINE 115 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dependencyFlags" VkDependencyFlags 'True
                                                                   (24)
{-# LINE 120 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.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 VkSubpassDependency2 {
--   >     VkStructureType sType;
--   >     const void* pNext;
--   >     uint32_t                          srcSubpass;
--   >     uint32_t                          dstSubpass;
--   >     VkPipelineStageFlags              srcStageMask;
--   >     VkPipelineStageFlags              dstStageMask;
--   >     VkAccessFlags     srcAccessMask;
--   >     VkAccessFlags     dstAccessMask;
--   >     VkDependencyFlags dependencyFlags;
--   >     int32_t           viewOffset;
--   > } VkSubpassDependency2;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSubpassDependency2 VkSubpassDependency2 registry at www.khronos.org>
type VkSubpassDependency2 = VkStruct VkSubpassDependency2' -- ' closing tick for hsc2hs

data VkSubpassDependency2' -- ' closing tick for hsc2hs

instance VulkanMarshal VkSubpassDependency2 where
    type StructRep VkSubpassDependency2 =
         'StructMeta "VkSubpassDependency2" VkSubpassDependency2  -- ' closing tick for hsc2hs
                                                                 (48)
{-# LINE 149 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           8
{-# LINE 150 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 152 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 157 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "srcSubpass" Word32 'False
                                                    (16)
{-# LINE 162 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dstSubpass" Word32 'False
                                                    (20)
{-# LINE 167 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "srcStageMask" VkPipelineStageFlags 'False
                                                                    (24)
{-# LINE 172 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dstStageMask" VkPipelineStageFlags 'False
                                                                    (28)
{-# LINE 177 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "srcAccessMask" VkAccessFlags 'True
                                                             (32)
{-# LINE 182 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dstAccessMask" VkAccessFlags 'True
                                                             (36)
{-# LINE 187 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dependencyFlags" VkDependencyFlags 'True
                                                                   (40)
{-# LINE 192 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "viewOffset" Int32 'True
                                                  (44)
{-# LINE 197 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.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

-- | Alias for `VkSubpassDependency2`
type VkSubpassDependency2KHR = VkSubpassDependency2

-- | > typedef struct VkSubpassDescription {
--   >     VkSubpassDescriptionFlags flags;
--   >     VkPipelineBindPoint    pipelineBindPoint;
--   >     uint32_t               inputAttachmentCount;
--   >     const VkAttachmentReference* pInputAttachments;
--   >     uint32_t               colorAttachmentCount;
--   >     const VkAttachmentReference* pColorAttachments;
--   >     const VkAttachmentReference* pResolveAttachments;
--   >     const VkAttachmentReference* pDepthStencilAttachment;
--   >     uint32_t               preserveAttachmentCount;
--   >     const uint32_t* pPreserveAttachments;
--   > } VkSubpassDescription;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSubpassDescription VkSubpassDescription registry at www.khronos.org>
type VkSubpassDescription = VkStruct VkSubpassDescription' -- ' closing tick for hsc2hs

data VkSubpassDescription' -- ' closing tick for hsc2hs

instance VulkanMarshal VkSubpassDescription where
    type StructRep VkSubpassDescription =
         'StructMeta "VkSubpassDescription" VkSubpassDescription  -- ' closing tick for hsc2hs
                                                                 (72)
{-# LINE 229 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           8
{-# LINE 230 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           '[('FieldMeta "flags" VkSubpassDescriptionFlags 'True  -- ' closing tick for hsc2hs
                                                                 (0)
{-# LINE 232 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pipelineBindPoint" VkPipelineBindPoint 'False
                (4)
{-# LINE 237 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "inputAttachmentCount" Word32 'True
                                                             (8)
{-# LINE 242 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pInputAttachments" (Ptr VkAttachmentReference) 'False
                (16)
{-# LINE 247 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "colorAttachmentCount" Word32 'True
                                                             (24)
{-# LINE 252 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pColorAttachments" (Ptr VkAttachmentReference) 'False
                (32)
{-# LINE 257 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pResolveAttachments" (Ptr VkAttachmentReference) 'True
                (40)
{-# LINE 262 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pDepthStencilAttachment" (Ptr VkAttachmentReference) -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (48)
{-# LINE 268 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "preserveAttachmentCount" Word32 'True
                                                                (56)
{-# LINE 273 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pPreserveAttachments" (Ptr Word32) 'False
                                                                    (64)
{-# LINE 278 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.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 VkSubpassDescription2 {
--   >     VkStructureType sType;
--   >     const void*                           pNext;
--   >     VkSubpassDescriptionFlags                   flags;
--   >     VkPipelineBindPoint                                         pipelineBindPoint;
--   >     uint32_t                                                    viewMask;
--   >     uint32_t                                    inputAttachmentCount;
--   >     const VkAttachmentReference2*    pInputAttachments;
--   >     uint32_t                                    colorAttachmentCount;
--   >     const VkAttachmentReference2*    pColorAttachments;
--   >     const VkAttachmentReference2* pResolveAttachments;
--   >     const VkAttachmentReference2*               pDepthStencilAttachment;
--   >     uint32_t                                    preserveAttachmentCount;
--   >     const uint32_t*               pPreserveAttachments;
--   > } VkSubpassDescription2;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSubpassDescription2 VkSubpassDescription2 registry at www.khronos.org>
type VkSubpassDescription2 = VkStruct VkSubpassDescription2' -- ' closing tick for hsc2hs

data VkSubpassDescription2' -- ' closing tick for hsc2hs

instance VulkanMarshal VkSubpassDescription2 where
    type StructRep VkSubpassDescription2 =
         'StructMeta "VkSubpassDescription2" VkSubpassDescription2  -- ' closing tick for hsc2hs
                                                                   (88)
{-# LINE 310 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           8
{-# LINE 311 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 313 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 318 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkSubpassDescriptionFlags 'True
                                                                 (16)
{-# LINE 323 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pipelineBindPoint" VkPipelineBindPoint 'False
                (20)
{-# LINE 328 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "viewMask" Word32 'False
                                                  (24)
{-# LINE 333 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "inputAttachmentCount" Word32 'True
                                                             (28)
{-# LINE 338 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pInputAttachments" (Ptr VkAttachmentReference2) 'False
                (32)
{-# LINE 343 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "colorAttachmentCount" Word32 'True
                                                             (40)
{-# LINE 348 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pColorAttachments" (Ptr VkAttachmentReference2) 'False
                (48)
{-# LINE 353 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pResolveAttachments" (Ptr VkAttachmentReference2) -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (56)
{-# LINE 359 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pDepthStencilAttachment" (Ptr VkAttachmentReference2) -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (64)
{-# LINE 365 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "preserveAttachmentCount" Word32 'True
                                                                (72)
{-# LINE 370 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pPreserveAttachments" (Ptr Word32) 'False
                                                                    (80)
{-# LINE 375 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.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

-- | Alias for `VkSubpassDescription2`
type VkSubpassDescription2KHR = VkSubpassDescription2

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

data VkSubpassDescriptionDepthStencilResolve' -- ' closing tick for hsc2hs

instance VulkanMarshal VkSubpassDescriptionDepthStencilResolve
         where
    type StructRep VkSubpassDescriptionDepthStencilResolve =
         'StructMeta "VkSubpassDescriptionDepthStencilResolve" -- ' closing tick for hsc2hs
           VkSubpassDescriptionDepthStencilResolve
           (32)
{-# LINE 405 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           8
{-# LINE 406 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 408 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 413 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthResolveMode" VkResolveModeFlagBits 'False
                (16)
{-# LINE 418 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "stencilResolveMode" VkResolveModeFlagBits 'False
                (20)
{-# LINE 423 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pDepthStencilResolveAttachment" -- ' closing tick for hsc2hs
                (Ptr VkAttachmentReference2)
                'True -- ' closing tick for hsc2hs
                (24)
{-# LINE 430 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkSubpassDescription2] -- ' closing tick for hsc2hs

-- | Alias for `VkSubpassDescriptionDepthStencilResolve`
type VkSubpassDescriptionDepthStencilResolveKHR =
     VkSubpassDescriptionDepthStencilResolve

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

data VkSubpassEndInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkSubpassEndInfo where
    type StructRep VkSubpassEndInfo =
         'StructMeta "VkSubpassEndInfo" VkSubpassEndInfo  -- ' closing tick for hsc2hs
                                                         (16)
{-# LINE 455 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           8
{-# LINE 456 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 458 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 463 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.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

-- | Alias for `VkSubpassEndInfo`
type VkSubpassEndInfoKHR = VkSubpassEndInfo

-- | > typedef struct VkSubpassSampleLocationsEXT {
--   >     uint32_t                         subpassIndex;
--   >     VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   > } VkSubpassSampleLocationsEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSubpassSampleLocationsEXT VkSubpassSampleLocationsEXT registry at www.khronos.org>
type VkSubpassSampleLocationsEXT =
     VkStruct VkSubpassSampleLocationsEXT' -- ' closing tick for hsc2hs

data VkSubpassSampleLocationsEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkSubpassSampleLocationsEXT where
    type StructRep VkSubpassSampleLocationsEXT =
         'StructMeta "VkSubpassSampleLocationsEXT" -- ' closing tick for hsc2hs
           VkSubpassSampleLocationsEXT
           (48)
{-# LINE 489 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           8
{-# LINE 490 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
           '[('FieldMeta "subpassIndex" Word32 'False  -- ' closing tick for hsc2hs
                                                      (0)
{-# LINE 492 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampleLocationsInfo" VkSampleLocationsInfoEXT 'False
                (8)
{-# LINE 497 "src-gen/Graphics/Vulkan/Types/Struct/Subpass.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