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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference
       (VkInputAttachmentAspectReference,
        VkInputAttachmentAspectReferenceKHR)
       where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Enum.Image (VkImageAspectFlags)

-- | > typedef struct VkInputAttachmentAspectReference {
--   >     uint32_t                        subpass;
--   >     uint32_t                        inputAttachmentIndex;
--   >     VkImageAspectFlags              aspectMask;
--   > } VkInputAttachmentAspectReference;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkInputAttachmentAspectReference VkInputAttachmentAspectReference registry at www.khronos.org>
type VkInputAttachmentAspectReference =
     VkStruct VkInputAttachmentAspectReference' -- ' closing tick for hsc2hs

data VkInputAttachmentAspectReference' -- ' closing tick for hsc2hs

instance VulkanMarshal VkInputAttachmentAspectReference where
    type StructRep VkInputAttachmentAspectReference =
         'StructMeta "VkInputAttachmentAspectReference" -- ' closing tick for hsc2hs
           VkInputAttachmentAspectReference
           (12)
{-# LINE 33 "src-gen/Graphics/Vulkan/Types/Struct/InputAttachmentAspectReference.hsc" #-}
           4
{-# LINE 34 "src-gen/Graphics/Vulkan/Types/Struct/InputAttachmentAspectReference.hsc" #-}
           '[('FieldMeta "subpass" Word32 'False  -- ' closing tick for hsc2hs
                                                 (0)
{-# LINE 36 "src-gen/Graphics/Vulkan/Types/Struct/InputAttachmentAspectReference.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "inputAttachmentIndex" Word32 'False 
                                                              (4)
{-# LINE 41 "src-gen/Graphics/Vulkan/Types/Struct/InputAttachmentAspectReference.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "aspectMask" VkImageAspectFlags 'False 
                                                                (8)
{-# LINE 46 "src-gen/Graphics/Vulkan/Types/Struct/InputAttachmentAspectReference.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 `VkInputAttachmentAspectReference`
type VkInputAttachmentAspectReferenceKHR =
     VkInputAttachmentAspectReference