module Graphics.Vulkan.Types.Struct.Export
(VkExportFenceCreateInfo(..), VkExportFenceCreateInfoKHR,
VkExportMemoryAllocateInfo(..), VkExportMemoryAllocateInfoKHR,
VkExportMemoryAllocateInfoNV(..), VkExportSemaphoreCreateInfo(..),
VkExportSemaphoreCreateInfoKHR)
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.External (VkExternalFenceHandleTypeFlags,
VkExternalMemoryHandleTypeFlags,
VkExternalMemoryHandleTypeFlagsNV,
VkExternalSemaphoreHandleTypeFlags)
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import Graphics.Vulkan.Types.Struct.Fence (VkFenceCreateInfo)
import Graphics.Vulkan.Types.Struct.Memory (VkMemoryAllocateInfo)
import Graphics.Vulkan.Types.Struct.Semaphore (VkSemaphoreCreateInfo)
import System.IO.Unsafe (unsafeDupablePerformIO)
data VkExportFenceCreateInfo = VkExportFenceCreateInfo# Addr#
ByteArray#
instance Eq VkExportFenceCreateInfo where
(VkExportFenceCreateInfo# a _) == x@(VkExportFenceCreateInfo# b _)
= EQ == cmpBytes# (sizeOf x) a b
instance Ord VkExportFenceCreateInfo where
(VkExportFenceCreateInfo# a _) `compare`
x@(VkExportFenceCreateInfo# b _) = cmpBytes# (sizeOf x) a b
instance Storable VkExportFenceCreateInfo where
sizeOf ~_ = (24)
alignment ~_ = (8)
peek = peekVkData#
poke = pokeVkData#
instance VulkanMarshalPrim VkExportFenceCreateInfo where
unsafeAddr (VkExportFenceCreateInfo# a _) = a
unsafeByteArray (VkExportFenceCreateInfo# _ b) = b
unsafeFromByteArrayOffset off b
= VkExportFenceCreateInfo# (plusAddr# (byteArrayContents# b) off) b
instance VulkanMarshal VkExportFenceCreateInfo where
type StructFields VkExportFenceCreateInfo =
'["sType", "pNext", "handleTypes"]
type CUnionType VkExportFenceCreateInfo = 'False
type ReturnedOnly VkExportFenceCreateInfo = 'False
type StructExtends VkExportFenceCreateInfo = '[VkFenceCreateInfo]
instance
HasField "sType" VkExportFenceCreateInfo where
type FieldType "sType" VkExportFenceCreateInfo = VkStructureType
type FieldOptional "sType" VkExportFenceCreateInfo = 'False
type FieldOffset "sType" VkExportFenceCreateInfo =
(0)
type FieldIsArray "sType" VkExportFenceCreateInfo = 'False
fieldOptional = False
fieldOffset = (0)
instance
CanReadField "sType" VkExportFenceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
readField p
= peekByteOff p (0)
instance
CanWriteField "sType" VkExportFenceCreateInfo where
writeField p
= pokeByteOff p (0)
instance
HasField "pNext" VkExportFenceCreateInfo where
type FieldType "pNext" VkExportFenceCreateInfo = Ptr Void
type FieldOptional "pNext" VkExportFenceCreateInfo = 'False
type FieldOffset "pNext" VkExportFenceCreateInfo =
(8)
type FieldIsArray "pNext" VkExportFenceCreateInfo = 'False
fieldOptional = False
fieldOffset = (8)
instance
CanReadField "pNext" VkExportFenceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
readField p
= peekByteOff p (8)
instance
CanWriteField "pNext" VkExportFenceCreateInfo where
writeField p
= pokeByteOff p (8)
instance
HasField "handleTypes" VkExportFenceCreateInfo where
type FieldType "handleTypes" VkExportFenceCreateInfo =
VkExternalFenceHandleTypeFlags
type FieldOptional "handleTypes" VkExportFenceCreateInfo = 'True
type FieldOffset "handleTypes" VkExportFenceCreateInfo =
(16)
type FieldIsArray "handleTypes" VkExportFenceCreateInfo = 'False
fieldOptional = True
fieldOffset
= (16)
instance
CanReadField "handleTypes" VkExportFenceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
readField p
= peekByteOff p (16)
instance
CanWriteField "handleTypes" VkExportFenceCreateInfo where
writeField p
= pokeByteOff p (16)
instance Show VkExportFenceCreateInfo where
showsPrec d x
= showString "VkExportFenceCreateInfo {" .
showString "sType = " .
showsPrec d (getField @"sType" x) .
showString ", " .
showString "pNext = " .
showsPrec d (getField @"pNext" x) .
showString ", " .
showString "handleTypes = " .
showsPrec d (getField @"handleTypes" x) . showChar '}'
type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo
data VkExportMemoryAllocateInfo = VkExportMemoryAllocateInfo# Addr#
ByteArray#
instance Eq VkExportMemoryAllocateInfo where
(VkExportMemoryAllocateInfo# a _) ==
x@(VkExportMemoryAllocateInfo# b _)
= EQ == cmpBytes# (sizeOf x) a b
instance Ord VkExportMemoryAllocateInfo where
(VkExportMemoryAllocateInfo# a _) `compare`
x@(VkExportMemoryAllocateInfo# b _) = cmpBytes# (sizeOf x) a b
instance Storable VkExportMemoryAllocateInfo where
sizeOf ~_ = (24)
alignment ~_ = (8)
peek = peekVkData#
poke = pokeVkData#
instance VulkanMarshalPrim VkExportMemoryAllocateInfo where
unsafeAddr (VkExportMemoryAllocateInfo# a _) = a
unsafeByteArray (VkExportMemoryAllocateInfo# _ b) = b
unsafeFromByteArrayOffset off b
= VkExportMemoryAllocateInfo#
(plusAddr# (byteArrayContents# b) off)
b
instance VulkanMarshal VkExportMemoryAllocateInfo where
type StructFields VkExportMemoryAllocateInfo =
'["sType", "pNext", "handleTypes"]
type CUnionType VkExportMemoryAllocateInfo = 'False
type ReturnedOnly VkExportMemoryAllocateInfo = 'False
type StructExtends VkExportMemoryAllocateInfo =
'[VkMemoryAllocateInfo]
instance
HasField "sType" VkExportMemoryAllocateInfo where
type FieldType "sType" VkExportMemoryAllocateInfo = VkStructureType
type FieldOptional "sType" VkExportMemoryAllocateInfo = 'False
type FieldOffset "sType" VkExportMemoryAllocateInfo =
(0)
type FieldIsArray "sType" VkExportMemoryAllocateInfo = 'False
fieldOptional = False
fieldOffset
= (0)
instance
CanReadField "sType" VkExportMemoryAllocateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
readField p
= peekByteOff p (0)
instance
CanWriteField "sType" VkExportMemoryAllocateInfo where
writeField p
= pokeByteOff p (0)
instance
HasField "pNext" VkExportMemoryAllocateInfo where
type FieldType "pNext" VkExportMemoryAllocateInfo = Ptr Void
type FieldOptional "pNext" VkExportMemoryAllocateInfo = 'False
type FieldOffset "pNext" VkExportMemoryAllocateInfo =
(8)
type FieldIsArray "pNext" VkExportMemoryAllocateInfo = 'False
fieldOptional = False
fieldOffset
= (8)
instance
CanReadField "pNext" VkExportMemoryAllocateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
readField p
= peekByteOff p (8)
instance
CanWriteField "pNext" VkExportMemoryAllocateInfo where
writeField p
= pokeByteOff p (8)
instance
HasField "handleTypes" VkExportMemoryAllocateInfo where
type FieldType "handleTypes" VkExportMemoryAllocateInfo =
VkExternalMemoryHandleTypeFlags
type FieldOptional "handleTypes" VkExportMemoryAllocateInfo = 'True
type FieldOffset "handleTypes" VkExportMemoryAllocateInfo =
(16)
type FieldIsArray "handleTypes" VkExportMemoryAllocateInfo = 'False
fieldOptional = True
fieldOffset
= (16)
instance
CanReadField "handleTypes" VkExportMemoryAllocateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
readField p
= peekByteOff p (16)
instance
CanWriteField "handleTypes" VkExportMemoryAllocateInfo where
writeField p
= pokeByteOff p (16)
instance Show VkExportMemoryAllocateInfo where
showsPrec d x
= showString "VkExportMemoryAllocateInfo {" .
showString "sType = " .
showsPrec d (getField @"sType" x) .
showString ", " .
showString "pNext = " .
showsPrec d (getField @"pNext" x) .
showString ", " .
showString "handleTypes = " .
showsPrec d (getField @"handleTypes" x) . showChar '}'
type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo
data VkExportMemoryAllocateInfoNV = VkExportMemoryAllocateInfoNV# Addr#
ByteArray#
instance Eq VkExportMemoryAllocateInfoNV where
(VkExportMemoryAllocateInfoNV# a _) ==
x@(VkExportMemoryAllocateInfoNV# b _)
= EQ == cmpBytes# (sizeOf x) a b
instance Ord VkExportMemoryAllocateInfoNV where
(VkExportMemoryAllocateInfoNV# a _) `compare`
x@(VkExportMemoryAllocateInfoNV# b _) = cmpBytes# (sizeOf x) a b
instance Storable VkExportMemoryAllocateInfoNV where
sizeOf ~_ = (24)
alignment ~_
= (8)
peek = peekVkData#
poke = pokeVkData#
instance VulkanMarshalPrim VkExportMemoryAllocateInfoNV where
unsafeAddr (VkExportMemoryAllocateInfoNV# a _) = a
unsafeByteArray (VkExportMemoryAllocateInfoNV# _ b) = b
unsafeFromByteArrayOffset off b
= VkExportMemoryAllocateInfoNV#
(plusAddr# (byteArrayContents# b) off)
b
instance VulkanMarshal VkExportMemoryAllocateInfoNV where
type StructFields VkExportMemoryAllocateInfoNV =
'["sType", "pNext", "handleTypes"]
type CUnionType VkExportMemoryAllocateInfoNV = 'False
type ReturnedOnly VkExportMemoryAllocateInfoNV = 'False
type StructExtends VkExportMemoryAllocateInfoNV =
'[VkMemoryAllocateInfo]
instance
HasField "sType" VkExportMemoryAllocateInfoNV where
type FieldType "sType" VkExportMemoryAllocateInfoNV =
VkStructureType
type FieldOptional "sType" VkExportMemoryAllocateInfoNV = 'False
type FieldOffset "sType" VkExportMemoryAllocateInfoNV =
(0)
type FieldIsArray "sType" VkExportMemoryAllocateInfoNV = 'False
fieldOptional = False
fieldOffset
= (0)
instance
CanReadField "sType" VkExportMemoryAllocateInfoNV where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
readField p
= peekByteOff p (0)
instance
CanWriteField "sType" VkExportMemoryAllocateInfoNV where
writeField p
= pokeByteOff p (0)
instance
HasField "pNext" VkExportMemoryAllocateInfoNV where
type FieldType "pNext" VkExportMemoryAllocateInfoNV = Ptr Void
type FieldOptional "pNext" VkExportMemoryAllocateInfoNV = 'False
type FieldOffset "pNext" VkExportMemoryAllocateInfoNV =
(8)
type FieldIsArray "pNext" VkExportMemoryAllocateInfoNV = 'False
fieldOptional = False
fieldOffset
= (8)
instance
CanReadField "pNext" VkExportMemoryAllocateInfoNV where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
readField p
= peekByteOff p (8)
instance
CanWriteField "pNext" VkExportMemoryAllocateInfoNV where
writeField p
= pokeByteOff p (8)
instance
HasField "handleTypes" VkExportMemoryAllocateInfoNV where
type FieldType "handleTypes" VkExportMemoryAllocateInfoNV =
VkExternalMemoryHandleTypeFlagsNV
type FieldOptional "handleTypes" VkExportMemoryAllocateInfoNV =
'True
type FieldOffset "handleTypes" VkExportMemoryAllocateInfoNV =
(16)
type FieldIsArray "handleTypes" VkExportMemoryAllocateInfoNV =
'False
fieldOptional = True
fieldOffset
= (16)
instance
CanReadField "handleTypes" VkExportMemoryAllocateInfoNV where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
readField p
= peekByteOff p (16)
instance
CanWriteField "handleTypes" VkExportMemoryAllocateInfoNV where
writeField p
= pokeByteOff p (16)
instance Show VkExportMemoryAllocateInfoNV where
showsPrec d x
= showString "VkExportMemoryAllocateInfoNV {" .
showString "sType = " .
showsPrec d (getField @"sType" x) .
showString ", " .
showString "pNext = " .
showsPrec d (getField @"pNext" x) .
showString ", " .
showString "handleTypes = " .
showsPrec d (getField @"handleTypes" x) . showChar '}'
data VkExportSemaphoreCreateInfo = VkExportSemaphoreCreateInfo# Addr#
ByteArray#
instance Eq VkExportSemaphoreCreateInfo where
(VkExportSemaphoreCreateInfo# a _) ==
x@(VkExportSemaphoreCreateInfo# b _)
= EQ == cmpBytes# (sizeOf x) a b
instance Ord VkExportSemaphoreCreateInfo where
(VkExportSemaphoreCreateInfo# a _) `compare`
x@(VkExportSemaphoreCreateInfo# b _) = cmpBytes# (sizeOf x) a b
instance Storable VkExportSemaphoreCreateInfo where
sizeOf ~_ = (24)
alignment ~_ = (8)
peek = peekVkData#
poke = pokeVkData#
instance VulkanMarshalPrim VkExportSemaphoreCreateInfo where
unsafeAddr (VkExportSemaphoreCreateInfo# a _) = a
unsafeByteArray (VkExportSemaphoreCreateInfo# _ b) = b
unsafeFromByteArrayOffset off b
= VkExportSemaphoreCreateInfo#
(plusAddr# (byteArrayContents# b) off)
b
instance VulkanMarshal VkExportSemaphoreCreateInfo where
type StructFields VkExportSemaphoreCreateInfo =
'["sType", "pNext", "handleTypes"]
type CUnionType VkExportSemaphoreCreateInfo = 'False
type ReturnedOnly VkExportSemaphoreCreateInfo = 'False
type StructExtends VkExportSemaphoreCreateInfo =
'[VkSemaphoreCreateInfo]
instance
HasField "sType" VkExportSemaphoreCreateInfo where
type FieldType "sType" VkExportSemaphoreCreateInfo =
VkStructureType
type FieldOptional "sType" VkExportSemaphoreCreateInfo = 'False
type FieldOffset "sType" VkExportSemaphoreCreateInfo =
(0)
type FieldIsArray "sType" VkExportSemaphoreCreateInfo = 'False
fieldOptional = False
fieldOffset
= (0)
instance
CanReadField "sType" VkExportSemaphoreCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
readField p
= peekByteOff p (0)
instance
CanWriteField "sType" VkExportSemaphoreCreateInfo where
writeField p
= pokeByteOff p (0)
instance
HasField "pNext" VkExportSemaphoreCreateInfo where
type FieldType "pNext" VkExportSemaphoreCreateInfo = Ptr Void
type FieldOptional "pNext" VkExportSemaphoreCreateInfo = 'False
type FieldOffset "pNext" VkExportSemaphoreCreateInfo =
(8)
type FieldIsArray "pNext" VkExportSemaphoreCreateInfo = 'False
fieldOptional = False
fieldOffset
= (8)
instance
CanReadField "pNext" VkExportSemaphoreCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
readField p
= peekByteOff p (8)
instance
CanWriteField "pNext" VkExportSemaphoreCreateInfo where
writeField p
= pokeByteOff p (8)
instance
HasField "handleTypes" VkExportSemaphoreCreateInfo where
type FieldType "handleTypes" VkExportSemaphoreCreateInfo =
VkExternalSemaphoreHandleTypeFlags
type FieldOptional "handleTypes" VkExportSemaphoreCreateInfo =
'True
type FieldOffset "handleTypes" VkExportSemaphoreCreateInfo =
(16)
type FieldIsArray "handleTypes" VkExportSemaphoreCreateInfo =
'False
fieldOptional = True
fieldOffset
= (16)
instance
CanReadField "handleTypes" VkExportSemaphoreCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
readField p
= peekByteOff p (16)
instance
CanWriteField "handleTypes" VkExportSemaphoreCreateInfo where
writeField p
= pokeByteOff p (16)
instance Show VkExportSemaphoreCreateInfo where
showsPrec d x
= showString "VkExportSemaphoreCreateInfo {" .
showString "sType = " .
showsPrec d (getField @"sType" x) .
showString ", " .
showString "pNext = " .
showsPrec d (getField @"pNext" x) .
showString ", " .
showString "handleTypes = " .
showsPrec d (getField @"handleTypes" x) . showChar '}'
type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo