module Graphics.Vulkan.Types.Struct.WriteDescriptorSet
(VkWriteDescriptorSet(..)) 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.Descriptor (VkDescriptorType)
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import Graphics.Vulkan.Types.Handles (VkBufferView,
VkDescriptorSet)
import Graphics.Vulkan.Types.Struct.Descriptor (VkDescriptorBufferInfo,
VkDescriptorImageInfo)
import System.IO.Unsafe (unsafeDupablePerformIO)
data VkWriteDescriptorSet = VkWriteDescriptorSet# Addr# ByteArray#
instance Eq VkWriteDescriptorSet where
(VkWriteDescriptorSet# a _) == x@(VkWriteDescriptorSet# b _)
= EQ == cmpBytes# (sizeOf x) a b
instance Ord VkWriteDescriptorSet where
(VkWriteDescriptorSet# a _) `compare` x@(VkWriteDescriptorSet# b _)
= cmpBytes# (sizeOf x) a b
instance Storable VkWriteDescriptorSet where
sizeOf ~_ = (64)
alignment ~_ = (8)
peek = peekVkData#
poke = pokeVkData#
instance VulkanMarshalPrim VkWriteDescriptorSet where
unsafeAddr (VkWriteDescriptorSet# a _) = a
unsafeByteArray (VkWriteDescriptorSet# _ b) = b
unsafeFromByteArrayOffset off b
= VkWriteDescriptorSet# (plusAddr# (byteArrayContents# b) off) b
instance VulkanMarshal VkWriteDescriptorSet where
type StructFields VkWriteDescriptorSet =
'["sType", "pNext", "dstSet", "dstBinding", "dstArrayElement",
"descriptorCount", "descriptorType", "pImageInfo", "pBufferInfo",
"pTexelBufferView"]
type CUnionType VkWriteDescriptorSet = 'False
type ReturnedOnly VkWriteDescriptorSet = 'False
type StructExtends VkWriteDescriptorSet = '[]
instance HasField "sType" VkWriteDescriptorSet
where
type FieldType "sType" VkWriteDescriptorSet = VkStructureType
type FieldOptional "sType" VkWriteDescriptorSet = 'False
type FieldOffset "sType" VkWriteDescriptorSet =
(0)
type FieldIsArray "sType" VkWriteDescriptorSet = 'False
fieldOptional = False
fieldOffset = (0)
instance
CanReadField "sType" VkWriteDescriptorSet where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
readField p
= peekByteOff p (0)
instance
CanWriteField "sType" VkWriteDescriptorSet where
writeField p
= pokeByteOff p (0)
instance HasField "pNext" VkWriteDescriptorSet
where
type FieldType "pNext" VkWriteDescriptorSet = Ptr Void
type FieldOptional "pNext" VkWriteDescriptorSet = 'False
type FieldOffset "pNext" VkWriteDescriptorSet =
(8)
type FieldIsArray "pNext" VkWriteDescriptorSet = 'False
fieldOptional = False
fieldOffset = (8)
instance
CanReadField "pNext" VkWriteDescriptorSet where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
readField p
= peekByteOff p (8)
instance
CanWriteField "pNext" VkWriteDescriptorSet where
writeField p
= pokeByteOff p (8)
instance HasField "dstSet" VkWriteDescriptorSet
where
type FieldType "dstSet" VkWriteDescriptorSet = VkDescriptorSet
type FieldOptional "dstSet" VkWriteDescriptorSet = 'False
type FieldOffset "dstSet" VkWriteDescriptorSet =
(16)
type FieldIsArray "dstSet" VkWriteDescriptorSet = 'False
fieldOptional = False
fieldOffset = (16)
instance
CanReadField "dstSet" VkWriteDescriptorSet where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
readField p
= peekByteOff p (16)
instance
CanWriteField "dstSet" VkWriteDescriptorSet where
writeField p
= pokeByteOff p (16)
instance
HasField "dstBinding" VkWriteDescriptorSet where
type FieldType "dstBinding" VkWriteDescriptorSet = Word32
type FieldOptional "dstBinding" VkWriteDescriptorSet = 'False
type FieldOffset "dstBinding" VkWriteDescriptorSet =
(24)
type FieldIsArray "dstBinding" VkWriteDescriptorSet = 'False
fieldOptional = False
fieldOffset
= (24)
instance
CanReadField "dstBinding" VkWriteDescriptorSet where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (24))
readField p
= peekByteOff p (24)
instance
CanWriteField "dstBinding" VkWriteDescriptorSet where
writeField p
= pokeByteOff p (24)
instance
HasField "dstArrayElement" VkWriteDescriptorSet where
type FieldType "dstArrayElement" VkWriteDescriptorSet = Word32
type FieldOptional "dstArrayElement" VkWriteDescriptorSet = 'False
type FieldOffset "dstArrayElement" VkWriteDescriptorSet =
(28)
type FieldIsArray "dstArrayElement" VkWriteDescriptorSet = 'False
fieldOptional = False
fieldOffset
= (28)
instance
CanReadField "dstArrayElement" VkWriteDescriptorSet where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (28))
readField p
= peekByteOff p (28)
instance
CanWriteField "dstArrayElement" VkWriteDescriptorSet where
writeField p
= pokeByteOff p (28)
instance
HasField "descriptorCount" VkWriteDescriptorSet where
type FieldType "descriptorCount" VkWriteDescriptorSet = Word32
type FieldOptional "descriptorCount" VkWriteDescriptorSet = 'False
type FieldOffset "descriptorCount" VkWriteDescriptorSet =
(32)
type FieldIsArray "descriptorCount" VkWriteDescriptorSet = 'False
fieldOptional = False
fieldOffset
= (32)
instance
CanReadField "descriptorCount" VkWriteDescriptorSet where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (32))
readField p
= peekByteOff p (32)
instance
CanWriteField "descriptorCount" VkWriteDescriptorSet where
writeField p
= pokeByteOff p (32)
instance
HasField "descriptorType" VkWriteDescriptorSet where
type FieldType "descriptorType" VkWriteDescriptorSet =
VkDescriptorType
type FieldOptional "descriptorType" VkWriteDescriptorSet = 'False
type FieldOffset "descriptorType" VkWriteDescriptorSet =
(36)
type FieldIsArray "descriptorType" VkWriteDescriptorSet = 'False
fieldOptional = False
fieldOffset
= (36)
instance
CanReadField "descriptorType" VkWriteDescriptorSet where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (36))
readField p
= peekByteOff p (36)
instance
CanWriteField "descriptorType" VkWriteDescriptorSet where
writeField p
= pokeByteOff p (36)
instance
HasField "pImageInfo" VkWriteDescriptorSet where
type FieldType "pImageInfo" VkWriteDescriptorSet =
Ptr VkDescriptorImageInfo
type FieldOptional "pImageInfo" VkWriteDescriptorSet = 'False
type FieldOffset "pImageInfo" VkWriteDescriptorSet =
(40)
type FieldIsArray "pImageInfo" VkWriteDescriptorSet = 'False
fieldOptional = False
fieldOffset
= (40)
instance
CanReadField "pImageInfo" VkWriteDescriptorSet where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (40))
readField p
= peekByteOff p (40)
instance
CanWriteField "pImageInfo" VkWriteDescriptorSet where
writeField p
= pokeByteOff p (40)
instance
HasField "pBufferInfo" VkWriteDescriptorSet where
type FieldType "pBufferInfo" VkWriteDescriptorSet =
Ptr VkDescriptorBufferInfo
type FieldOptional "pBufferInfo" VkWriteDescriptorSet = 'False
type FieldOffset "pBufferInfo" VkWriteDescriptorSet =
(48)
type FieldIsArray "pBufferInfo" VkWriteDescriptorSet = 'False
fieldOptional = False
fieldOffset
= (48)
instance
CanReadField "pBufferInfo" VkWriteDescriptorSet where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (48))
readField p
= peekByteOff p (48)
instance
CanWriteField "pBufferInfo" VkWriteDescriptorSet where
writeField p
= pokeByteOff p (48)
instance
HasField "pTexelBufferView" VkWriteDescriptorSet where
type FieldType "pTexelBufferView" VkWriteDescriptorSet =
Ptr VkBufferView
type FieldOptional "pTexelBufferView" VkWriteDescriptorSet = 'False
type FieldOffset "pTexelBufferView" VkWriteDescriptorSet =
(56)
type FieldIsArray "pTexelBufferView" VkWriteDescriptorSet = 'False
fieldOptional = False
fieldOffset
= (56)
instance
CanReadField "pTexelBufferView" VkWriteDescriptorSet where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (56))
readField p
= peekByteOff p (56)
instance
CanWriteField "pTexelBufferView" VkWriteDescriptorSet where
writeField p
= pokeByteOff p (56)
instance Show VkWriteDescriptorSet where
showsPrec d x
= showString "VkWriteDescriptorSet {" .
showString "sType = " .
showsPrec d (getField @"sType" x) .
showString ", " .
showString "pNext = " .
showsPrec d (getField @"pNext" x) .
showString ", " .
showString "dstSet = " .
showsPrec d (getField @"dstSet" x) .
showString ", " .
showString "dstBinding = " .
showsPrec d (getField @"dstBinding" x) .
showString ", " .
showString "dstArrayElement = " .
showsPrec d (getField @"dstArrayElement" x) .
showString ", " .
showString "descriptorCount = " .
showsPrec d (getField @"descriptorCount" x) .
showString ", " .
showString "descriptorType = " .
showsPrec d (getField @"descriptorType" x) .
showString ", " .
showString "pImageInfo = " .
showsPrec d (getField @"pImageInfo" x) .
showString ", " .
showString "pBufferInfo = " .
showsPrec d
(getField @"pBufferInfo" x)
.
showString ", " .
showString "pTexelBufferView = "
.
showsPrec d
(getField
@"pTexelBufferView"
x)
. showChar '}'