{-# LINE 1 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# LINE 2 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
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
{-# INLINE (==) #-}
instance Ord VkIndirectCommandsLayoutCreateInfoNVX where
(VkIndirectCommandsLayoutCreateInfoNVX# a _) `compare`
x@(VkIndirectCommandsLayoutCreateInfoNVX# b _)
= cmpBytes# (sizeOf x) a b
{-# INLINE compare #-}
instance Storable VkIndirectCommandsLayoutCreateInfoNVX where
sizeOf ~_
= (40)
{-# LINE 59 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE sizeOf #-}
alignment ~_
= (8)
{-# LINE 63 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE alignment #-}
peek = peekVkData#
{-# INLINE peek #-}
poke = pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkIndirectCommandsLayoutCreateInfoNVX
where
unsafeAddr (VkIndirectCommandsLayoutCreateInfoNVX# a _) = a
{-# INLINE unsafeAddr #-}
unsafeByteArray (VkIndirectCommandsLayoutCreateInfoNVX# _ b) = b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset off b
= VkIndirectCommandsLayoutCreateInfoNVX#
(plusAddr# (byteArrayContents# b) off)
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkIndirectCommandsLayoutCreateInfoNVX where
type StructFields VkIndirectCommandsLayoutCreateInfoNVX =
'["sType", "pNext", "pipelineBindPoint", "flags", "tokenCount", -- ' closing tick for hsc2hs
"pTokens"]
type CUnionType VkIndirectCommandsLayoutCreateInfoNVX = 'False -- ' closing tick for hsc2hs
type ReturnedOnly VkIndirectCommandsLayoutCreateInfoNVX = 'False -- ' closing tick for hsc2hs
type StructExtends VkIndirectCommandsLayoutCreateInfoNVX = '[] -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
HasField "sType" VkIndirectCommandsLayoutCreateInfoNVX where
type FieldType "sType" VkIndirectCommandsLayoutCreateInfoNVX =
VkStructureType
type FieldOptional "sType" VkIndirectCommandsLayoutCreateInfoNVX =
'False -- ' closing tick for hsc2hs
type FieldOffset "sType" VkIndirectCommandsLayoutCreateInfoNVX =
(0)
{-# LINE 103 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "sType" VkIndirectCommandsLayoutCreateInfoNVX =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (0)
{-# LINE 112 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "sType" VkIndirectCommandsLayoutCreateInfoNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
{-# LINE 119 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (0)
{-# LINE 123 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "sType" VkIndirectCommandsLayoutCreateInfoNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (0)
{-# LINE 129 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where
type FieldType "pNext" VkIndirectCommandsLayoutCreateInfoNVX =
Ptr Void
type FieldOptional "pNext" VkIndirectCommandsLayoutCreateInfoNVX =
'False -- ' closing tick for hsc2hs
type FieldOffset "pNext" VkIndirectCommandsLayoutCreateInfoNVX =
(8)
{-# LINE 138 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "pNext" VkIndirectCommandsLayoutCreateInfoNVX =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (8)
{-# LINE 147 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
{-# LINE 154 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (8)
{-# LINE 158 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "pNext" VkIndirectCommandsLayoutCreateInfoNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (8)
{-# LINE 164 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "pipelineBindPoint" VkIndirectCommandsLayoutCreateInfoNVX
where
type FieldType "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
= VkPipelineBindPoint
type FieldOptional "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
= 'False -- ' closing tick for hsc2hs
type FieldOffset "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
=
(16)
{-# LINE 178 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (16)
{-# LINE 188 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
{-# LINE 197 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (16)
{-# LINE 201 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "pipelineBindPoint"
VkIndirectCommandsLayoutCreateInfoNVX
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (16)
{-# LINE 209 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "flags" VkIndirectCommandsLayoutCreateInfoNVX where
type FieldType "flags" VkIndirectCommandsLayoutCreateInfoNVX =
VkIndirectCommandsLayoutUsageFlagsNVX
type FieldOptional "flags" VkIndirectCommandsLayoutCreateInfoNVX =
'False -- ' closing tick for hsc2hs
type FieldOffset "flags" VkIndirectCommandsLayoutCreateInfoNVX =
(20)
{-# LINE 218 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "flags" VkIndirectCommandsLayoutCreateInfoNVX =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (20)
{-# LINE 227 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "flags" VkIndirectCommandsLayoutCreateInfoNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (20))
{-# LINE 234 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (20)
{-# LINE 238 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "flags" VkIndirectCommandsLayoutCreateInfoNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (20)
{-# LINE 244 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX where
type FieldType "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX =
Word32
type FieldOptional "tokenCount"
VkIndirectCommandsLayoutCreateInfoNVX
= 'False -- ' closing tick for hsc2hs
type FieldOffset "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX
=
(24)
{-# LINE 255 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "tokenCount"
VkIndirectCommandsLayoutCreateInfoNVX
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (24)
{-# LINE 265 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX
where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (24))
{-# LINE 273 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (24)
{-# LINE 277 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "tokenCount" VkIndirectCommandsLayoutCreateInfoNVX
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (24)
{-# LINE 284 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where
type FieldType "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =
Ptr VkIndirectCommandsLayoutTokenNVX
type FieldOptional "pTokens" VkIndirectCommandsLayoutCreateInfoNVX
= 'False -- ' closing tick for hsc2hs
type FieldOffset "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =
(32)
{-# LINE 293 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "pTokens" VkIndirectCommandsLayoutCreateInfoNVX =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (32)
{-# LINE 302 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (32))
{-# LINE 309 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (32)
{-# LINE 313 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "pTokens" VkIndirectCommandsLayoutCreateInfoNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (32)
{-# LINE 319 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
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 '}'
-- | > typedef struct VkIndirectCommandsLayoutTokenNVX {
-- > VkIndirectCommandsTokenTypeNVX tokenType;
-- > uint32_t bindingUnit;
-- > uint32_t dynamicCount;
-- > uint32_t divisor;
-- > } VkIndirectCommandsLayoutTokenNVX;
--
-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndirectCommandsLayoutTokenNVX VkIndirectCommandsLayoutTokenNVX registry at www.khronos.org>
data VkIndirectCommandsLayoutTokenNVX = VkIndirectCommandsLayoutTokenNVX# Addr#
ByteArray#
instance Eq VkIndirectCommandsLayoutTokenNVX where
(VkIndirectCommandsLayoutTokenNVX# a _) ==
x@(VkIndirectCommandsLayoutTokenNVX# b _)
= EQ == cmpBytes# (sizeOf x) a b
{-# INLINE (==) #-}
instance Ord VkIndirectCommandsLayoutTokenNVX where
(VkIndirectCommandsLayoutTokenNVX# a _) `compare`
x@(VkIndirectCommandsLayoutTokenNVX# b _)
= cmpBytes# (sizeOf x) a b
{-# INLINE compare #-}
instance Storable VkIndirectCommandsLayoutTokenNVX where
sizeOf ~_ = (16)
{-# LINE 368 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE sizeOf #-}
alignment ~_
= (4)
{-# LINE 372 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE alignment #-}
peek = peekVkData#
{-# INLINE peek #-}
poke = pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkIndirectCommandsLayoutTokenNVX where
unsafeAddr (VkIndirectCommandsLayoutTokenNVX# a _) = a
{-# INLINE unsafeAddr #-}
unsafeByteArray (VkIndirectCommandsLayoutTokenNVX# _ b) = b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset off b
= VkIndirectCommandsLayoutTokenNVX#
(plusAddr# (byteArrayContents# b) off)
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkIndirectCommandsLayoutTokenNVX where
type StructFields VkIndirectCommandsLayoutTokenNVX =
'["tokenType", "bindingUnit", "dynamicCount", "divisor"] -- ' closing tick for hsc2hs
type CUnionType VkIndirectCommandsLayoutTokenNVX = 'False -- ' closing tick for hsc2hs
type ReturnedOnly VkIndirectCommandsLayoutTokenNVX = 'False -- ' closing tick for hsc2hs
type StructExtends VkIndirectCommandsLayoutTokenNVX = '[] -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
HasField "tokenType" VkIndirectCommandsLayoutTokenNVX where
type FieldType "tokenType" VkIndirectCommandsLayoutTokenNVX =
VkIndirectCommandsTokenTypeNVX
type FieldOptional "tokenType" VkIndirectCommandsLayoutTokenNVX =
'False -- ' closing tick for hsc2hs
type FieldOffset "tokenType" VkIndirectCommandsLayoutTokenNVX =
(0)
{-# LINE 410 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "tokenType" VkIndirectCommandsLayoutTokenNVX =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (0)
{-# LINE 419 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "tokenType" VkIndirectCommandsLayoutTokenNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
{-# LINE 426 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (0)
{-# LINE 430 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "tokenType" VkIndirectCommandsLayoutTokenNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (0)
{-# LINE 436 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where
type FieldType "bindingUnit" VkIndirectCommandsLayoutTokenNVX =
Word32
type FieldOptional "bindingUnit" VkIndirectCommandsLayoutTokenNVX =
'False -- ' closing tick for hsc2hs
type FieldOffset "bindingUnit" VkIndirectCommandsLayoutTokenNVX =
(4)
{-# LINE 445 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "bindingUnit" VkIndirectCommandsLayoutTokenNVX =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (4)
{-# LINE 454 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (4))
{-# LINE 461 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (4)
{-# LINE 465 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "bindingUnit" VkIndirectCommandsLayoutTokenNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (4)
{-# LINE 471 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where
type FieldType "dynamicCount" VkIndirectCommandsLayoutTokenNVX =
Word32
type FieldOptional "dynamicCount" VkIndirectCommandsLayoutTokenNVX
= 'False -- ' closing tick for hsc2hs
type FieldOffset "dynamicCount" VkIndirectCommandsLayoutTokenNVX =
(8)
{-# LINE 480 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "dynamicCount" VkIndirectCommandsLayoutTokenNVX =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (8)
{-# LINE 489 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
{-# LINE 496 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (8)
{-# LINE 500 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "dynamicCount" VkIndirectCommandsLayoutTokenNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (8)
{-# LINE 506 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "divisor" VkIndirectCommandsLayoutTokenNVX where
type FieldType "divisor" VkIndirectCommandsLayoutTokenNVX = Word32
type FieldOptional "divisor" VkIndirectCommandsLayoutTokenNVX =
'False -- ' closing tick for hsc2hs
type FieldOffset "divisor" VkIndirectCommandsLayoutTokenNVX =
(12)
{-# LINE 514 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "divisor" VkIndirectCommandsLayoutTokenNVX =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (12)
{-# LINE 523 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "divisor" VkIndirectCommandsLayoutTokenNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (12))
{-# LINE 530 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (12)
{-# LINE 534 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "divisor" VkIndirectCommandsLayoutTokenNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (12)
{-# LINE 540 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
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 '}'
-- | > typedef struct VkIndirectCommandsTokenNVX {
-- > VkIndirectCommandsTokenTypeNVX tokenType;
-- > VkBuffer buffer;
-- > VkDeviceSize offset;
-- > } VkIndirectCommandsTokenNVX;
--
-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkIndirectCommandsTokenNVX VkIndirectCommandsTokenNVX registry at www.khronos.org>
data VkIndirectCommandsTokenNVX = VkIndirectCommandsTokenNVX# Addr#
ByteArray#
instance Eq VkIndirectCommandsTokenNVX where
(VkIndirectCommandsTokenNVX# a _) ==
x@(VkIndirectCommandsTokenNVX# b _)
= EQ == cmpBytes# (sizeOf x) a b
{-# INLINE (==) #-}
instance Ord VkIndirectCommandsTokenNVX where
(VkIndirectCommandsTokenNVX# a _) `compare`
x@(VkIndirectCommandsTokenNVX# b _) = cmpBytes# (sizeOf x) a b
{-# INLINE compare #-}
instance Storable VkIndirectCommandsTokenNVX where
sizeOf ~_ = (24)
{-# LINE 581 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE sizeOf #-}
alignment ~_ = (8)
{-# LINE 584 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE alignment #-}
peek = peekVkData#
{-# INLINE peek #-}
poke = pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkIndirectCommandsTokenNVX where
unsafeAddr (VkIndirectCommandsTokenNVX# a _) = a
{-# INLINE unsafeAddr #-}
unsafeByteArray (VkIndirectCommandsTokenNVX# _ b) = b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset off b
= VkIndirectCommandsTokenNVX#
(plusAddr# (byteArrayContents# b) off)
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkIndirectCommandsTokenNVX where
type StructFields VkIndirectCommandsTokenNVX =
'["tokenType", "buffer", "offset"] -- ' closing tick for hsc2hs
type CUnionType VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs
type ReturnedOnly VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs
type StructExtends VkIndirectCommandsTokenNVX = '[] -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
HasField "tokenType" VkIndirectCommandsTokenNVX where
type FieldType "tokenType" VkIndirectCommandsTokenNVX =
VkIndirectCommandsTokenTypeNVX
type FieldOptional "tokenType" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs
type FieldOffset "tokenType" VkIndirectCommandsTokenNVX =
(0)
{-# LINE 621 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "tokenType" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (0)
{-# LINE 629 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "tokenType" VkIndirectCommandsTokenNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
{-# LINE 636 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (0)
{-# LINE 640 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "tokenType" VkIndirectCommandsTokenNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (0)
{-# LINE 646 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "buffer" VkIndirectCommandsTokenNVX where
type FieldType "buffer" VkIndirectCommandsTokenNVX = VkBuffer
type FieldOptional "buffer" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs
type FieldOffset "buffer" VkIndirectCommandsTokenNVX =
(8)
{-# LINE 653 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "buffer" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (8)
{-# LINE 661 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "buffer" VkIndirectCommandsTokenNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
{-# LINE 668 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (8)
{-# LINE 672 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "buffer" VkIndirectCommandsTokenNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (8)
{-# LINE 678 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "offset" VkIndirectCommandsTokenNVX where
type FieldType "offset" VkIndirectCommandsTokenNVX = VkDeviceSize
type FieldOptional "offset" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs
type FieldOffset "offset" VkIndirectCommandsTokenNVX =
(16)
{-# LINE 685 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
type FieldIsArray "offset" VkIndirectCommandsTokenNVX = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (16)
{-# LINE 693 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "offset" VkIndirectCommandsTokenNVX where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
{-# LINE 700 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (16)
{-# LINE 704 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "offset" VkIndirectCommandsTokenNVX where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (16)
{-# LINE 710 "src-gen/Graphics/Vulkan/Types/Struct/IndirectCommands.hsc" #-}
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 '}'