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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.FramebufferCreateInfo
       (VkFramebufferCreateInfo) where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Bitmasks           (VkFramebufferCreateFlags)
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import Graphics.Vulkan.Types.Handles            (VkImageView, VkRenderPass)

-- | > typedef struct VkFramebufferCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkFramebufferCreateFlags    flags;
--   >     VkRenderPass           renderPass;
--   >     uint32_t               attachmentCount;
--   >     const VkImageView*     pAttachments;
--   >     uint32_t               width;
--   >     uint32_t               height;
--   >     uint32_t               layers;
--   > } VkFramebufferCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkFramebufferCreateInfo VkFramebufferCreateInfo registry at www.khronos.org>
type VkFramebufferCreateInfo = VkStruct VkFramebufferCreateInfo' -- ' closing tick for hsc2hs

data VkFramebufferCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkFramebufferCreateInfo where
    type StructRep VkFramebufferCreateInfo =
         'StructMeta "VkFramebufferCreateInfo" VkFramebufferCreateInfo -- ' closing tick for hsc2hs
           (64)
{-# LINE 37 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc" #-}
           8
{-# LINE 38 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 40 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 45 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkFramebufferCreateFlags 'True
                                                                (16)
{-# LINE 50 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "renderPass" VkRenderPass 'False
                                                          (24)
{-# LINE 55 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "attachmentCount" Word32 'True
                                                        (32)
{-# LINE 60 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pAttachments" (Ptr VkImageView) 'False
                                                                 (40)
{-# LINE 65 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "width" Word32 'False
                                               (48)
{-# LINE 70 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "height" Word32 'False
                                                (52)
{-# LINE 75 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "layers" Word32 'False
                                                (56)
{-# LINE 80 "src-gen/Graphics/Vulkan/Types/Struct/FramebufferCreateInfo.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