{-# LINE 1 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# LINE 2 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
module Graphics.Vulkan.Types.Struct.ComputePipelineCreateInfo
(VkComputePipelineCreateInfo(..)) where
import Foreign.Storable (Storable (..))
import GHC.Base (Addr#, ByteArray#,
byteArrayContents#,
plusAddr#)
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Enum.Pipeline (VkPipelineCreateFlags)
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import Graphics.Vulkan.Types.Handles (VkPipeline,
VkPipelineLayout)
import Graphics.Vulkan.Types.Struct.Pipeline (VkPipelineShaderStageCreateInfo)
import System.IO.Unsafe (unsafeDupablePerformIO)
data VkComputePipelineCreateInfo = VkComputePipelineCreateInfo# Addr#
ByteArray#
instance Eq VkComputePipelineCreateInfo where
(VkComputePipelineCreateInfo# a _) ==
x@(VkComputePipelineCreateInfo# b _)
= EQ == cmpBytes# (sizeOf x) a b
{-# INLINE (==) #-}
instance Ord VkComputePipelineCreateInfo where
(VkComputePipelineCreateInfo# a _) `compare`
x@(VkComputePipelineCreateInfo# b _) = cmpBytes# (sizeOf x) a b
{-# INLINE compare #-}
instance Storable VkComputePipelineCreateInfo where
sizeOf ~_ = (96)
{-# LINE 54 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# INLINE sizeOf #-}
alignment ~_ = (8)
{-# LINE 57 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# INLINE alignment #-}
peek = peekVkData#
{-# INLINE peek #-}
poke = pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkComputePipelineCreateInfo where
unsafeAddr (VkComputePipelineCreateInfo# a _) = a
{-# INLINE unsafeAddr #-}
unsafeByteArray (VkComputePipelineCreateInfo# _ b) = b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset off b
= VkComputePipelineCreateInfo#
(plusAddr# (byteArrayContents# b) off)
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkComputePipelineCreateInfo where
type StructFields VkComputePipelineCreateInfo =
'["sType", "pNext", "flags", "stage", "layout", -- ' closing tick for hsc2hs
"basePipelineHandle", "basePipelineIndex"]
type CUnionType VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
type ReturnedOnly VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
type StructExtends VkComputePipelineCreateInfo = '[] -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
HasField "sType" VkComputePipelineCreateInfo where
type FieldType "sType" VkComputePipelineCreateInfo =
VkStructureType
type FieldOptional "sType" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
type FieldOffset "sType" VkComputePipelineCreateInfo =
(0)
{-# LINE 95 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
type FieldIsArray "sType" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (0)
{-# LINE 103 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "sType" VkComputePipelineCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
{-# LINE 110 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (0)
{-# LINE 114 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "sType" VkComputePipelineCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (0)
{-# LINE 120 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "pNext" VkComputePipelineCreateInfo where
type FieldType "pNext" VkComputePipelineCreateInfo = Ptr Void
type FieldOptional "pNext" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
type FieldOffset "pNext" VkComputePipelineCreateInfo =
(8)
{-# LINE 127 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
type FieldIsArray "pNext" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (8)
{-# LINE 135 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "pNext" VkComputePipelineCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
{-# LINE 142 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (8)
{-# LINE 146 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "pNext" VkComputePipelineCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (8)
{-# LINE 152 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "flags" VkComputePipelineCreateInfo where
type FieldType "flags" VkComputePipelineCreateInfo =
VkPipelineCreateFlags
type FieldOptional "flags" VkComputePipelineCreateInfo = 'True -- ' closing tick for hsc2hs
type FieldOffset "flags" VkComputePipelineCreateInfo =
(16)
{-# LINE 160 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
type FieldIsArray "flags" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = True
{-# INLINE fieldOffset #-}
fieldOffset
= (16)
{-# LINE 168 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "flags" VkComputePipelineCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
{-# LINE 175 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (16)
{-# LINE 179 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "flags" VkComputePipelineCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (16)
{-# LINE 185 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "stage" VkComputePipelineCreateInfo where
type FieldType "stage" VkComputePipelineCreateInfo =
VkPipelineShaderStageCreateInfo
type FieldOptional "stage" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
type FieldOffset "stage" VkComputePipelineCreateInfo =
(24)
{-# LINE 193 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
type FieldIsArray "stage" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (24)
{-# LINE 201 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "stage" VkComputePipelineCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (24))
{-# LINE 208 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (24)
{-# LINE 212 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "stage" VkComputePipelineCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (24)
{-# LINE 218 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "layout" VkComputePipelineCreateInfo where
type FieldType "layout" VkComputePipelineCreateInfo =
VkPipelineLayout
type FieldOptional "layout" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
type FieldOffset "layout" VkComputePipelineCreateInfo =
(72)
{-# LINE 226 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
type FieldIsArray "layout" VkComputePipelineCreateInfo = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (72)
{-# LINE 234 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "layout" VkComputePipelineCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (72))
{-# LINE 241 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (72)
{-# LINE 245 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "layout" VkComputePipelineCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (72)
{-# LINE 251 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "basePipelineHandle" VkComputePipelineCreateInfo where
type FieldType "basePipelineHandle" VkComputePipelineCreateInfo =
VkPipeline
type FieldOptional "basePipelineHandle" VkComputePipelineCreateInfo
= 'True -- ' closing tick for hsc2hs
type FieldOffset "basePipelineHandle" VkComputePipelineCreateInfo =
(80)
{-# LINE 260 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
type FieldIsArray "basePipelineHandle" VkComputePipelineCreateInfo
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = True
{-# INLINE fieldOffset #-}
fieldOffset
= (80)
{-# LINE 269 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "basePipelineHandle" VkComputePipelineCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (80))
{-# LINE 276 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (80)
{-# LINE 280 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "basePipelineHandle" VkComputePipelineCreateInfo
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (80)
{-# LINE 287 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "basePipelineIndex" VkComputePipelineCreateInfo where
type FieldType "basePipelineIndex" VkComputePipelineCreateInfo =
Int32
type FieldOptional "basePipelineIndex" VkComputePipelineCreateInfo
= 'False -- ' closing tick for hsc2hs
type FieldOffset "basePipelineIndex" VkComputePipelineCreateInfo =
(88)
{-# LINE 296 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
type FieldIsArray "basePipelineIndex" VkComputePipelineCreateInfo =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (88)
{-# LINE 305 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "basePipelineIndex" VkComputePipelineCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (88))
{-# LINE 312 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (88)
{-# LINE 316 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "basePipelineIndex" VkComputePipelineCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (88)
{-# LINE 322 "src-gen/Graphics/Vulkan/Types/Struct/ComputePipelineCreateInfo.hsc" #-}
instance Show VkComputePipelineCreateInfo where
showsPrec d x
= showString "VkComputePipelineCreateInfo {" .
showString "sType = " .
showsPrec d (getField @"sType" x) .
showString ", " .
showString "pNext = " .
showsPrec d (getField @"pNext" x) .
showString ", " .
showString "flags = " .
showsPrec d (getField @"flags" x) .
showString ", " .
showString "stage = " .
showsPrec d (getField @"stage" x) .
showString ", " .
showString "layout = " .
showsPrec d (getField @"layout" x) .
showString ", " .
showString "basePipelineHandle = " .
showsPrec d (getField @"basePipelineHandle" x) .
showString ", " .
showString "basePipelineIndex = " .
showsPrec d (getField @"basePipelineIndex" x) .
showChar '}'