module Graphics.Vulkan.Types.Struct.InstanceCreateInfo
(VkInstanceCreateInfo(..)) 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.Bitmasks (VkInstanceCreateFlags)
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import Graphics.Vulkan.Types.Struct.ApplicationInfo (VkApplicationInfo)
import System.IO.Unsafe (unsafeDupablePerformIO)
data VkInstanceCreateInfo = VkInstanceCreateInfo# Addr# ByteArray#
instance Eq VkInstanceCreateInfo where
(VkInstanceCreateInfo# a _) == x@(VkInstanceCreateInfo# b _)
= EQ == cmpBytes# (sizeOf x) a b
instance Ord VkInstanceCreateInfo where
(VkInstanceCreateInfo# a _) `compare` x@(VkInstanceCreateInfo# b _)
= cmpBytes# (sizeOf x) a b
instance Storable VkInstanceCreateInfo where
sizeOf ~_ = (64)
alignment ~_ = (8)
peek = peekVkData#
poke = pokeVkData#
instance VulkanMarshalPrim VkInstanceCreateInfo where
unsafeAddr (VkInstanceCreateInfo# a _) = a
unsafeByteArray (VkInstanceCreateInfo# _ b) = b
unsafeFromByteArrayOffset off b
= VkInstanceCreateInfo# (plusAddr# (byteArrayContents# b) off) b
instance VulkanMarshal VkInstanceCreateInfo where
type StructFields VkInstanceCreateInfo =
'["sType", "pNext", "flags", "pApplicationInfo",
"enabledLayerCount", "ppEnabledLayerNames",
"enabledExtensionCount", "ppEnabledExtensionNames"]
type CUnionType VkInstanceCreateInfo = 'False
type ReturnedOnly VkInstanceCreateInfo = 'False
type StructExtends VkInstanceCreateInfo = '[]
instance HasField "sType" VkInstanceCreateInfo
where
type FieldType "sType" VkInstanceCreateInfo = VkStructureType
type FieldOptional "sType" VkInstanceCreateInfo = 'False
type FieldOffset "sType" VkInstanceCreateInfo =
(0)
type FieldIsArray "sType" VkInstanceCreateInfo = 'False
fieldOptional = False
fieldOffset = (0)
instance
CanReadField "sType" VkInstanceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
readField p
= peekByteOff p (0)
instance
CanWriteField "sType" VkInstanceCreateInfo where
writeField p
= pokeByteOff p (0)
instance HasField "pNext" VkInstanceCreateInfo
where
type FieldType "pNext" VkInstanceCreateInfo = Ptr Void
type FieldOptional "pNext" VkInstanceCreateInfo = 'False
type FieldOffset "pNext" VkInstanceCreateInfo =
(8)
type FieldIsArray "pNext" VkInstanceCreateInfo = 'False
fieldOptional = False
fieldOffset = (8)
instance
CanReadField "pNext" VkInstanceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
readField p
= peekByteOff p (8)
instance
CanWriteField "pNext" VkInstanceCreateInfo where
writeField p
= pokeByteOff p (8)
instance HasField "flags" VkInstanceCreateInfo
where
type FieldType "flags" VkInstanceCreateInfo = VkInstanceCreateFlags
type FieldOptional "flags" VkInstanceCreateInfo = 'True
type FieldOffset "flags" VkInstanceCreateInfo =
(16)
type FieldIsArray "flags" VkInstanceCreateInfo = 'False
fieldOptional = True
fieldOffset = (16)
instance
CanReadField "flags" VkInstanceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
readField p
= peekByteOff p (16)
instance
CanWriteField "flags" VkInstanceCreateInfo where
writeField p
= pokeByteOff p (16)
instance
HasField "pApplicationInfo" VkInstanceCreateInfo where
type FieldType "pApplicationInfo" VkInstanceCreateInfo =
Ptr VkApplicationInfo
type FieldOptional "pApplicationInfo" VkInstanceCreateInfo = 'True
type FieldOffset "pApplicationInfo" VkInstanceCreateInfo =
(24)
type FieldIsArray "pApplicationInfo" VkInstanceCreateInfo = 'False
fieldOptional = True
fieldOffset
= (24)
instance
CanReadField "pApplicationInfo" VkInstanceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (24))
readField p
= peekByteOff p (24)
instance
CanWriteField "pApplicationInfo" VkInstanceCreateInfo where
writeField p
= pokeByteOff p (24)
instance
HasField "enabledLayerCount" VkInstanceCreateInfo where
type FieldType "enabledLayerCount" VkInstanceCreateInfo = Word32
type FieldOptional "enabledLayerCount" VkInstanceCreateInfo = 'True
type FieldOffset "enabledLayerCount" VkInstanceCreateInfo =
(32)
type FieldIsArray "enabledLayerCount" VkInstanceCreateInfo = 'False
fieldOptional = True
fieldOffset
= (32)
instance
CanReadField "enabledLayerCount" VkInstanceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (32))
readField p
= peekByteOff p (32)
instance
CanWriteField "enabledLayerCount" VkInstanceCreateInfo where
writeField p
= pokeByteOff p (32)
instance
HasField "ppEnabledLayerNames" VkInstanceCreateInfo where
type FieldType "ppEnabledLayerNames" VkInstanceCreateInfo =
Ptr CString
type FieldOptional "ppEnabledLayerNames" VkInstanceCreateInfo =
'False
type FieldOffset "ppEnabledLayerNames" VkInstanceCreateInfo =
(40)
type FieldIsArray "ppEnabledLayerNames" VkInstanceCreateInfo =
'False
fieldOptional = False
fieldOffset
= (40)
instance
CanReadField "ppEnabledLayerNames" VkInstanceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (40))
readField p
= peekByteOff p (40)
instance
CanWriteField "ppEnabledLayerNames" VkInstanceCreateInfo where
writeField p
= pokeByteOff p (40)
instance
HasField "enabledExtensionCount" VkInstanceCreateInfo where
type FieldType "enabledExtensionCount" VkInstanceCreateInfo =
Word32
type FieldOptional "enabledExtensionCount" VkInstanceCreateInfo =
'True
type FieldOffset "enabledExtensionCount" VkInstanceCreateInfo =
(48)
type FieldIsArray "enabledExtensionCount" VkInstanceCreateInfo =
'False
fieldOptional = True
fieldOffset
= (48)
instance
CanReadField "enabledExtensionCount" VkInstanceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (48))
readField p
= peekByteOff p (48)
instance
CanWriteField "enabledExtensionCount" VkInstanceCreateInfo where
writeField p
= pokeByteOff p (48)
instance
HasField "ppEnabledExtensionNames" VkInstanceCreateInfo where
type FieldType "ppEnabledExtensionNames" VkInstanceCreateInfo =
Ptr CString
type FieldOptional "ppEnabledExtensionNames" VkInstanceCreateInfo =
'False
type FieldOffset "ppEnabledExtensionNames" VkInstanceCreateInfo =
(56)
type FieldIsArray "ppEnabledExtensionNames" VkInstanceCreateInfo =
'False
fieldOptional = False
fieldOffset
= (56)
instance
CanReadField "ppEnabledExtensionNames" VkInstanceCreateInfo where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (56))
readField p
= peekByteOff p (56)
instance
CanWriteField "ppEnabledExtensionNames" VkInstanceCreateInfo where
writeField p
= pokeByteOff p (56)
instance Show VkInstanceCreateInfo where
showsPrec d x
= showString "VkInstanceCreateInfo {" .
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 "pApplicationInfo = " .
showsPrec d (getField @"pApplicationInfo" x) .
showString ", " .
showString "enabledLayerCount = " .
showsPrec d (getField @"enabledLayerCount" x) .
showString ", " .
showString "ppEnabledLayerNames = " .
showsPrec d (getField @"ppEnabledLayerNames" x) .
showString ", " .
showString "enabledExtensionCount = " .
showsPrec d
(getField @"enabledExtensionCount" x)
.
showString ", " .
showString "ppEnabledExtensionNames = " .
showsPrec d
(getField @"ppEnabledExtensionNames" x)
. showChar '}'