#include "vulkan/vulkan.h" {-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MagicHash #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE Strict #-} {-# LANGUAGE TypeFamilies #-} module Graphics.Vulkan.Types.Struct.VkDescriptorPoolCreateInfo (VkDescriptorPoolCreateInfo(..)) where import Foreign.Storable (Storable (..)) import GHC.Prim import Graphics.Vulkan.Marshal import Graphics.Vulkan.Marshal.Internal import Graphics.Vulkan.Types.Enum.VkDescriptorPoolCreateFlags (VkDescriptorPoolCreateFlags) import Graphics.Vulkan.Types.Enum.VkStructureType (VkStructureType) import Graphics.Vulkan.Types.Struct.VkDescriptorPoolSize (VkDescriptorPoolSize) import Graphics.Vulkan.Types.StructMembers import System.IO.Unsafe (unsafeDupablePerformIO) -- | > typedef struct VkDescriptorPoolCreateInfo { -- > VkStructureType sType; -- > const void* pNext; -- > VkDescriptorPoolCreateFlags flags; -- > uint32_t maxSets; -- > uint32_t poolSizeCount; -- > const VkDescriptorPoolSize* pPoolSizes; -- > } VkDescriptorPoolCreateInfo; -- -- data VkDescriptorPoolCreateInfo = VkDescriptorPoolCreateInfo## Addr## ByteArray## instance Eq VkDescriptorPoolCreateInfo where (VkDescriptorPoolCreateInfo## a _) == x@(VkDescriptorPoolCreateInfo## b _) = EQ == cmpBytes## (sizeOf x) a b {-# INLINE (==) #-} instance Ord VkDescriptorPoolCreateInfo where (VkDescriptorPoolCreateInfo## a _) `compare` x@(VkDescriptorPoolCreateInfo## b _) = cmpBytes## (sizeOf x) a b {-# INLINE compare #-} instance Storable VkDescriptorPoolCreateInfo where sizeOf ~_ = #{size VkDescriptorPoolCreateInfo} {-# INLINE sizeOf #-} alignment ~_ = #{alignment VkDescriptorPoolCreateInfo} {-# INLINE alignment #-} peek = peekVkData## {-# INLINE peek #-} poke = pokeVkData## {-# INLINE poke #-} instance VulkanMarshalPrim VkDescriptorPoolCreateInfo where unsafeAddr (VkDescriptorPoolCreateInfo## a _) = a {-# INLINE unsafeAddr #-} unsafeByteArray (VkDescriptorPoolCreateInfo## _ b) = b {-# INLINE unsafeByteArray #-} unsafeFromByteArrayOffset off b = VkDescriptorPoolCreateInfo## (plusAddr## (byteArrayContents## b) off) b {-# INLINE unsafeFromByteArrayOffset #-} instance VulkanMarshal VkDescriptorPoolCreateInfo where type StructFields VkDescriptorPoolCreateInfo = '["sType", "pNext", "flags", "maxSets", "poolSizeCount", -- ' closing tick for hsc2hs "pPoolSizes"] type CUnionType VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs type ReturnedOnly VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs type StructExtends VkDescriptorPoolCreateInfo = '[] -- ' closing tick for hsc2hs instance {-# OVERLAPPING #-} HasVkSType VkDescriptorPoolCreateInfo where type VkSTypeMType VkDescriptorPoolCreateInfo = VkStructureType {-# NOINLINE vkSType #-} vkSType x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, sType}) {-# INLINE vkSTypeByteOffset #-} vkSTypeByteOffset ~_ = #{offset VkDescriptorPoolCreateInfo, sType} {-# INLINE readVkSType #-} readVkSType p = peekByteOff p #{offset VkDescriptorPoolCreateInfo, sType} {-# INLINE writeVkSType #-} writeVkSType p = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, sType} instance {-# OVERLAPPING #-} HasField "sType" VkDescriptorPoolCreateInfo where type FieldType "sType" VkDescriptorPoolCreateInfo = VkStructureType type FieldOptional "sType" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs type FieldOffset "sType" VkDescriptorPoolCreateInfo = #{offset VkDescriptorPoolCreateInfo, sType} type FieldIsArray "sType" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs {-# INLINE fieldOptional #-} fieldOptional = False {-# INLINE fieldOffset #-} fieldOffset = #{offset VkDescriptorPoolCreateInfo, sType} instance CanReadField "sType" VkDescriptorPoolCreateInfo where {-# INLINE getField #-} getField = vkSType {-# INLINE readField #-} readField = readVkSType instance CanWriteField "sType" VkDescriptorPoolCreateInfo where {-# INLINE writeField #-} writeField = writeVkSType instance {-# OVERLAPPING #-} HasVkPNext VkDescriptorPoolCreateInfo where type VkPNextMType VkDescriptorPoolCreateInfo = Ptr Void {-# NOINLINE vkPNext #-} vkPNext x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pNext}) {-# INLINE vkPNextByteOffset #-} vkPNextByteOffset ~_ = #{offset VkDescriptorPoolCreateInfo, pNext} {-# INLINE readVkPNext #-} readVkPNext p = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pNext} {-# INLINE writeVkPNext #-} writeVkPNext p = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pNext} instance {-# OVERLAPPING #-} HasField "pNext" VkDescriptorPoolCreateInfo where type FieldType "pNext" VkDescriptorPoolCreateInfo = Ptr Void type FieldOptional "pNext" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs type FieldOffset "pNext" VkDescriptorPoolCreateInfo = #{offset VkDescriptorPoolCreateInfo, pNext} type FieldIsArray "pNext" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs {-# INLINE fieldOptional #-} fieldOptional = False {-# INLINE fieldOffset #-} fieldOffset = #{offset VkDescriptorPoolCreateInfo, pNext} instance CanReadField "pNext" VkDescriptorPoolCreateInfo where {-# INLINE getField #-} getField = vkPNext {-# INLINE readField #-} readField = readVkPNext instance CanWriteField "pNext" VkDescriptorPoolCreateInfo where {-# INLINE writeField #-} writeField = writeVkPNext instance {-# OVERLAPPING #-} HasVkFlags VkDescriptorPoolCreateInfo where type VkFlagsMType VkDescriptorPoolCreateInfo = VkDescriptorPoolCreateFlags {-# NOINLINE vkFlags #-} vkFlags x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, flags}) {-# INLINE vkFlagsByteOffset #-} vkFlagsByteOffset ~_ = #{offset VkDescriptorPoolCreateInfo, flags} {-# INLINE readVkFlags #-} readVkFlags p = peekByteOff p #{offset VkDescriptorPoolCreateInfo, flags} {-# INLINE writeVkFlags #-} writeVkFlags p = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, flags} instance {-# OVERLAPPING #-} HasField "flags" VkDescriptorPoolCreateInfo where type FieldType "flags" VkDescriptorPoolCreateInfo = VkDescriptorPoolCreateFlags type FieldOptional "flags" VkDescriptorPoolCreateInfo = 'True -- ' closing tick for hsc2hs type FieldOffset "flags" VkDescriptorPoolCreateInfo = #{offset VkDescriptorPoolCreateInfo, flags} type FieldIsArray "flags" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs {-# INLINE fieldOptional #-} fieldOptional = True {-# INLINE fieldOffset #-} fieldOffset = #{offset VkDescriptorPoolCreateInfo, flags} instance CanReadField "flags" VkDescriptorPoolCreateInfo where {-# INLINE getField #-} getField = vkFlags {-# INLINE readField #-} readField = readVkFlags instance CanWriteField "flags" VkDescriptorPoolCreateInfo where {-# INLINE writeField #-} writeField = writeVkFlags instance {-# OVERLAPPING #-} HasVkMaxSets VkDescriptorPoolCreateInfo where type VkMaxSetsMType VkDescriptorPoolCreateInfo = Word32 {-# NOINLINE vkMaxSets #-} vkMaxSets x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, maxSets}) {-# INLINE vkMaxSetsByteOffset #-} vkMaxSetsByteOffset ~_ = #{offset VkDescriptorPoolCreateInfo, maxSets} {-# INLINE readVkMaxSets #-} readVkMaxSets p = peekByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets} {-# INLINE writeVkMaxSets #-} writeVkMaxSets p = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, maxSets} instance {-# OVERLAPPING #-} HasField "maxSets" VkDescriptorPoolCreateInfo where type FieldType "maxSets" VkDescriptorPoolCreateInfo = Word32 type FieldOptional "maxSets" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs type FieldOffset "maxSets" VkDescriptorPoolCreateInfo = #{offset VkDescriptorPoolCreateInfo, maxSets} type FieldIsArray "maxSets" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs {-# INLINE fieldOptional #-} fieldOptional = False {-# INLINE fieldOffset #-} fieldOffset = #{offset VkDescriptorPoolCreateInfo, maxSets} instance CanReadField "maxSets" VkDescriptorPoolCreateInfo where {-# INLINE getField #-} getField = vkMaxSets {-# INLINE readField #-} readField = readVkMaxSets instance CanWriteField "maxSets" VkDescriptorPoolCreateInfo where {-# INLINE writeField #-} writeField = writeVkMaxSets instance {-# OVERLAPPING #-} HasVkPoolSizeCount VkDescriptorPoolCreateInfo where type VkPoolSizeCountMType VkDescriptorPoolCreateInfo = Word32 {-# NOINLINE vkPoolSizeCount #-} vkPoolSizeCount x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, poolSizeCount}) {-# INLINE vkPoolSizeCountByteOffset #-} vkPoolSizeCountByteOffset ~_ = #{offset VkDescriptorPoolCreateInfo, poolSizeCount} {-# INLINE readVkPoolSizeCount #-} readVkPoolSizeCount p = peekByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount} {-# INLINE writeVkPoolSizeCount #-} writeVkPoolSizeCount p = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, poolSizeCount} instance {-# OVERLAPPING #-} HasField "poolSizeCount" VkDescriptorPoolCreateInfo where type FieldType "poolSizeCount" VkDescriptorPoolCreateInfo = Word32 type FieldOptional "poolSizeCount" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs type FieldOffset "poolSizeCount" VkDescriptorPoolCreateInfo = #{offset VkDescriptorPoolCreateInfo, poolSizeCount} type FieldIsArray "poolSizeCount" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs {-# INLINE fieldOptional #-} fieldOptional = False {-# INLINE fieldOffset #-} fieldOffset = #{offset VkDescriptorPoolCreateInfo, poolSizeCount} instance CanReadField "poolSizeCount" VkDescriptorPoolCreateInfo where {-# INLINE getField #-} getField = vkPoolSizeCount {-# INLINE readField #-} readField = readVkPoolSizeCount instance CanWriteField "poolSizeCount" VkDescriptorPoolCreateInfo where {-# INLINE writeField #-} writeField = writeVkPoolSizeCount instance {-# OVERLAPPING #-} HasVkPPoolSizes VkDescriptorPoolCreateInfo where type VkPPoolSizesMType VkDescriptorPoolCreateInfo = Ptr VkDescriptorPoolSize {-# NOINLINE vkPPoolSizes #-} vkPPoolSizes x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) #{offset VkDescriptorPoolCreateInfo, pPoolSizes}) {-# INLINE vkPPoolSizesByteOffset #-} vkPPoolSizesByteOffset ~_ = #{offset VkDescriptorPoolCreateInfo, pPoolSizes} {-# INLINE readVkPPoolSizes #-} readVkPPoolSizes p = peekByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes} {-# INLINE writeVkPPoolSizes #-} writeVkPPoolSizes p = pokeByteOff p #{offset VkDescriptorPoolCreateInfo, pPoolSizes} instance {-# OVERLAPPING #-} HasField "pPoolSizes" VkDescriptorPoolCreateInfo where type FieldType "pPoolSizes" VkDescriptorPoolCreateInfo = Ptr VkDescriptorPoolSize type FieldOptional "pPoolSizes" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs type FieldOffset "pPoolSizes" VkDescriptorPoolCreateInfo = #{offset VkDescriptorPoolCreateInfo, pPoolSizes} type FieldIsArray "pPoolSizes" VkDescriptorPoolCreateInfo = 'False -- ' closing tick for hsc2hs {-# INLINE fieldOptional #-} fieldOptional = False {-# INLINE fieldOffset #-} fieldOffset = #{offset VkDescriptorPoolCreateInfo, pPoolSizes} instance CanReadField "pPoolSizes" VkDescriptorPoolCreateInfo where {-# INLINE getField #-} getField = vkPPoolSizes {-# INLINE readField #-} readField = readVkPPoolSizes instance CanWriteField "pPoolSizes" VkDescriptorPoolCreateInfo where {-# INLINE writeField #-} writeField = writeVkPPoolSizes instance Show VkDescriptorPoolCreateInfo where showsPrec d x = showString "VkDescriptorPoolCreateInfo {" . showString "vkSType = " . showsPrec d (vkSType x) . showString ", " . showString "vkPNext = " . showsPrec d (vkPNext x) . showString ", " . showString "vkFlags = " . showsPrec d (vkFlags x) . showString ", " . showString "vkMaxSets = " . showsPrec d (vkMaxSets x) . showString ", " . showString "vkPoolSizeCount = " . showsPrec d (vkPoolSizeCount x) . showString ", " . showString "vkPPoolSizes = " . showsPrec d (vkPPoolSizes x) . showChar '}'