module Graphics.Vulkan.Types.Struct.IndirectCommands
(VkIndirectCommandsLayoutCreateInfoNVX(..),
VkIndirectCommandsLayoutTokenNVX(..),
VkIndirectCommandsTokenNVX(..))
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.BaseTypes (VkDeviceSize)
import Graphics.Vulkan.Types.Enum.IndirectCommands (VkIndirectCommandsLayoutUsageFlagsNVX,
VkIndirectCommandsTokenTypeNVX)
import Graphics.Vulkan.Types.Enum.Pipeline (VkPipelineBindPoint)
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import Graphics.Vulkan.Types.Handles (VkBuffer)
import System.IO.Unsafe (unsafeDupablePerformIO)
data VkIndirectCommandsLayoutCreateInfoNVX = VkIndirectCommandsLayoutCreateInfoNVX# Addr#
ByteArray#
instance Eq VkIndirectCommandsLayoutCreateInfoNVX where
(VkIndirectCommandsLayoutCreateInfoNVX# a _) ==
x@(VkIndirectCommandsLayoutCreateInfoNVX# b _)
= EQ == cmpBytes# (sizeOf x) a b
instance Ord VkIndirectCommandsLayoutCreateInfoNVX where
(VkIndirectCommandsLayoutCreateInfoNVX# a _) `compare`
x@(VkIndirectCommandsLayoutCreateInfoNVX# b _)
= cmpBytes# (sizeOf x) a b
instance Storable VkIndirectCommandsLayoutCreateInfoNVX where
sizeOf ~_
= (40)
alignment ~_
= (8)
peek = peekVkData#
poke = pokeVkData#
instance VulkanMarshalPrim VkIndirectCommandsLayoutCreateInfoNVX
where
unsafeAddr (VkIndirectCommandsLayoutCreateInfoNVX# a _) = a
unsafeByteArray (VkIndirectCommandsLayoutCreateInfoNVX# _ b) = b
unsafeFromByteArrayOffset off b
= VkIndirectCommandsLayoutCreateInfoNVX#
(plusAddr# (byteArrayContents# b) off)
b
instance VulkanMarshal VkIndirectCommandsLayoutCreateInfoNVX where
type StructFields VkIndirectCommandsLayoutCreateInfoNVX =
'["sType", "pNext", "pipelineBindPoint", "flags", "tokenCount",
"pTokens"]
type CUnionType VkIndirectCommandsLayoutCreateInfoNVX = 'False
type ReturnedOnly VkIndirectCommandsLayoutCreateInfoNVX = 'False
type StructExtends VkIndirectCommandsLayoutCreateInfoNVX = '[]
instance
HasField "sType" VkIndirectCommandsLayoutCreateInfoNVX where
type FieldType "sType" VkIndirectCommandsLayoutCreateInfoNVX =
VkStructureType
type FieldOptional "sType" VkIndirectCommandsLayoutCreateInfoNVX =
'False
type FieldOffset "sType" VkIndirectCommandsLayoutCreateInfoNVX =
(0)
type FieldIsArray "sType" VkIndirectCommandsLayoutCreateInfoNVX =
'False
fieldOptional = False
fieldOffset
= (0)
instance
CanReadField "sType" VkIndirectCommandsLayoutCreateInfoNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
readField p
= peekByteOff p (0)
instance
CanWriteField "sType" VkIndirectCommandsLayoutCreateInfoNVX where
writeField p
= pokeByteOff p (0)
instance
HasField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where
type FieldType "pNext" VkIndirectCommandsLayoutCreateInfoNVX =
Ptr Void
type FieldOptional "pNext" VkIndirectCommandsLayoutCreateInfoNVX =
'False
type FieldOffset "pNext" VkIndirectCommandsLayoutCreateInfoNVX =
(8)
type FieldIsArray "pNext" VkIndirectCommandsLayoutCreateInfoNVX =
'False
fieldOptional = False
fieldOffset
= (8)
instance
CanReadField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
readField p
= peekByteOff p (8)
instance
CanWriteField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where
writeField p
= pokeByteOff p (8)
instance
HasField "pipelineBindPoint" VkIndirectCommandsLayoutCreateInfoNVX
where
type FieldType "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
= VkPipelineBindPoint
type FieldOptional "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
= 'False
type FieldOffset "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
=
(16)
type FieldIsArray "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
= 'False
fieldOptional = False
fieldOffset
= (16)
instance
CanReadField "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
readField p
= peekByteOff p (16)
instance
CanWriteField "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
where
writeField p
= pokeByteOff p (16)
instance
HasField "flags" VkIndirectCommandsLayoutCreateInfoNVX where
type FieldType "flags" VkIndirectCommandsLayoutCreateInfoNVX =
VkIndirectCommandsLayoutUsageFlagsNVX
type FieldOptional "flags" VkIndirectCommandsLayoutCreateInfoNVX =
'False
type FieldOffset "flags" VkIndirectCommandsLayoutCreateInfoNVX =
(20)
type FieldIsArray "flags" VkIndirectCommandsLayoutCreateInfoNVX =
'False
fieldOptional = False
fieldOffset
= (20)
instance
CanReadField "flags" VkIndirectCommandsLayoutCreateInfoNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (20))
readField p
= peekByteOff p (20)
instance
CanWriteField "flags" VkIndirectCommandsLayoutCreateInfoNVX where
writeField p
= pokeByteOff p (20)
instance
HasField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX where
type FieldType "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX =
Word32
type FieldOptional "tokenCount"
VkIndirectCommandsLayoutCreateInfoNVX
= 'False
type FieldOffset "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX
=
(24)
type FieldIsArray "tokenCount"
VkIndirectCommandsLayoutCreateInfoNVX
= 'False
fieldOptional = False
fieldOffset
= (24)
instance
CanReadField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX
where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (24))
readField p
= peekByteOff p (24)
instance
CanWriteField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX
where
writeField p
= pokeByteOff p (24)
instance
HasField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where
type FieldType "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =
Ptr VkIndirectCommandsLayoutTokenNVX
type FieldOptional "pTokens" VkIndirectCommandsLayoutCreateInfoNVX
= 'False
type FieldOffset "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =
(32)
type FieldIsArray "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =
'False
fieldOptional = False
fieldOffset
= (32)
instance
CanReadField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (32))
readField p
= peekByteOff p (32)
instance
CanWriteField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where
writeField p
= pokeByteOff p (32)
instance Show VkIndirectCommandsLayoutCreateInfoNVX where
showsPrec d x
= showString "VkIndirectCommandsLayoutCreateInfoNVX {" .
showString "sType = " .
showsPrec d (getField @"sType" x) .
showString ", " .
showString "pNext = " .
showsPrec d (getField @"pNext" x) .
showString ", " .
showString "pipelineBindPoint = " .
showsPrec d (getField @"pipelineBindPoint" x) .
showString ", " .
showString "flags = " .
showsPrec d (getField @"flags" x) .
showString ", " .
showString "tokenCount = " .
showsPrec d (getField @"tokenCount" x) .
showString ", " .
showString "pTokens = " .
showsPrec d (getField @"pTokens" x) . showChar '}'
data VkIndirectCommandsLayoutTokenNVX = VkIndirectCommandsLayoutTokenNVX# Addr#
ByteArray#
instance Eq VkIndirectCommandsLayoutTokenNVX where
(VkIndirectCommandsLayoutTokenNVX# a _) ==
x@(VkIndirectCommandsLayoutTokenNVX# b _)
= EQ == cmpBytes# (sizeOf x) a b
instance Ord VkIndirectCommandsLayoutTokenNVX where
(VkIndirectCommandsLayoutTokenNVX# a _) `compare`
x@(VkIndirectCommandsLayoutTokenNVX# b _)
= cmpBytes# (sizeOf x) a b
instance Storable VkIndirectCommandsLayoutTokenNVX where
sizeOf ~_ = (16)
alignment ~_
= (4)
peek = peekVkData#
poke = pokeVkData#
instance VulkanMarshalPrim VkIndirectCommandsLayoutTokenNVX where
unsafeAddr (VkIndirectCommandsLayoutTokenNVX# a _) = a
unsafeByteArray (VkIndirectCommandsLayoutTokenNVX# _ b) = b
unsafeFromByteArrayOffset off b
= VkIndirectCommandsLayoutTokenNVX#
(plusAddr# (byteArrayContents# b) off)
b
instance VulkanMarshal VkIndirectCommandsLayoutTokenNVX where
type StructFields VkIndirectCommandsLayoutTokenNVX =
'["tokenType", "bindingUnit", "dynamicCount", "divisor"]
type CUnionType VkIndirectCommandsLayoutTokenNVX = 'False
type ReturnedOnly VkIndirectCommandsLayoutTokenNVX = 'False
type StructExtends VkIndirectCommandsLayoutTokenNVX = '[]
instance
HasField "tokenType" VkIndirectCommandsLayoutTokenNVX where
type FieldType "tokenType" VkIndirectCommandsLayoutTokenNVX =
VkIndirectCommandsTokenTypeNVX
type FieldOptional "tokenType" VkIndirectCommandsLayoutTokenNVX =
'False
type FieldOffset "tokenType" VkIndirectCommandsLayoutTokenNVX =
(0)
type FieldIsArray "tokenType" VkIndirectCommandsLayoutTokenNVX =
'False
fieldOptional = False
fieldOffset
= (0)
instance
CanReadField "tokenType" VkIndirectCommandsLayoutTokenNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
readField p
= peekByteOff p (0)
instance
CanWriteField "tokenType" VkIndirectCommandsLayoutTokenNVX where
writeField p
= pokeByteOff p (0)
instance
HasField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where
type FieldType "bindingUnit" VkIndirectCommandsLayoutTokenNVX =
Word32
type FieldOptional "bindingUnit" VkIndirectCommandsLayoutTokenNVX =
'False
type FieldOffset "bindingUnit" VkIndirectCommandsLayoutTokenNVX =
(4)
type FieldIsArray "bindingUnit" VkIndirectCommandsLayoutTokenNVX =
'False
fieldOptional = False
fieldOffset
= (4)
instance
CanReadField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (4))
readField p
= peekByteOff p (4)
instance
CanWriteField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where
writeField p
= pokeByteOff p (4)
instance
HasField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where
type FieldType "dynamicCount" VkIndirectCommandsLayoutTokenNVX =
Word32
type FieldOptional "dynamicCount" VkIndirectCommandsLayoutTokenNVX
= 'False
type FieldOffset "dynamicCount" VkIndirectCommandsLayoutTokenNVX =
(8)
type FieldIsArray "dynamicCount" VkIndirectCommandsLayoutTokenNVX =
'False
fieldOptional = False
fieldOffset
= (8)
instance
CanReadField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
readField p
= peekByteOff p (8)
instance
CanWriteField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where
writeField p
= pokeByteOff p (8)
instance
HasField "divisor" VkIndirectCommandsLayoutTokenNVX where
type FieldType "divisor" VkIndirectCommandsLayoutTokenNVX = Word32
type FieldOptional "divisor" VkIndirectCommandsLayoutTokenNVX =
'False
type FieldOffset "divisor" VkIndirectCommandsLayoutTokenNVX =
(12)
type FieldIsArray "divisor" VkIndirectCommandsLayoutTokenNVX =
'False
fieldOptional = False
fieldOffset
= (12)
instance
CanReadField "divisor" VkIndirectCommandsLayoutTokenNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (12))
readField p
= peekByteOff p (12)
instance
CanWriteField "divisor" VkIndirectCommandsLayoutTokenNVX where
writeField p
= pokeByteOff p (12)
instance Show VkIndirectCommandsLayoutTokenNVX where
showsPrec d x
= showString "VkIndirectCommandsLayoutTokenNVX {" .
showString "tokenType = " .
showsPrec d (getField @"tokenType" x) .
showString ", " .
showString "bindingUnit = " .
showsPrec d (getField @"bindingUnit" x) .
showString ", " .
showString "dynamicCount = " .
showsPrec d (getField @"dynamicCount" x) .
showString ", " .
showString "divisor = " .
showsPrec d (getField @"divisor" x) . showChar '}'
data VkIndirectCommandsTokenNVX = VkIndirectCommandsTokenNVX# Addr#
ByteArray#
instance Eq VkIndirectCommandsTokenNVX where
(VkIndirectCommandsTokenNVX# a _) ==
x@(VkIndirectCommandsTokenNVX# b _)
= EQ == cmpBytes# (sizeOf x) a b
instance Ord VkIndirectCommandsTokenNVX where
(VkIndirectCommandsTokenNVX# a _) `compare`
x@(VkIndirectCommandsTokenNVX# b _) = cmpBytes# (sizeOf x) a b
instance Storable VkIndirectCommandsTokenNVX where
sizeOf ~_ = (24)
alignment ~_ = (8)
peek = peekVkData#
poke = pokeVkData#
instance VulkanMarshalPrim VkIndirectCommandsTokenNVX where
unsafeAddr (VkIndirectCommandsTokenNVX# a _) = a
unsafeByteArray (VkIndirectCommandsTokenNVX# _ b) = b
unsafeFromByteArrayOffset off b
= VkIndirectCommandsTokenNVX#
(plusAddr# (byteArrayContents# b) off)
b
instance VulkanMarshal VkIndirectCommandsTokenNVX where
type StructFields VkIndirectCommandsTokenNVX =
'["tokenType", "buffer", "offset"]
type CUnionType VkIndirectCommandsTokenNVX = 'False
type ReturnedOnly VkIndirectCommandsTokenNVX = 'False
type StructExtends VkIndirectCommandsTokenNVX = '[]
instance
HasField "tokenType" VkIndirectCommandsTokenNVX where
type FieldType "tokenType" VkIndirectCommandsTokenNVX =
VkIndirectCommandsTokenTypeNVX
type FieldOptional "tokenType" VkIndirectCommandsTokenNVX = 'False
type FieldOffset "tokenType" VkIndirectCommandsTokenNVX =
(0)
type FieldIsArray "tokenType" VkIndirectCommandsTokenNVX = 'False
fieldOptional = False
fieldOffset
= (0)
instance
CanReadField "tokenType" VkIndirectCommandsTokenNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
readField p
= peekByteOff p (0)
instance
CanWriteField "tokenType" VkIndirectCommandsTokenNVX where
writeField p
= pokeByteOff p (0)
instance
HasField "buffer" VkIndirectCommandsTokenNVX where
type FieldType "buffer" VkIndirectCommandsTokenNVX = VkBuffer
type FieldOptional "buffer" VkIndirectCommandsTokenNVX = 'False
type FieldOffset "buffer" VkIndirectCommandsTokenNVX =
(8)
type FieldIsArray "buffer" VkIndirectCommandsTokenNVX = 'False
fieldOptional = False
fieldOffset
= (8)
instance
CanReadField "buffer" VkIndirectCommandsTokenNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
readField p
= peekByteOff p (8)
instance
CanWriteField "buffer" VkIndirectCommandsTokenNVX where
writeField p
= pokeByteOff p (8)
instance
HasField "offset" VkIndirectCommandsTokenNVX where
type FieldType "offset" VkIndirectCommandsTokenNVX = VkDeviceSize
type FieldOptional "offset" VkIndirectCommandsTokenNVX = 'False
type FieldOffset "offset" VkIndirectCommandsTokenNVX =
(16)
type FieldIsArray "offset" VkIndirectCommandsTokenNVX = 'False
fieldOptional = False
fieldOffset
= (16)
instance
CanReadField "offset" VkIndirectCommandsTokenNVX where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
readField p
= peekByteOff p (16)
instance
CanWriteField "offset" VkIndirectCommandsTokenNVX where
writeField p
= pokeByteOff p (16)
instance Show VkIndirectCommandsTokenNVX where
showsPrec d x
= showString "VkIndirectCommandsTokenNVX {" .
showString "tokenType = " .
showsPrec d (getField @"tokenType" x) .
showString ", " .
showString "buffer = " .
showsPrec d (getField @"buffer" x) .
showString ", " .
showString "offset = " .
showsPrec d (getField @"offset" x) . showChar '}'