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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.QueryPoolCreateInfo
       (VkQueryPoolCreateInfo) where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Bitmasks           (VkQueryPoolCreateFlags)
import Graphics.Vulkan.Types.Enum.Query         (VkQueryPipelineStatisticFlags,
                                                 VkQueryType)
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)

-- | > typedef struct VkQueryPoolCreateInfo {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkQueryPoolCreateFlags flags;
--   >     VkQueryType            queryType;
--   >     uint32_t               queryCount;
--   >     VkQueryPipelineStatisticFlags pipelineStatistics;
--   > } VkQueryPoolCreateInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkQueryPoolCreateInfo VkQueryPoolCreateInfo registry at www.khronos.org>
type VkQueryPoolCreateInfo = VkStruct VkQueryPoolCreateInfo' -- ' closing tick for hsc2hs

data VkQueryPoolCreateInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkQueryPoolCreateInfo where
    type StructRep VkQueryPoolCreateInfo =
         'StructMeta "VkQueryPoolCreateInfo" VkQueryPoolCreateInfo  -- ' closing tick for hsc2hs
                                                                   (32)
{-# LINE 35 "src-gen/Graphics/Vulkan/Types/Struct/QueryPoolCreateInfo.hsc" #-}
           8
{-# LINE 36 "src-gen/Graphics/Vulkan/Types/Struct/QueryPoolCreateInfo.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 38 "src-gen/Graphics/Vulkan/Types/Struct/QueryPoolCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False
                                                   (8)
{-# LINE 43 "src-gen/Graphics/Vulkan/Types/Struct/QueryPoolCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkQueryPoolCreateFlags 'True
                                                              (16)
{-# LINE 48 "src-gen/Graphics/Vulkan/Types/Struct/QueryPoolCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "queryType" VkQueryType 'False
                                                        (20)
{-# LINE 53 "src-gen/Graphics/Vulkan/Types/Struct/QueryPoolCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "queryCount" Word32 'False
                                                    (24)
{-# LINE 58 "src-gen/Graphics/Vulkan/Types/Struct/QueryPoolCreateInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pipelineStatistics" VkQueryPipelineStatisticFlags -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (28)
{-# LINE 64 "src-gen/Graphics/Vulkan/Types/Struct/QueryPoolCreateInfo.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