{-# LINE 1 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MagicHash             #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeApplications      #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.Cmd
       (VkCmdProcessCommandsInfoNVX(..),
        VkCmdReserveSpaceForCommandsInfoNVX(..))
       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.StructureType      (VkStructureType)
import           Graphics.Vulkan.Types.Handles                 (VkBuffer,
                                                                VkCommandBuffer,
                                                                VkIndirectCommandsLayoutNVX,
                                                                VkObjectTableNVX)
import           Graphics.Vulkan.Types.Struct.IndirectCommands (VkIndirectCommandsTokenNVX)
import           System.IO.Unsafe                              (unsafeDupablePerformIO)

-- | > typedef struct VkCmdProcessCommandsInfoNVX {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkObjectTableNVX                                         objectTable;
--   >     VkIndirectCommandsLayoutNVX                              indirectCommandsLayout;
--   >     uint32_t                                                 indirectCommandsTokenCount;
--   >     const VkIndirectCommandsTokenNVX*       pIndirectCommandsTokens;
--   >     uint32_t                                                 maxSequencesCount;
--   >     VkCommandBuffer                          targetCommandBuffer;
--   >     VkBuffer                                 sequencesCountBuffer;
--   >     VkDeviceSize                             sequencesCountOffset;
--   >     VkBuffer                                 sequencesIndexBuffer;
--   >     VkDeviceSize                             sequencesIndexOffset;
--   > } VkCmdProcessCommandsInfoNVX;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCmdProcessCommandsInfoNVX VkCmdProcessCommandsInfoNVX registry at www.khronos.org>
data VkCmdProcessCommandsInfoNVX = VkCmdProcessCommandsInfoNVX# Addr#
                                                                ByteArray#

instance Eq VkCmdProcessCommandsInfoNVX where
        (VkCmdProcessCommandsInfoNVX# Addr#
a ByteArray#
_) == :: VkCmdProcessCommandsInfoNVX -> VkCmdProcessCommandsInfoNVX -> Bool
==
          x :: VkCmdProcessCommandsInfoNVX
x@(VkCmdProcessCommandsInfoNVX# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkCmdProcessCommandsInfoNVX -> Int
forall a. Storable a => a -> Int
sizeOf VkCmdProcessCommandsInfoNVX
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkCmdProcessCommandsInfoNVX where
        (VkCmdProcessCommandsInfoNVX# Addr#
a ByteArray#
_) compare :: VkCmdProcessCommandsInfoNVX
-> VkCmdProcessCommandsInfoNVX -> Ordering
`compare`
          x :: VkCmdProcessCommandsInfoNVX
x@(VkCmdProcessCommandsInfoNVX# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkCmdProcessCommandsInfoNVX -> Int
forall a. Storable a => a -> Int
sizeOf VkCmdProcessCommandsInfoNVX
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkCmdProcessCommandsInfoNVX where
        sizeOf :: VkCmdProcessCommandsInfoNVX -> Int
sizeOf ~VkCmdProcessCommandsInfoNVX
_ = (Int
96)
{-# LINE 64 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkCmdProcessCommandsInfoNVX -> Int
alignment ~VkCmdProcessCommandsInfoNVX
_ = Int
8
{-# LINE 67 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkCmdProcessCommandsInfoNVX -> IO VkCmdProcessCommandsInfoNVX
peek = Ptr VkCmdProcessCommandsInfoNVX -> IO VkCmdProcessCommandsInfoNVX
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkCmdProcessCommandsInfoNVX
-> VkCmdProcessCommandsInfoNVX -> IO ()
poke = Ptr VkCmdProcessCommandsInfoNVX
-> VkCmdProcessCommandsInfoNVX -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkCmdProcessCommandsInfoNVX where
        unsafeAddr :: VkCmdProcessCommandsInfoNVX -> Addr#
unsafeAddr (VkCmdProcessCommandsInfoNVX# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkCmdProcessCommandsInfoNVX -> ByteArray#
unsafeByteArray (VkCmdProcessCommandsInfoNVX# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkCmdProcessCommandsInfoNVX
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkCmdProcessCommandsInfoNVX
VkCmdProcessCommandsInfoNVX#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkCmdProcessCommandsInfoNVX where
        type StructFields VkCmdProcessCommandsInfoNVX =
             '["sType", "pNext", "objectTable", "indirectCommandsLayout", -- ' closing tick for hsc2hs
               "indirectCommandsTokenCount", "pIndirectCommandsTokens",
               "maxSequencesCount", "targetCommandBuffer", "sequencesCountBuffer",
               "sequencesCountOffset", "sequencesIndexBuffer",
               "sequencesIndexOffset"]
        type CUnionType VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs
        type StructExtends VkCmdProcessCommandsInfoNVX = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkCmdProcessCommandsInfoNVX where
        type FieldType "sType" VkCmdProcessCommandsInfoNVX =
             VkStructureType
        type FieldOptional "sType" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs
        type FieldOffset "sType" VkCmdProcessCommandsInfoNVX =
             (0)
{-# LINE 108 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "sType" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 116 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkCmdProcessCommandsInfoNVX where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "sType" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
0))
{-# LINE 123 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO (FieldType "sType" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
0)
{-# LINE 127 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkCmdProcessCommandsInfoNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "sType" VkCmdProcessCommandsInfoNVX -> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
0)
{-# LINE 133 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkCmdProcessCommandsInfoNVX where
        type FieldType "pNext" VkCmdProcessCommandsInfoNVX = Ptr Void
        type FieldOptional "pNext" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext" VkCmdProcessCommandsInfoNVX =
             (8)
{-# LINE 140 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "pNext" VkCmdProcessCommandsInfoNVX = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 148 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkCmdProcessCommandsInfoNVX where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "pNext" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
8))
{-# LINE 155 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO (FieldType "pNext" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
8)
{-# LINE 159 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkCmdProcessCommandsInfoNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "pNext" VkCmdProcessCommandsInfoNVX -> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
8)
{-# LINE 165 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "objectTable" VkCmdProcessCommandsInfoNVX where
        type FieldType "objectTable" VkCmdProcessCommandsInfoNVX =
             VkObjectTableNVX
        type FieldOptional "objectTable" VkCmdProcessCommandsInfoNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "objectTable" VkCmdProcessCommandsInfoNVX =
             (16)
{-# LINE 174 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "objectTable" VkCmdProcessCommandsInfoNVX =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 183 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "objectTable" VkCmdProcessCommandsInfoNVX where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "objectTable" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO VkObjectTableNVX -> VkObjectTableNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkObjectTableNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
16))
{-# LINE 190 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO (FieldType "objectTable" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkObjectTableNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
16)
{-# LINE 194 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "objectTable" VkCmdProcessCommandsInfoNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "objectTable" VkCmdProcessCommandsInfoNVX -> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> VkObjectTableNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
16)
{-# LINE 200 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX where
        type FieldType "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX
             = VkIndirectCommandsLayoutNVX
        type FieldOptional "indirectCommandsLayout"
               VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "indirectCommandsLayout"
               VkCmdProcessCommandsInfoNVX
             =
             (24)
{-# LINE 212 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "indirectCommandsLayout"
               VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 222 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO VkIndirectCommandsLayoutNVX -> VkIndirectCommandsLayoutNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX
-> Int -> IO VkIndirectCommandsLayoutNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
24))
{-# LINE 230 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO
     (FieldType "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX
-> Int -> IO VkIndirectCommandsLayoutNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
24)
{-# LINE 234 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX
-> Int -> VkIndirectCommandsLayoutNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
24)
{-# LINE 241 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "indirectCommandsTokenCount" VkCmdProcessCommandsInfoNVX
         where
        type FieldType "indirectCommandsTokenCount"
               VkCmdProcessCommandsInfoNVX
             = Word32
        type FieldOptional "indirectCommandsTokenCount"
               VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "indirectCommandsTokenCount"
               VkCmdProcessCommandsInfoNVX
             =
             (32)
{-# LINE 255 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "indirectCommandsTokenCount"
               VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
32)
{-# LINE 265 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "indirectCommandsTokenCount"
           VkCmdProcessCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType
     "indirectCommandsTokenCount" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
32))
{-# LINE 274 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO
     (FieldType
        "indirectCommandsTokenCount" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
32)
{-# LINE 278 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "indirectCommandsTokenCount"
           VkCmdProcessCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType
     "indirectCommandsTokenCount" VkCmdProcessCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
32)
{-# LINE 286 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX
         where
        type FieldType "pIndirectCommandsTokens"
               VkCmdProcessCommandsInfoNVX
             = Ptr VkIndirectCommandsTokenNVX
        type FieldOptional "pIndirectCommandsTokens"
               VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pIndirectCommandsTokens"
               VkCmdProcessCommandsInfoNVX
             =
             (40)
{-# LINE 300 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "pIndirectCommandsTokens"
               VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
40)
{-# LINE 310 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO (Ptr VkIndirectCommandsTokenNVX)
-> Ptr VkIndirectCommandsTokenNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX
-> Int -> IO (Ptr VkIndirectCommandsTokenNVX)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
40))
{-# LINE 318 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO
     (FieldType "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX
-> Int -> IO (Ptr VkIndirectCommandsTokenNVX)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
40)
{-# LINE 322 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX
-> Int -> Ptr VkIndirectCommandsTokenNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
40)
{-# LINE 329 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where
        type FieldType "maxSequencesCount" VkCmdProcessCommandsInfoNVX =
             Word32
        type FieldOptional "maxSequencesCount" VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "maxSequencesCount" VkCmdProcessCommandsInfoNVX =
             (48)
{-# LINE 338 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "maxSequencesCount" VkCmdProcessCommandsInfoNVX =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
48)
{-# LINE 347 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "maxSequencesCount" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
48))
{-# LINE 354 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO (FieldType "maxSequencesCount" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
48)
{-# LINE 358 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxSequencesCount" VkCmdProcessCommandsInfoNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "maxSequencesCount" VkCmdProcessCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
48)
{-# LINE 364 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX where
        type FieldType "targetCommandBuffer" VkCmdProcessCommandsInfoNVX =
             VkCommandBuffer
        type FieldOptional "targetCommandBuffer"
               VkCmdProcessCommandsInfoNVX
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "targetCommandBuffer" VkCmdProcessCommandsInfoNVX
             =
             (56)
{-# LINE 375 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "targetCommandBuffer" VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
56)
{-# LINE 384 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "targetCommandBuffer" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO VkCommandBuffer -> VkCommandBuffer
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkCommandBuffer
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
56))
{-# LINE 392 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO (FieldType "targetCommandBuffer" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkCommandBuffer
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
56)
{-# LINE 396 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "targetCommandBuffer" VkCmdProcessCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "targetCommandBuffer" VkCmdProcessCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> VkCommandBuffer -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
56)
{-# LINE 403 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX where
        type FieldType "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX =
             VkBuffer
        type FieldOptional "sequencesCountBuffer"
               VkCmdProcessCommandsInfoNVX
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX
             =
             (64)
{-# LINE 414 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "sequencesCountBuffer"
               VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
64)
{-# LINE 424 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO VkBuffer -> VkBuffer
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkBuffer
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
64))
{-# LINE 432 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO
     (FieldType "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkBuffer
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
64)
{-# LINE 436 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> VkBuffer -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
64)
{-# LINE 443 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX where
        type FieldType "sequencesCountOffset" VkCmdProcessCommandsInfoNVX =
             VkDeviceSize
        type FieldOptional "sequencesCountOffset"
               VkCmdProcessCommandsInfoNVX
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "sequencesCountOffset" VkCmdProcessCommandsInfoNVX
             =
             (72)
{-# LINE 454 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "sequencesCountOffset"
               VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
72)
{-# LINE 464 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesCountOffset" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO VkDeviceSize -> VkDeviceSize
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkDeviceSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
72))
{-# LINE 472 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO
     (FieldType "sequencesCountOffset" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkDeviceSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
72)
{-# LINE 476 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sequencesCountOffset" VkCmdProcessCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesCountOffset" VkCmdProcessCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> VkDeviceSize -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
72)
{-# LINE 483 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX where
        type FieldType "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX =
             VkBuffer
        type FieldOptional "sequencesIndexBuffer"
               VkCmdProcessCommandsInfoNVX
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX
             =
             (80)
{-# LINE 494 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "sequencesIndexBuffer"
               VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
80)
{-# LINE 504 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO VkBuffer -> VkBuffer
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkBuffer
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
80))
{-# LINE 512 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO
     (FieldType "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkBuffer
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
80)
{-# LINE 516 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> VkBuffer -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
80)
{-# LINE 523 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX where
        type FieldType "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX =
             VkDeviceSize
        type FieldOptional "sequencesIndexOffset"
               VkCmdProcessCommandsInfoNVX
             = 'True -- ' closing tick for hsc2hs
        type FieldOffset "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX
             =
             (88)
{-# LINE 534 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "sequencesIndexOffset"
               VkCmdProcessCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
True

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
88)
{-# LINE 544 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX
getField VkCmdProcessCommandsInfoNVX
x
          = IO VkDeviceSize -> VkDeviceSize
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkDeviceSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdProcessCommandsInfoNVX -> Ptr VkCmdProcessCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdProcessCommandsInfoNVX
x) (Int
88))
{-# LINE 552 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdProcessCommandsInfoNVX
-> IO
     (FieldType "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX)
readField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> IO VkDeviceSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
88)
{-# LINE 556 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdProcessCommandsInfoNVX
p
          = Ptr VkCmdProcessCommandsInfoNVX -> Int -> VkDeviceSize -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdProcessCommandsInfoNVX
p (Int
88)
{-# LINE 563 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance Show VkCmdProcessCommandsInfoNVX where
        showsPrec :: Int -> VkCmdProcessCommandsInfoNVX -> ShowS
showsPrec Int
d VkCmdProcessCommandsInfoNVX
x
          = String -> ShowS
showString String
"VkCmdProcessCommandsInfoNVX {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkStructureType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdProcessCommandsInfoNVX
-> FieldType "sType" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkCmdProcessCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"pNext = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr Void -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdProcessCommandsInfoNVX
-> FieldType "pNext" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkCmdProcessCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"objectTable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkObjectTableNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdProcessCommandsInfoNVX
-> FieldType "objectTable" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"objectTable" VkCmdProcessCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                String -> ShowS
showString String
"indirectCommandsLayout = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkIndirectCommandsLayoutNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdProcessCommandsInfoNVX
-> FieldType "indirectCommandsLayout" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"indirectCommandsLayout" VkCmdProcessCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                    String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                      String -> ShowS
showString String
"indirectCommandsTokenCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdProcessCommandsInfoNVX
-> FieldType
     "indirectCommandsTokenCount" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"indirectCommandsTokenCount" VkCmdProcessCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                          String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                            String -> ShowS
showString String
"pIndirectCommandsTokens = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> Ptr VkIndirectCommandsTokenNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdProcessCommandsInfoNVX
-> FieldType "pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pIndirectCommandsTokens" VkCmdProcessCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                  String -> ShowS
showString String
"maxSequencesCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                    Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdProcessCommandsInfoNVX
-> FieldType "maxSequencesCount" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxSequencesCount" VkCmdProcessCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                      String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                        String -> ShowS
showString String
"targetCommandBuffer = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                          Int -> VkCommandBuffer -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                            (VkCmdProcessCommandsInfoNVX
-> FieldType "targetCommandBuffer" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"targetCommandBuffer" VkCmdProcessCommandsInfoNVX
x)
                                                            ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                            String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                              String -> ShowS
showString String
"sequencesCountBuffer = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                Int -> VkBuffer -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                  (VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesCountBuffer" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sequencesCountBuffer"
                                                                     VkCmdProcessCommandsInfoNVX
x)
                                                                  ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                    String -> ShowS
showString
                                                                      String
"sequencesCountOffset = "
                                                                      ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                      Int -> VkDeviceSize -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                        (VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesCountOffset" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                           @"sequencesCountOffset"
                                                                           VkCmdProcessCommandsInfoNVX
x)
                                                                        ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                          String -> ShowS
showString
                                                                            String
"sequencesIndexBuffer = "
                                                                            ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                            Int -> VkBuffer -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                              (VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesIndexBuffer" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                 @"sequencesIndexBuffer"
                                                                                 VkCmdProcessCommandsInfoNVX
x)
                                                                              ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                String -> ShowS
showString
                                                                                  String
"sequencesIndexOffset = "
                                                                                  ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                                                                  Int -> VkDeviceSize -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d
                                                                                    (VkCmdProcessCommandsInfoNVX
-> FieldType "sequencesIndexOffset" VkCmdProcessCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                       @"sequencesIndexOffset"
                                                                                       VkCmdProcessCommandsInfoNVX
x)
                                                                                    ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkCmdReserveSpaceForCommandsInfoNVX {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkObjectTableNVX                                         objectTable;
--   >     VkIndirectCommandsLayoutNVX                              indirectCommandsLayout;
--   >     uint32_t                                                 maxSequencesCount;
--   > } VkCmdReserveSpaceForCommandsInfoNVX;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkCmdReserveSpaceForCommandsInfoNVX VkCmdReserveSpaceForCommandsInfoNVX registry at www.khronos.org>
data VkCmdReserveSpaceForCommandsInfoNVX = VkCmdReserveSpaceForCommandsInfoNVX# Addr#
                                                                                ByteArray#

instance Eq VkCmdReserveSpaceForCommandsInfoNVX where
        (VkCmdReserveSpaceForCommandsInfoNVX# Addr#
a ByteArray#
_) == :: VkCmdReserveSpaceForCommandsInfoNVX
-> VkCmdReserveSpaceForCommandsInfoNVX -> Bool
==
          x :: VkCmdReserveSpaceForCommandsInfoNVX
x@(VkCmdReserveSpaceForCommandsInfoNVX# Addr#
b ByteArray#
_)
          = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkCmdReserveSpaceForCommandsInfoNVX -> Int
forall a. Storable a => a -> Int
sizeOf VkCmdReserveSpaceForCommandsInfoNVX
x) Addr#
a Addr#
b

        {-# INLINE (==) #-}

instance Ord VkCmdReserveSpaceForCommandsInfoNVX where
        (VkCmdReserveSpaceForCommandsInfoNVX# Addr#
a ByteArray#
_) compare :: VkCmdReserveSpaceForCommandsInfoNVX
-> VkCmdReserveSpaceForCommandsInfoNVX -> Ordering
`compare`
          x :: VkCmdReserveSpaceForCommandsInfoNVX
x@(VkCmdReserveSpaceForCommandsInfoNVX# Addr#
b ByteArray#
_)
          = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkCmdReserveSpaceForCommandsInfoNVX -> Int
forall a. Storable a => a -> Int
sizeOf VkCmdReserveSpaceForCommandsInfoNVX
x) Addr#
a Addr#
b

        {-# INLINE compare #-}

instance Storable VkCmdReserveSpaceForCommandsInfoNVX where
        sizeOf :: VkCmdReserveSpaceForCommandsInfoNVX -> Int
sizeOf ~VkCmdReserveSpaceForCommandsInfoNVX
_ = (Int
40)
{-# LINE 654 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkCmdReserveSpaceForCommandsInfoNVX -> Int
alignment ~VkCmdReserveSpaceForCommandsInfoNVX
_
          = Int
8
{-# LINE 658 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE alignment #-}
        peek :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> IO VkCmdReserveSpaceForCommandsInfoNVX
peek = Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> IO VkCmdReserveSpaceForCommandsInfoNVX
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#

        {-# INLINE peek #-}
        poke :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> VkCmdReserveSpaceForCommandsInfoNVX -> IO ()
poke = Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> VkCmdReserveSpaceForCommandsInfoNVX -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#

        {-# INLINE poke #-}

instance VulkanMarshalPrim VkCmdReserveSpaceForCommandsInfoNVX
         where
        unsafeAddr :: VkCmdReserveSpaceForCommandsInfoNVX -> Addr#
unsafeAddr (VkCmdReserveSpaceForCommandsInfoNVX# Addr#
a ByteArray#
_) = Addr#
a

        {-# INLINE unsafeAddr #-}
        unsafeByteArray :: VkCmdReserveSpaceForCommandsInfoNVX -> ByteArray#
unsafeByteArray (VkCmdReserveSpaceForCommandsInfoNVX# Addr#
_ ByteArray#
b) = ByteArray#
b

        {-# INLINE unsafeByteArray #-}
        unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkCmdReserveSpaceForCommandsInfoNVX
unsafeFromByteArrayOffset Int#
off ByteArray#
b
          = Addr# -> ByteArray# -> VkCmdReserveSpaceForCommandsInfoNVX
VkCmdReserveSpaceForCommandsInfoNVX#
              (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
              ByteArray#
b

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkCmdReserveSpaceForCommandsInfoNVX where
        type StructFields VkCmdReserveSpaceForCommandsInfoNVX =
             '["sType", "pNext", "objectTable", "indirectCommandsLayout", -- ' closing tick for hsc2hs
               "maxSequencesCount"]
        type CUnionType VkCmdReserveSpaceForCommandsInfoNVX = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkCmdReserveSpaceForCommandsInfoNVX = 'False -- ' closing tick for hsc2hs
        type StructExtends VkCmdReserveSpaceForCommandsInfoNVX = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "sType" VkCmdReserveSpaceForCommandsInfoNVX where
        type FieldType "sType" VkCmdReserveSpaceForCommandsInfoNVX =
             VkStructureType
        type FieldOptional "sType" VkCmdReserveSpaceForCommandsInfoNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "sType" VkCmdReserveSpaceForCommandsInfoNVX =
             (0)
{-# LINE 698 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "sType" VkCmdReserveSpaceForCommandsInfoNVX =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
0)
{-# LINE 707 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "sType" VkCmdReserveSpaceForCommandsInfoNVX where
        {-# NOINLINE getField #-}
        getField :: VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType "sType" VkCmdReserveSpaceForCommandsInfoNVX
getField VkCmdReserveSpaceForCommandsInfoNVX
x
          = IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdReserveSpaceForCommandsInfoNVX
-> Ptr VkCmdReserveSpaceForCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdReserveSpaceForCommandsInfoNVX
x) (Int
0))
{-# LINE 714 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> IO (FieldType "sType" VkCmdReserveSpaceForCommandsInfoNVX)
readField Ptr VkCmdReserveSpaceForCommandsInfoNVX
p
          = Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdReserveSpaceForCommandsInfoNVX
p (Int
0)
{-# LINE 718 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "sType" VkCmdReserveSpaceForCommandsInfoNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType "sType" VkCmdReserveSpaceForCommandsInfoNVX -> IO ()
writeField Ptr VkCmdReserveSpaceForCommandsInfoNVX
p
          = Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdReserveSpaceForCommandsInfoNVX
p (Int
0)
{-# LINE 724 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where
        type FieldType "pNext" VkCmdReserveSpaceForCommandsInfoNVX =
             Ptr Void
        type FieldOptional "pNext" VkCmdReserveSpaceForCommandsInfoNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "pNext" VkCmdReserveSpaceForCommandsInfoNVX =
             (8)
{-# LINE 733 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "pNext" VkCmdReserveSpaceForCommandsInfoNVX =
             'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
8)
{-# LINE 742 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where
        {-# NOINLINE getField #-}
        getField :: VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType "pNext" VkCmdReserveSpaceForCommandsInfoNVX
getField VkCmdReserveSpaceForCommandsInfoNVX
x
          = IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdReserveSpaceForCommandsInfoNVX -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdReserveSpaceForCommandsInfoNVX
-> Ptr VkCmdReserveSpaceForCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdReserveSpaceForCommandsInfoNVX
x) (Int
8))
{-# LINE 749 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> IO (FieldType "pNext" VkCmdReserveSpaceForCommandsInfoNVX)
readField Ptr VkCmdReserveSpaceForCommandsInfoNVX
p
          = Ptr VkCmdReserveSpaceForCommandsInfoNVX -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdReserveSpaceForCommandsInfoNVX
p (Int
8)
{-# LINE 753 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pNext" VkCmdReserveSpaceForCommandsInfoNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType "pNext" VkCmdReserveSpaceForCommandsInfoNVX -> IO ()
writeField Ptr VkCmdReserveSpaceForCommandsInfoNVX
p
          = Ptr VkCmdReserveSpaceForCommandsInfoNVX -> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdReserveSpaceForCommandsInfoNVX
p (Int
8)
{-# LINE 759 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX where
        type FieldType "objectTable" VkCmdReserveSpaceForCommandsInfoNVX =
             VkObjectTableNVX
        type FieldOptional "objectTable"
               VkCmdReserveSpaceForCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "objectTable" VkCmdReserveSpaceForCommandsInfoNVX
             =
             (16)
{-# LINE 770 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "objectTable" VkCmdReserveSpaceForCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
16)
{-# LINE 779 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType "objectTable" VkCmdReserveSpaceForCommandsInfoNVX
getField VkCmdReserveSpaceForCommandsInfoNVX
x
          = IO VkObjectTableNVX -> VkObjectTableNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> Int -> IO VkObjectTableNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdReserveSpaceForCommandsInfoNVX
-> Ptr VkCmdReserveSpaceForCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdReserveSpaceForCommandsInfoNVX
x) (Int
16))
{-# LINE 787 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> IO (FieldType "objectTable" VkCmdReserveSpaceForCommandsInfoNVX)
readField Ptr VkCmdReserveSpaceForCommandsInfoNVX
p
          = Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> Int -> IO VkObjectTableNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdReserveSpaceForCommandsInfoNVX
p (Int
16)
{-# LINE 791 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "objectTable" VkCmdReserveSpaceForCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType "objectTable" VkCmdReserveSpaceForCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdReserveSpaceForCommandsInfoNVX
p
          = Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> Int -> VkObjectTableNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdReserveSpaceForCommandsInfoNVX
p (Int
16)
{-# LINE 798 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "indirectCommandsLayout"
           VkCmdReserveSpaceForCommandsInfoNVX
         where
        type FieldType "indirectCommandsLayout"
               VkCmdReserveSpaceForCommandsInfoNVX
             = VkIndirectCommandsLayoutNVX
        type FieldOptional "indirectCommandsLayout"
               VkCmdReserveSpaceForCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "indirectCommandsLayout"
               VkCmdReserveSpaceForCommandsInfoNVX
             =
             (24)
{-# LINE 813 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "indirectCommandsLayout"
               VkCmdReserveSpaceForCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
24)
{-# LINE 823 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "indirectCommandsLayout"
           VkCmdReserveSpaceForCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType
     "indirectCommandsLayout" VkCmdReserveSpaceForCommandsInfoNVX
getField VkCmdReserveSpaceForCommandsInfoNVX
x
          = IO VkIndirectCommandsLayoutNVX -> VkIndirectCommandsLayoutNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> Int -> IO VkIndirectCommandsLayoutNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdReserveSpaceForCommandsInfoNVX
-> Ptr VkCmdReserveSpaceForCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdReserveSpaceForCommandsInfoNVX
x) (Int
24))
{-# LINE 832 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> IO
     (FieldType
        "indirectCommandsLayout" VkCmdReserveSpaceForCommandsInfoNVX)
readField Ptr VkCmdReserveSpaceForCommandsInfoNVX
p
          = Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> Int -> IO VkIndirectCommandsLayoutNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdReserveSpaceForCommandsInfoNVX
p (Int
24)
{-# LINE 836 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "indirectCommandsLayout"
           VkCmdReserveSpaceForCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType
     "indirectCommandsLayout" VkCmdReserveSpaceForCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdReserveSpaceForCommandsInfoNVX
p
          = Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> Int -> VkIndirectCommandsLayoutNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdReserveSpaceForCommandsInfoNVX
p (Int
24)
{-# LINE 844 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxSequencesCount" VkCmdReserveSpaceForCommandsInfoNVX
         where
        type FieldType "maxSequencesCount"
               VkCmdReserveSpaceForCommandsInfoNVX
             = Word32
        type FieldOptional "maxSequencesCount"
               VkCmdReserveSpaceForCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "maxSequencesCount"
               VkCmdReserveSpaceForCommandsInfoNVX
             =
             (32)
{-# LINE 858 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}
        type FieldIsArray "maxSequencesCount"
               VkCmdReserveSpaceForCommandsInfoNVX
             = 'False -- ' closing tick for hsc2hs

        {-# INLINE fieldOptional #-}
        fieldOptional :: Bool
fieldOptional = Bool
False

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
32)
{-# LINE 868 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "maxSequencesCount"
           VkCmdReserveSpaceForCommandsInfoNVX
         where
        {-# NOINLINE getField #-}
        getField :: VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType
     "maxSequencesCount" VkCmdReserveSpaceForCommandsInfoNVX
getField VkCmdReserveSpaceForCommandsInfoNVX
x
          = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkCmdReserveSpaceForCommandsInfoNVX -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkCmdReserveSpaceForCommandsInfoNVX
-> Ptr VkCmdReserveSpaceForCommandsInfoNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkCmdReserveSpaceForCommandsInfoNVX
x) (Int
32))
{-# LINE 877 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> IO
     (FieldType "maxSequencesCount" VkCmdReserveSpaceForCommandsInfoNVX)
readField Ptr VkCmdReserveSpaceForCommandsInfoNVX
p
          = Ptr VkCmdReserveSpaceForCommandsInfoNVX -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkCmdReserveSpaceForCommandsInfoNVX
p (Int
32)
{-# LINE 881 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxSequencesCount"
           VkCmdReserveSpaceForCommandsInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType
     "maxSequencesCount" VkCmdReserveSpaceForCommandsInfoNVX
-> IO ()
writeField Ptr VkCmdReserveSpaceForCommandsInfoNVX
p
          = Ptr VkCmdReserveSpaceForCommandsInfoNVX -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkCmdReserveSpaceForCommandsInfoNVX
p (Int
32)
{-# LINE 889 "src-gen/Graphics/Vulkan/Types/Struct/Cmd.hsc" #-}

instance Show VkCmdReserveSpaceForCommandsInfoNVX where
        showsPrec :: Int -> VkCmdReserveSpaceForCommandsInfoNVX -> ShowS
showsPrec Int
d VkCmdReserveSpaceForCommandsInfoNVX
x
          = String -> ShowS
showString String
"VkCmdReserveSpaceForCommandsInfoNVX {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"sType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkStructureType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType "sType" VkCmdReserveSpaceForCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkCmdReserveSpaceForCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                  String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                    String -> ShowS
showString String
"pNext = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> Ptr Void -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType "pNext" VkCmdReserveSpaceForCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkCmdReserveSpaceForCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                        String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                          String -> ShowS
showString String
"objectTable = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkObjectTableNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType "objectTable" VkCmdReserveSpaceForCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"objectTable" VkCmdReserveSpaceForCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                              String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                String -> ShowS
showString String
"indirectCommandsLayout = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkIndirectCommandsLayoutNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType
     "indirectCommandsLayout" VkCmdReserveSpaceForCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"indirectCommandsLayout" VkCmdReserveSpaceForCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                    String -> ShowS
showString String
", " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                      String -> ShowS
showString String
"maxSequencesCount = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkCmdReserveSpaceForCommandsInfoNVX
-> FieldType
     "maxSequencesCount" VkCmdReserveSpaceForCommandsInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxSequencesCount" VkCmdReserveSpaceForCommandsInfoNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'