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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MagicHash             #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeApplications      #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.ObjectTable
       (VkObjectTableCreateInfoNVX(..),
        VkObjectTableDescriptorSetEntryNVX(..), VkObjectTableEntryNVX(..),
        VkObjectTableIndexBufferEntryNVX(..),
        VkObjectTablePipelineEntryNVX(..),
        VkObjectTablePushConstantEntryNVX(..),
        VkObjectTableVertexBufferEntryNVX(..))
       where
import           Foreign.Storable                         (Storable (..))
import           GHC.Base                                 (Addr#, ByteArray#,
                                                           byteArrayContents#,
                                                           plusAddr#)
import           Graphics.Vulkan.Marshal
import           Graphics.Vulkan.Marshal.Internal
import           Graphics.Vulkan.Types.Enum.IndexType     (VkIndexType)
import           Graphics.Vulkan.Types.Enum.Object        (VkObjectEntryTypeNVX, VkObjectEntryUsageFlagsNVX)
import           Graphics.Vulkan.Types.Enum.Shader        (VkShaderStageFlags)
import           Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import           Graphics.Vulkan.Types.Handles            (VkBuffer,
                                                           VkDescriptorSet,
                                                           VkPipeline,
                                                           VkPipelineLayout)
import           System.IO.Unsafe                         (unsafeDupablePerformIO)

-- | > typedef struct VkObjectTableCreateInfoNVX {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     uint32_t                                          objectCount;
--   >     const VkObjectEntryTypeNVX*       pObjectEntryTypes;
--   >     const uint32_t*                   pObjectEntryCounts;
--   >     const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags;
--   >     uint32_t maxUniformBuffersPerDescriptor;
--   >     uint32_t maxStorageBuffersPerDescriptor;
--   >     uint32_t maxStorageImagesPerDescriptor;
--   >     uint32_t maxSampledImagesPerDescriptor;
--   >     uint32_t maxPipelineLayouts;
--   > } VkObjectTableCreateInfoNVX;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableCreateInfoNVX VkObjectTableCreateInfoNVX registry at www.khronos.org>
data VkObjectTableCreateInfoNVX = VkObjectTableCreateInfoNVX# Addr#
                                                              ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkObjectTableCreateInfoNVX where
        sizeOf :: VkObjectTableCreateInfoNVX -> Int
sizeOf ~VkObjectTableCreateInfoNVX
_ = (Int
72)
{-# LINE 67 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkObjectTableCreateInfoNVX where
        type StructFields VkObjectTableCreateInfoNVX =
             '["sType", "pNext", "objectCount", "pObjectEntryTypes", -- ' closing tick for hsc2hs
               "pObjectEntryCounts", "pObjectEntryUsageFlags",
               "maxUniformBuffersPerDescriptor", "maxStorageBuffersPerDescriptor",
               "maxStorageImagesPerDescriptor", "maxSampledImagesPerDescriptor",
               "maxPipelineLayouts"]
        type CUnionType VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkObjectTableCreateInfoNVX = 'False -- ' closing tick for hsc2hs
        type StructExtends VkObjectTableCreateInfoNVX = '[] -- ' closing tick for hsc2hs

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

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

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

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

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

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

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "objectCount" VkObjectTableCreateInfoNVX where
        type FieldType "objectCount" VkObjectTableCreateInfoNVX = Word32
        type FieldOptional "objectCount" VkObjectTableCreateInfoNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "objectCount" VkObjectTableCreateInfoNVX =
             (16)
{-# LINE 175 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "objectCount" VkObjectTableCreateInfoNVX = '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/ObjectTable.hsc" #-}

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pObjectEntryTypes" VkObjectTableCreateInfoNVX where
        type FieldType "pObjectEntryTypes" VkObjectTableCreateInfoNVX =
             Ptr VkObjectEntryTypeNVX
        type FieldOptional "pObjectEntryTypes" VkObjectTableCreateInfoNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "pObjectEntryTypes" VkObjectTableCreateInfoNVX =
             (24)
{-# LINE 209 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "pObjectEntryTypes" VkObjectTableCreateInfoNVX =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableCreateInfoNVX
-> IO (FieldType "pObjectEntryTypes" VkObjectTableCreateInfoNVX)
readField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX
-> Int -> IO (Ptr VkObjectEntryTypeNVX)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
24)
{-# LINE 229 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pObjectEntryTypes" VkObjectTableCreateInfoNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableCreateInfoNVX
-> FieldType "pObjectEntryTypes" VkObjectTableCreateInfoNVX
-> IO ()
writeField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX
-> Int -> Ptr VkObjectEntryTypeNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
24)
{-# LINE 235 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pObjectEntryCounts" VkObjectTableCreateInfoNVX where
        type FieldType "pObjectEntryCounts" VkObjectTableCreateInfoNVX =
             Ptr Word32
        type FieldOptional "pObjectEntryCounts" VkObjectTableCreateInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pObjectEntryCounts" VkObjectTableCreateInfoNVX =
             (32)
{-# LINE 244 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "pObjectEntryCounts" VkObjectTableCreateInfoNVX =
             'False -- ' closing tick for hsc2hs

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX where
        type FieldType "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX
             = Ptr VkObjectEntryUsageFlagsNVX
        type FieldOptional "pObjectEntryUsageFlags"
               VkObjectTableCreateInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pObjectEntryUsageFlags"
               VkObjectTableCreateInfoNVX
             =
             (40)
{-# LINE 282 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "pObjectEntryUsageFlags"
               VkObjectTableCreateInfoNVX
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableCreateInfoNVX
-> IO
     (FieldType "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX)
readField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX
-> Int -> IO (Ptr VkObjectEntryUsageFlagsNVX)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
40)
{-# LINE 304 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableCreateInfoNVX
-> FieldType "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX
-> IO ()
writeField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX
-> Int -> Ptr VkObjectEntryUsageFlagsNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
40)
{-# LINE 311 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

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

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

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

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

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

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

instance {-# OVERLAPPING #-}
         HasField "maxStorageBuffersPerDescriptor"
           VkObjectTableCreateInfoNVX
         where
        type FieldType "maxStorageBuffersPerDescriptor"
               VkObjectTableCreateInfoNVX
             = Word32
        type FieldOptional "maxStorageBuffersPerDescriptor"
               VkObjectTableCreateInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "maxStorageBuffersPerDescriptor"
               VkObjectTableCreateInfoNVX
             =
             (52)
{-# LINE 372 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "maxStorageBuffersPerDescriptor"
               VkObjectTableCreateInfoNVX
             = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
52)
{-# LINE 382 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableCreateInfoNVX
-> IO
     (FieldType
        "maxStorageBuffersPerDescriptor" VkObjectTableCreateInfoNVX)
readField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
52)
{-# LINE 395 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxStorageBuffersPerDescriptor"
           VkObjectTableCreateInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableCreateInfoNVX
-> FieldType
     "maxStorageBuffersPerDescriptor" VkObjectTableCreateInfoNVX
-> IO ()
writeField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
52)
{-# LINE 403 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxStorageImagesPerDescriptor" VkObjectTableCreateInfoNVX
         where
        type FieldType "maxStorageImagesPerDescriptor"
               VkObjectTableCreateInfoNVX
             = Word32
        type FieldOptional "maxStorageImagesPerDescriptor"
               VkObjectTableCreateInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "maxStorageImagesPerDescriptor"
               VkObjectTableCreateInfoNVX
             =
             (56)
{-# LINE 417 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "maxStorageImagesPerDescriptor"
               VkObjectTableCreateInfoNVX
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableCreateInfoNVX
-> IO
     (FieldType
        "maxStorageImagesPerDescriptor" VkObjectTableCreateInfoNVX)
readField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
56)
{-# LINE 440 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxStorageImagesPerDescriptor"
           VkObjectTableCreateInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableCreateInfoNVX
-> FieldType
     "maxStorageImagesPerDescriptor" VkObjectTableCreateInfoNVX
-> IO ()
writeField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
56)
{-# LINE 448 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxSampledImagesPerDescriptor" VkObjectTableCreateInfoNVX
         where
        type FieldType "maxSampledImagesPerDescriptor"
               VkObjectTableCreateInfoNVX
             = Word32
        type FieldOptional "maxSampledImagesPerDescriptor"
               VkObjectTableCreateInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "maxSampledImagesPerDescriptor"
               VkObjectTableCreateInfoNVX
             =
             (60)
{-# LINE 462 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "maxSampledImagesPerDescriptor"
               VkObjectTableCreateInfoNVX
             = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
60)
{-# LINE 472 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableCreateInfoNVX
-> IO
     (FieldType
        "maxSampledImagesPerDescriptor" VkObjectTableCreateInfoNVX)
readField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
60)
{-# LINE 485 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxSampledImagesPerDescriptor"
           VkObjectTableCreateInfoNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableCreateInfoNVX
-> FieldType
     "maxSampledImagesPerDescriptor" VkObjectTableCreateInfoNVX
-> IO ()
writeField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
60)
{-# LINE 493 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "maxPipelineLayouts" VkObjectTableCreateInfoNVX where
        type FieldType "maxPipelineLayouts" VkObjectTableCreateInfoNVX =
             Word32
        type FieldOptional "maxPipelineLayouts" VkObjectTableCreateInfoNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "maxPipelineLayouts" VkObjectTableCreateInfoNVX =
             (64)
{-# LINE 502 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "maxPipelineLayouts" VkObjectTableCreateInfoNVX =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableCreateInfoNVX
-> IO (FieldType "maxPipelineLayouts" VkObjectTableCreateInfoNVX)
readField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
64)
{-# LINE 522 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "maxPipelineLayouts" VkObjectTableCreateInfoNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableCreateInfoNVX
-> FieldType "maxPipelineLayouts" VkObjectTableCreateInfoNVX
-> IO ()
writeField Ptr VkObjectTableCreateInfoNVX
p
          = Ptr VkObjectTableCreateInfoNVX -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableCreateInfoNVX
p (Int
64)
{-# LINE 528 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance Show VkObjectTableCreateInfoNVX where
        showsPrec :: Int -> VkObjectTableCreateInfoNVX -> ShowS
showsPrec Int
d VkObjectTableCreateInfoNVX
x
          = String -> ShowS
showString String
"VkObjectTableCreateInfoNVX {" 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 (VkObjectTableCreateInfoNVX
-> FieldType "sType" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkObjectTableCreateInfoNVX
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 (VkObjectTableCreateInfoNVX
-> FieldType "pNext" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkObjectTableCreateInfoNVX
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
"objectCount = " 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 (VkObjectTableCreateInfoNVX
-> FieldType "objectCount" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"objectCount" VkObjectTableCreateInfoNVX
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
"pObjectEntryTypes = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> Ptr VkObjectEntryTypeNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableCreateInfoNVX
-> FieldType "pObjectEntryTypes" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pObjectEntryTypes" VkObjectTableCreateInfoNVX
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
"pObjectEntryCounts = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                        Int -> Ptr Word32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableCreateInfoNVX
-> FieldType "pObjectEntryCounts" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pObjectEntryCounts" VkObjectTableCreateInfoNVX
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
"pObjectEntryUsageFlags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                              Int -> Ptr VkObjectEntryUsageFlagsNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableCreateInfoNVX
-> FieldType "pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pObjectEntryUsageFlags" VkObjectTableCreateInfoNVX
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
"maxUniformBuffersPerDescriptor = " 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
                                                      (VkObjectTableCreateInfoNVX
-> FieldType
     "maxUniformBuffersPerDescriptor" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"maxUniformBuffersPerDescriptor" VkObjectTableCreateInfoNVX
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
"maxStorageBuffersPerDescriptor = "
                                                          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
                                                            (VkObjectTableCreateInfoNVX
-> FieldType
     "maxStorageBuffersPerDescriptor" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                               @"maxStorageBuffersPerDescriptor"
                                                               VkObjectTableCreateInfoNVX
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
"maxStorageImagesPerDescriptor = "
                                                                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
                                                                  (VkObjectTableCreateInfoNVX
-> FieldType
     "maxStorageImagesPerDescriptor" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                     @"maxStorageImagesPerDescriptor"
                                                                     VkObjectTableCreateInfoNVX
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
"maxSampledImagesPerDescriptor = "
                                                                      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
                                                                        (VkObjectTableCreateInfoNVX
-> FieldType
     "maxSampledImagesPerDescriptor" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                           @"maxSampledImagesPerDescriptor"
                                                                           VkObjectTableCreateInfoNVX
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
"maxPipelineLayouts = "
                                                                            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
                                                                              (VkObjectTableCreateInfoNVX
-> FieldType "maxPipelineLayouts" VkObjectTableCreateInfoNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField
                                                                                 @"maxPipelineLayouts"
                                                                                 VkObjectTableCreateInfoNVX
x)
                                                                              ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkObjectTableDescriptorSetEntryNVX {
--   >     VkObjectEntryTypeNVX         type;
--   >     VkObjectEntryUsageFlagsNVX   flags;
--   >     VkPipelineLayout             pipelineLayout;
--   >     VkDescriptorSet              descriptorSet;
--   > } VkObjectTableDescriptorSetEntryNVX;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableDescriptorSetEntryNVX VkObjectTableDescriptorSetEntryNVX registry at www.khronos.org>
data VkObjectTableDescriptorSetEntryNVX = VkObjectTableDescriptorSetEntryNVX# Addr#
                                                                              ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkObjectTableDescriptorSetEntryNVX where
        sizeOf :: VkObjectTableDescriptorSetEntryNVX -> Int
sizeOf ~VkObjectTableDescriptorSetEntryNVX
_ = (Int
24)
{-# LINE 618 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkObjectTableDescriptorSetEntryNVX where
        type StructFields VkObjectTableDescriptorSetEntryNVX =
             '["type", "flags", "pipelineLayout", "descriptorSet"] -- ' closing tick for hsc2hs
        type CUnionType VkObjectTableDescriptorSetEntryNVX = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkObjectTableDescriptorSetEntryNVX = 'False -- ' closing tick for hsc2hs
        type StructExtends VkObjectTableDescriptorSetEntryNVX = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "type" VkObjectTableDescriptorSetEntryNVX where
        type FieldType "type" VkObjectTableDescriptorSetEntryNVX =
             VkObjectEntryTypeNVX
        type FieldOptional "type" VkObjectTableDescriptorSetEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "type" VkObjectTableDescriptorSetEntryNVX =
             (0)
{-# LINE 660 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "type" VkObjectTableDescriptorSetEntryNVX =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableDescriptorSetEntryNVX
-> IO (FieldType "type" VkObjectTableDescriptorSetEntryNVX)
readField Ptr VkObjectTableDescriptorSetEntryNVX
p
          = Ptr VkObjectTableDescriptorSetEntryNVX
-> Int -> IO VkObjectEntryTypeNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableDescriptorSetEntryNVX
p (Int
0)
{-# LINE 680 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "type" VkObjectTableDescriptorSetEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableDescriptorSetEntryNVX
-> FieldType "type" VkObjectTableDescriptorSetEntryNVX -> IO ()
writeField Ptr VkObjectTableDescriptorSetEntryNVX
p
          = Ptr VkObjectTableDescriptorSetEntryNVX
-> Int -> VkObjectEntryTypeNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableDescriptorSetEntryNVX
p (Int
0)
{-# LINE 686 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkObjectTableDescriptorSetEntryNVX where
        type FieldType "flags" VkObjectTableDescriptorSetEntryNVX =
             VkObjectEntryUsageFlagsNVX
        type FieldOptional "flags" VkObjectTableDescriptorSetEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkObjectTableDescriptorSetEntryNVX =
             (4)
{-# LINE 695 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "flags" VkObjectTableDescriptorSetEntryNVX =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
4)
{-# LINE 704 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkObjectTableDescriptorSetEntryNVX where
        {-# NOINLINE getField #-}
        getField :: VkObjectTableDescriptorSetEntryNVX
-> FieldType "flags" VkObjectTableDescriptorSetEntryNVX
getField VkObjectTableDescriptorSetEntryNVX
x
          = IO VkObjectEntryUsageFlagsNVX -> VkObjectEntryUsageFlagsNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkObjectTableDescriptorSetEntryNVX
-> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkObjectTableDescriptorSetEntryNVX
-> Ptr VkObjectTableDescriptorSetEntryNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkObjectTableDescriptorSetEntryNVX
x) (Int
4))
{-# LINE 711 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableDescriptorSetEntryNVX
-> IO (FieldType "flags" VkObjectTableDescriptorSetEntryNVX)
readField Ptr VkObjectTableDescriptorSetEntryNVX
p
          = Ptr VkObjectTableDescriptorSetEntryNVX
-> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableDescriptorSetEntryNVX
p (Int
4)
{-# LINE 715 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkObjectTableDescriptorSetEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableDescriptorSetEntryNVX
-> FieldType "flags" VkObjectTableDescriptorSetEntryNVX -> IO ()
writeField Ptr VkObjectTableDescriptorSetEntryNVX
p
          = Ptr VkObjectTableDescriptorSetEntryNVX
-> Int -> VkObjectEntryUsageFlagsNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableDescriptorSetEntryNVX
p (Int
4)
{-# LINE 721 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pipelineLayout" VkObjectTableDescriptorSetEntryNVX where
        type FieldType "pipelineLayout" VkObjectTableDescriptorSetEntryNVX
             = VkPipelineLayout
        type FieldOptional "pipelineLayout"
               VkObjectTableDescriptorSetEntryNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pipelineLayout"
               VkObjectTableDescriptorSetEntryNVX
             =
             (8)
{-# LINE 733 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "pipelineLayout"
               VkObjectTableDescriptorSetEntryNVX
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableDescriptorSetEntryNVX
-> IO
     (FieldType "pipelineLayout" VkObjectTableDescriptorSetEntryNVX)
readField Ptr VkObjectTableDescriptorSetEntryNVX
p
          = Ptr VkObjectTableDescriptorSetEntryNVX
-> Int -> IO VkPipelineLayout
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableDescriptorSetEntryNVX
p (Int
8)
{-# LINE 755 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pipelineLayout" VkObjectTableDescriptorSetEntryNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableDescriptorSetEntryNVX
-> FieldType "pipelineLayout" VkObjectTableDescriptorSetEntryNVX
-> IO ()
writeField Ptr VkObjectTableDescriptorSetEntryNVX
p
          = Ptr VkObjectTableDescriptorSetEntryNVX
-> Int -> VkPipelineLayout -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableDescriptorSetEntryNVX
p (Int
8)
{-# LINE 762 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "descriptorSet" VkObjectTableDescriptorSetEntryNVX where
        type FieldType "descriptorSet" VkObjectTableDescriptorSetEntryNVX =
             VkDescriptorSet
        type FieldOptional "descriptorSet"
               VkObjectTableDescriptorSetEntryNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "descriptorSet" VkObjectTableDescriptorSetEntryNVX
             =
             (16)
{-# LINE 773 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "descriptorSet"
               VkObjectTableDescriptorSetEntryNVX
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableDescriptorSetEntryNVX
-> IO
     (FieldType "descriptorSet" VkObjectTableDescriptorSetEntryNVX)
readField Ptr VkObjectTableDescriptorSetEntryNVX
p
          = Ptr VkObjectTableDescriptorSetEntryNVX -> Int -> IO VkDescriptorSet
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableDescriptorSetEntryNVX
p (Int
16)
{-# LINE 795 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "descriptorSet" VkObjectTableDescriptorSetEntryNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableDescriptorSetEntryNVX
-> FieldType "descriptorSet" VkObjectTableDescriptorSetEntryNVX
-> IO ()
writeField Ptr VkObjectTableDescriptorSetEntryNVX
p
          = Ptr VkObjectTableDescriptorSetEntryNVX
-> Int -> VkDescriptorSet -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableDescriptorSetEntryNVX
p (Int
16)
{-# LINE 802 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance Show VkObjectTableDescriptorSetEntryNVX where
        showsPrec :: Int -> VkObjectTableDescriptorSetEntryNVX -> ShowS
showsPrec Int
d VkObjectTableDescriptorSetEntryNVX
x
          = String -> ShowS
showString String
"VkObjectTableDescriptorSetEntryNVX {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"type = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkObjectEntryTypeNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableDescriptorSetEntryNVX
-> FieldType "type" VkObjectTableDescriptorSetEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"type" VkObjectTableDescriptorSetEntryNVX
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
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkObjectEntryUsageFlagsNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableDescriptorSetEntryNVX
-> FieldType "flags" VkObjectTableDescriptorSetEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkObjectTableDescriptorSetEntryNVX
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
"pipelineLayout = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineLayout -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableDescriptorSetEntryNVX
-> FieldType "pipelineLayout" VkObjectTableDescriptorSetEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pipelineLayout" VkObjectTableDescriptorSetEntryNVX
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
"descriptorSet = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkDescriptorSet -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableDescriptorSetEntryNVX
-> FieldType "descriptorSet" VkObjectTableDescriptorSetEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"descriptorSet" VkObjectTableDescriptorSetEntryNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkObjectTableEntryNVX {
--   >     VkObjectEntryTypeNVX         type;
--   >     VkObjectEntryUsageFlagsNVX   flags;
--   > } VkObjectTableEntryNVX;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableEntryNVX VkObjectTableEntryNVX registry at www.khronos.org>
data VkObjectTableEntryNVX = VkObjectTableEntryNVX# Addr#
                                                    ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkObjectTableEntryNVX where
        sizeOf :: VkObjectTableEntryNVX -> Int
sizeOf ~VkObjectTableEntryNVX
_ = (Int
8)
{-# LINE 841 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

        {-# INLINE sizeOf #-}
        alignment :: VkObjectTableEntryNVX -> Int
alignment ~VkObjectTableEntryNVX
_ = Int
4
{-# LINE 844 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkObjectTableEntryNVX where
        type StructFields VkObjectTableEntryNVX = '["type", "flags"] -- ' closing tick for hsc2hs
        type CUnionType VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs
        type StructExtends VkObjectTableEntryNVX = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-} HasField "type" VkObjectTableEntryNVX
         where
        type FieldType "type" VkObjectTableEntryNVX = VkObjectEntryTypeNVX
        type FieldOptional "type" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs
        type FieldOffset "type" VkObjectTableEntryNVX =
             (0)
{-# LINE 877 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "type" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableEntryNVX
-> IO (FieldType "type" VkObjectTableEntryNVX)
readField Ptr VkObjectTableEntryNVX
p
          = Ptr VkObjectTableEntryNVX -> Int -> IO VkObjectEntryTypeNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableEntryNVX
p (Int
0)
{-# LINE 895 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "type" VkObjectTableEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableEntryNVX
-> FieldType "type" VkObjectTableEntryNVX -> IO ()
writeField Ptr VkObjectTableEntryNVX
p
          = Ptr VkObjectTableEntryNVX -> Int -> VkObjectEntryTypeNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableEntryNVX
p (Int
0)
{-# LINE 901 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-} HasField "flags" VkObjectTableEntryNVX
         where
        type FieldType "flags" VkObjectTableEntryNVX =
             VkObjectEntryUsageFlagsNVX
        type FieldOptional "flags" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkObjectTableEntryNVX =
             (4)
{-# LINE 909 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "flags" VkObjectTableEntryNVX = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset = (Int
4)
{-# LINE 916 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkObjectTableEntryNVX where
        {-# NOINLINE getField #-}
        getField :: VkObjectTableEntryNVX -> FieldType "flags" VkObjectTableEntryNVX
getField VkObjectTableEntryNVX
x
          = IO VkObjectEntryUsageFlagsNVX -> VkObjectEntryUsageFlagsNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkObjectTableEntryNVX -> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkObjectTableEntryNVX -> Ptr VkObjectTableEntryNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkObjectTableEntryNVX
x) (Int
4))
{-# LINE 923 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableEntryNVX
-> IO (FieldType "flags" VkObjectTableEntryNVX)
readField Ptr VkObjectTableEntryNVX
p
          = Ptr VkObjectTableEntryNVX -> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableEntryNVX
p (Int
4)
{-# LINE 927 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkObjectTableEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableEntryNVX
-> FieldType "flags" VkObjectTableEntryNVX -> IO ()
writeField Ptr VkObjectTableEntryNVX
p
          = Ptr VkObjectTableEntryNVX
-> Int -> VkObjectEntryUsageFlagsNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableEntryNVX
p (Int
4)
{-# LINE 933 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance Show VkObjectTableEntryNVX where
        showsPrec :: Int -> VkObjectTableEntryNVX -> ShowS
showsPrec Int
d VkObjectTableEntryNVX
x
          = String -> ShowS
showString String
"VkObjectTableEntryNVX {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"type = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkObjectEntryTypeNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableEntryNVX -> FieldType "type" VkObjectTableEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"type" VkObjectTableEntryNVX
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
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkObjectEntryUsageFlagsNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableEntryNVX -> FieldType "flags" VkObjectTableEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkObjectTableEntryNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkObjectTableIndexBufferEntryNVX {
--   >     VkObjectEntryTypeNVX         type;
--   >     VkObjectEntryUsageFlagsNVX   flags;
--   >     VkBuffer                     buffer;
--   >     VkIndexType                  indexType;
--   > } VkObjectTableIndexBufferEntryNVX;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableIndexBufferEntryNVX VkObjectTableIndexBufferEntryNVX registry at www.khronos.org>
data VkObjectTableIndexBufferEntryNVX = VkObjectTableIndexBufferEntryNVX# Addr#
                                                                          ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkObjectTableIndexBufferEntryNVX where
        sizeOf :: VkObjectTableIndexBufferEntryNVX -> Int
sizeOf ~VkObjectTableIndexBufferEntryNVX
_ = (Int
24)
{-# LINE 970 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkObjectTableIndexBufferEntryNVX where
        type StructFields VkObjectTableIndexBufferEntryNVX =
             '["type", "flags", "buffer", "indexType"] -- ' closing tick for hsc2hs
        type CUnionType VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs
        type StructExtends VkObjectTableIndexBufferEntryNVX = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "type" VkObjectTableIndexBufferEntryNVX where
        type FieldType "type" VkObjectTableIndexBufferEntryNVX =
             VkObjectEntryTypeNVX
        type FieldOptional "type" VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs
        type FieldOffset "type" VkObjectTableIndexBufferEntryNVX =
             (0)
{-# LINE 1011 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "type" VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableIndexBufferEntryNVX
-> IO (FieldType "type" VkObjectTableIndexBufferEntryNVX)
readField Ptr VkObjectTableIndexBufferEntryNVX
p
          = Ptr VkObjectTableIndexBufferEntryNVX
-> Int -> IO VkObjectEntryTypeNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableIndexBufferEntryNVX
p (Int
0)
{-# LINE 1030 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "type" VkObjectTableIndexBufferEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableIndexBufferEntryNVX
-> FieldType "type" VkObjectTableIndexBufferEntryNVX -> IO ()
writeField Ptr VkObjectTableIndexBufferEntryNVX
p
          = Ptr VkObjectTableIndexBufferEntryNVX
-> Int -> VkObjectEntryTypeNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableIndexBufferEntryNVX
p (Int
0)
{-# LINE 1036 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkObjectTableIndexBufferEntryNVX where
        type FieldType "flags" VkObjectTableIndexBufferEntryNVX =
             VkObjectEntryUsageFlagsNVX
        type FieldOptional "flags" VkObjectTableIndexBufferEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkObjectTableIndexBufferEntryNVX =
             (4)
{-# LINE 1045 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "flags" VkObjectTableIndexBufferEntryNVX = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
4)
{-# LINE 1053 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkObjectTableIndexBufferEntryNVX where
        {-# NOINLINE getField #-}
        getField :: VkObjectTableIndexBufferEntryNVX
-> FieldType "flags" VkObjectTableIndexBufferEntryNVX
getField VkObjectTableIndexBufferEntryNVX
x
          = IO VkObjectEntryUsageFlagsNVX -> VkObjectEntryUsageFlagsNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkObjectTableIndexBufferEntryNVX
-> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkObjectTableIndexBufferEntryNVX
-> Ptr VkObjectTableIndexBufferEntryNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkObjectTableIndexBufferEntryNVX
x) (Int
4))
{-# LINE 1060 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableIndexBufferEntryNVX
-> IO (FieldType "flags" VkObjectTableIndexBufferEntryNVX)
readField Ptr VkObjectTableIndexBufferEntryNVX
p
          = Ptr VkObjectTableIndexBufferEntryNVX
-> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableIndexBufferEntryNVX
p (Int
4)
{-# LINE 1064 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkObjectTableIndexBufferEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableIndexBufferEntryNVX
-> FieldType "flags" VkObjectTableIndexBufferEntryNVX -> IO ()
writeField Ptr VkObjectTableIndexBufferEntryNVX
p
          = Ptr VkObjectTableIndexBufferEntryNVX
-> Int -> VkObjectEntryUsageFlagsNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableIndexBufferEntryNVX
p (Int
4)
{-# LINE 1070 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "buffer" VkObjectTableIndexBufferEntryNVX where
        type FieldType "buffer" VkObjectTableIndexBufferEntryNVX = VkBuffer
        type FieldOptional "buffer" VkObjectTableIndexBufferEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "buffer" VkObjectTableIndexBufferEntryNVX =
             (8)
{-# LINE 1078 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "buffer" VkObjectTableIndexBufferEntryNVX =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableIndexBufferEntryNVX
-> IO (FieldType "buffer" VkObjectTableIndexBufferEntryNVX)
readField Ptr VkObjectTableIndexBufferEntryNVX
p
          = Ptr VkObjectTableIndexBufferEntryNVX -> Int -> IO VkBuffer
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableIndexBufferEntryNVX
p (Int
8)
{-# LINE 1098 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "buffer" VkObjectTableIndexBufferEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableIndexBufferEntryNVX
-> FieldType "buffer" VkObjectTableIndexBufferEntryNVX -> IO ()
writeField Ptr VkObjectTableIndexBufferEntryNVX
p
          = Ptr VkObjectTableIndexBufferEntryNVX -> Int -> VkBuffer -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableIndexBufferEntryNVX
p (Int
8)
{-# LINE 1104 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "indexType" VkObjectTableIndexBufferEntryNVX where
        type FieldType "indexType" VkObjectTableIndexBufferEntryNVX =
             VkIndexType
        type FieldOptional "indexType" VkObjectTableIndexBufferEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "indexType" VkObjectTableIndexBufferEntryNVX =
             (16)
{-# LINE 1113 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "indexType" VkObjectTableIndexBufferEntryNVX =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableIndexBufferEntryNVX
-> IO (FieldType "indexType" VkObjectTableIndexBufferEntryNVX)
readField Ptr VkObjectTableIndexBufferEntryNVX
p
          = Ptr VkObjectTableIndexBufferEntryNVX -> Int -> IO VkIndexType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableIndexBufferEntryNVX
p (Int
16)
{-# LINE 1133 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "indexType" VkObjectTableIndexBufferEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableIndexBufferEntryNVX
-> FieldType "indexType" VkObjectTableIndexBufferEntryNVX -> IO ()
writeField Ptr VkObjectTableIndexBufferEntryNVX
p
          = Ptr VkObjectTableIndexBufferEntryNVX -> Int -> VkIndexType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableIndexBufferEntryNVX
p (Int
16)
{-# LINE 1139 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance Show VkObjectTableIndexBufferEntryNVX where
        showsPrec :: Int -> VkObjectTableIndexBufferEntryNVX -> ShowS
showsPrec Int
d VkObjectTableIndexBufferEntryNVX
x
          = String -> ShowS
showString String
"VkObjectTableIndexBufferEntryNVX {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"type = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkObjectEntryTypeNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableIndexBufferEntryNVX
-> FieldType "type" VkObjectTableIndexBufferEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"type" VkObjectTableIndexBufferEntryNVX
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
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkObjectEntryUsageFlagsNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableIndexBufferEntryNVX
-> FieldType "flags" VkObjectTableIndexBufferEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkObjectTableIndexBufferEntryNVX
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
"buffer = " 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 (VkObjectTableIndexBufferEntryNVX
-> FieldType "buffer" VkObjectTableIndexBufferEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"buffer" VkObjectTableIndexBufferEntryNVX
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
"indexType = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkIndexType -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableIndexBufferEntryNVX
-> FieldType "indexType" VkObjectTableIndexBufferEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"indexType" VkObjectTableIndexBufferEntryNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkObjectTablePipelineEntryNVX {
--   >     VkObjectEntryTypeNVX         type;
--   >     VkObjectEntryUsageFlagsNVX   flags;
--   >     VkPipeline                   pipeline;
--   > } VkObjectTablePipelineEntryNVX;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTablePipelineEntryNVX VkObjectTablePipelineEntryNVX registry at www.khronos.org>
data VkObjectTablePipelineEntryNVX = VkObjectTablePipelineEntryNVX# Addr#
                                                                    ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkObjectTablePipelineEntryNVX where
        sizeOf :: VkObjectTablePipelineEntryNVX -> Int
sizeOf ~VkObjectTablePipelineEntryNVX
_ = (Int
16)
{-# LINE 1180 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkObjectTablePipelineEntryNVX where
        type StructFields VkObjectTablePipelineEntryNVX =
             '["type", "flags", "pipeline"] -- ' closing tick for hsc2hs
        type CUnionType VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs
        type StructExtends VkObjectTablePipelineEntryNVX = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "type" VkObjectTablePipelineEntryNVX where
        type FieldType "type" VkObjectTablePipelineEntryNVX =
             VkObjectEntryTypeNVX
        type FieldOptional "type" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs
        type FieldOffset "type" VkObjectTablePipelineEntryNVX =
             (0)
{-# LINE 1221 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "type" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTablePipelineEntryNVX
-> IO (FieldType "type" VkObjectTablePipelineEntryNVX)
readField Ptr VkObjectTablePipelineEntryNVX
p
          = Ptr VkObjectTablePipelineEntryNVX -> Int -> IO VkObjectEntryTypeNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTablePipelineEntryNVX
p (Int
0)
{-# LINE 1240 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "type" VkObjectTablePipelineEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTablePipelineEntryNVX
-> FieldType "type" VkObjectTablePipelineEntryNVX -> IO ()
writeField Ptr VkObjectTablePipelineEntryNVX
p
          = Ptr VkObjectTablePipelineEntryNVX
-> Int -> VkObjectEntryTypeNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTablePipelineEntryNVX
p (Int
0)
{-# LINE 1246 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkObjectTablePipelineEntryNVX where
        type FieldType "flags" VkObjectTablePipelineEntryNVX =
             VkObjectEntryUsageFlagsNVX
        type FieldOptional "flags" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkObjectTablePipelineEntryNVX =
             (4)
{-# LINE 1254 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "flags" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
4)
{-# LINE 1262 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkObjectTablePipelineEntryNVX where
        {-# NOINLINE getField #-}
        getField :: VkObjectTablePipelineEntryNVX
-> FieldType "flags" VkObjectTablePipelineEntryNVX
getField VkObjectTablePipelineEntryNVX
x
          = IO VkObjectEntryUsageFlagsNVX -> VkObjectEntryUsageFlagsNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkObjectTablePipelineEntryNVX
-> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkObjectTablePipelineEntryNVX -> Ptr VkObjectTablePipelineEntryNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkObjectTablePipelineEntryNVX
x) (Int
4))
{-# LINE 1269 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTablePipelineEntryNVX
-> IO (FieldType "flags" VkObjectTablePipelineEntryNVX)
readField Ptr VkObjectTablePipelineEntryNVX
p
          = Ptr VkObjectTablePipelineEntryNVX
-> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTablePipelineEntryNVX
p (Int
4)
{-# LINE 1273 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkObjectTablePipelineEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTablePipelineEntryNVX
-> FieldType "flags" VkObjectTablePipelineEntryNVX -> IO ()
writeField Ptr VkObjectTablePipelineEntryNVX
p
          = Ptr VkObjectTablePipelineEntryNVX
-> Int -> VkObjectEntryUsageFlagsNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTablePipelineEntryNVX
p (Int
4)
{-# LINE 1279 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pipeline" VkObjectTablePipelineEntryNVX where
        type FieldType "pipeline" VkObjectTablePipelineEntryNVX =
             VkPipeline
        type FieldOptional "pipeline" VkObjectTablePipelineEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "pipeline" VkObjectTablePipelineEntryNVX =
             (8)
{-# LINE 1288 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "pipeline" VkObjectTablePipelineEntryNVX = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTablePipelineEntryNVX
-> IO (FieldType "pipeline" VkObjectTablePipelineEntryNVX)
readField Ptr VkObjectTablePipelineEntryNVX
p
          = Ptr VkObjectTablePipelineEntryNVX -> Int -> IO VkPipeline
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTablePipelineEntryNVX
p (Int
8)
{-# LINE 1307 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pipeline" VkObjectTablePipelineEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTablePipelineEntryNVX
-> FieldType "pipeline" VkObjectTablePipelineEntryNVX -> IO ()
writeField Ptr VkObjectTablePipelineEntryNVX
p
          = Ptr VkObjectTablePipelineEntryNVX -> Int -> VkPipeline -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTablePipelineEntryNVX
p (Int
8)
{-# LINE 1313 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance Show VkObjectTablePipelineEntryNVX where
        showsPrec :: Int -> VkObjectTablePipelineEntryNVX -> ShowS
showsPrec Int
d VkObjectTablePipelineEntryNVX
x
          = String -> ShowS
showString String
"VkObjectTablePipelineEntryNVX {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"type = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkObjectEntryTypeNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTablePipelineEntryNVX
-> FieldType "type" VkObjectTablePipelineEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"type" VkObjectTablePipelineEntryNVX
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
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkObjectEntryUsageFlagsNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTablePipelineEntryNVX
-> FieldType "flags" VkObjectTablePipelineEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkObjectTablePipelineEntryNVX
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
"pipeline = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipeline -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTablePipelineEntryNVX
-> FieldType "pipeline" VkObjectTablePipelineEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pipeline" VkObjectTablePipelineEntryNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkObjectTablePushConstantEntryNVX {
--   >     VkObjectEntryTypeNVX         type;
--   >     VkObjectEntryUsageFlagsNVX   flags;
--   >     VkPipelineLayout             pipelineLayout;
--   >     VkShaderStageFlags           stageFlags;
--   > } VkObjectTablePushConstantEntryNVX;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTablePushConstantEntryNVX VkObjectTablePushConstantEntryNVX registry at www.khronos.org>
data VkObjectTablePushConstantEntryNVX = VkObjectTablePushConstantEntryNVX# Addr#
                                                                            ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkObjectTablePushConstantEntryNVX where
        sizeOf :: VkObjectTablePushConstantEntryNVX -> Int
sizeOf ~VkObjectTablePushConstantEntryNVX
_ = (Int
24)
{-# LINE 1353 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkObjectTablePushConstantEntryNVX where
        type StructFields VkObjectTablePushConstantEntryNVX =
             '["type", "flags", "pipelineLayout", "stageFlags"] -- ' closing tick for hsc2hs
        type CUnionType VkObjectTablePushConstantEntryNVX = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkObjectTablePushConstantEntryNVX = 'False -- ' closing tick for hsc2hs
        type StructExtends VkObjectTablePushConstantEntryNVX = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "type" VkObjectTablePushConstantEntryNVX where
        type FieldType "type" VkObjectTablePushConstantEntryNVX =
             VkObjectEntryTypeNVX
        type FieldOptional "type" VkObjectTablePushConstantEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "type" VkObjectTablePushConstantEntryNVX =
             (0)
{-# LINE 1395 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "type" VkObjectTablePushConstantEntryNVX = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTablePushConstantEntryNVX
-> IO (FieldType "type" VkObjectTablePushConstantEntryNVX)
readField Ptr VkObjectTablePushConstantEntryNVX
p
          = Ptr VkObjectTablePushConstantEntryNVX
-> Int -> IO VkObjectEntryTypeNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTablePushConstantEntryNVX
p (Int
0)
{-# LINE 1414 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "type" VkObjectTablePushConstantEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTablePushConstantEntryNVX
-> FieldType "type" VkObjectTablePushConstantEntryNVX -> IO ()
writeField Ptr VkObjectTablePushConstantEntryNVX
p
          = Ptr VkObjectTablePushConstantEntryNVX
-> Int -> VkObjectEntryTypeNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTablePushConstantEntryNVX
p (Int
0)
{-# LINE 1420 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkObjectTablePushConstantEntryNVX where
        type FieldType "flags" VkObjectTablePushConstantEntryNVX =
             VkObjectEntryUsageFlagsNVX
        type FieldOptional "flags" VkObjectTablePushConstantEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkObjectTablePushConstantEntryNVX =
             (4)
{-# LINE 1429 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "flags" VkObjectTablePushConstantEntryNVX =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
4)
{-# LINE 1438 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkObjectTablePushConstantEntryNVX where
        {-# NOINLINE getField #-}
        getField :: VkObjectTablePushConstantEntryNVX
-> FieldType "flags" VkObjectTablePushConstantEntryNVX
getField VkObjectTablePushConstantEntryNVX
x
          = IO VkObjectEntryUsageFlagsNVX -> VkObjectEntryUsageFlagsNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkObjectTablePushConstantEntryNVX
-> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkObjectTablePushConstantEntryNVX
-> Ptr VkObjectTablePushConstantEntryNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkObjectTablePushConstantEntryNVX
x) (Int
4))
{-# LINE 1445 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTablePushConstantEntryNVX
-> IO (FieldType "flags" VkObjectTablePushConstantEntryNVX)
readField Ptr VkObjectTablePushConstantEntryNVX
p
          = Ptr VkObjectTablePushConstantEntryNVX
-> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTablePushConstantEntryNVX
p (Int
4)
{-# LINE 1449 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkObjectTablePushConstantEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTablePushConstantEntryNVX
-> FieldType "flags" VkObjectTablePushConstantEntryNVX -> IO ()
writeField Ptr VkObjectTablePushConstantEntryNVX
p
          = Ptr VkObjectTablePushConstantEntryNVX
-> Int -> VkObjectEntryUsageFlagsNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTablePushConstantEntryNVX
p (Int
4)
{-# LINE 1455 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "pipelineLayout" VkObjectTablePushConstantEntryNVX where
        type FieldType "pipelineLayout" VkObjectTablePushConstantEntryNVX =
             VkPipelineLayout
        type FieldOptional "pipelineLayout"
               VkObjectTablePushConstantEntryNVX
             = 'False -- ' closing tick for hsc2hs
        type FieldOffset "pipelineLayout" VkObjectTablePushConstantEntryNVX
             =
             (8)
{-# LINE 1466 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "pipelineLayout"
               VkObjectTablePushConstantEntryNVX
             = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTablePushConstantEntryNVX
-> IO
     (FieldType "pipelineLayout" VkObjectTablePushConstantEntryNVX)
readField Ptr VkObjectTablePushConstantEntryNVX
p
          = Ptr VkObjectTablePushConstantEntryNVX -> Int -> IO VkPipelineLayout
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTablePushConstantEntryNVX
p (Int
8)
{-# LINE 1488 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "pipelineLayout" VkObjectTablePushConstantEntryNVX
         where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTablePushConstantEntryNVX
-> FieldType "pipelineLayout" VkObjectTablePushConstantEntryNVX
-> IO ()
writeField Ptr VkObjectTablePushConstantEntryNVX
p
          = Ptr VkObjectTablePushConstantEntryNVX
-> Int -> VkPipelineLayout -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTablePushConstantEntryNVX
p (Int
8)
{-# LINE 1495 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "stageFlags" VkObjectTablePushConstantEntryNVX where
        type FieldType "stageFlags" VkObjectTablePushConstantEntryNVX =
             VkShaderStageFlags
        type FieldOptional "stageFlags" VkObjectTablePushConstantEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "stageFlags" VkObjectTablePushConstantEntryNVX =
             (16)
{-# LINE 1504 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "stageFlags" VkObjectTablePushConstantEntryNVX =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTablePushConstantEntryNVX
-> IO (FieldType "stageFlags" VkObjectTablePushConstantEntryNVX)
readField Ptr VkObjectTablePushConstantEntryNVX
p
          = Ptr VkObjectTablePushConstantEntryNVX
-> Int -> IO VkShaderStageFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTablePushConstantEntryNVX
p (Int
16)
{-# LINE 1524 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "stageFlags" VkObjectTablePushConstantEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTablePushConstantEntryNVX
-> FieldType "stageFlags" VkObjectTablePushConstantEntryNVX
-> IO ()
writeField Ptr VkObjectTablePushConstantEntryNVX
p
          = Ptr VkObjectTablePushConstantEntryNVX
-> Int -> VkShaderStageFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTablePushConstantEntryNVX
p (Int
16)
{-# LINE 1530 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance Show VkObjectTablePushConstantEntryNVX where
        showsPrec :: Int -> VkObjectTablePushConstantEntryNVX -> ShowS
showsPrec Int
d VkObjectTablePushConstantEntryNVX
x
          = String -> ShowS
showString String
"VkObjectTablePushConstantEntryNVX {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"type = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkObjectEntryTypeNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTablePushConstantEntryNVX
-> FieldType "type" VkObjectTablePushConstantEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"type" VkObjectTablePushConstantEntryNVX
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
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkObjectEntryUsageFlagsNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTablePushConstantEntryNVX
-> FieldType "flags" VkObjectTablePushConstantEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkObjectTablePushConstantEntryNVX
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
"pipelineLayout = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                            Int -> VkPipelineLayout -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTablePushConstantEntryNVX
-> FieldType "pipelineLayout" VkObjectTablePushConstantEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pipelineLayout" VkObjectTablePushConstantEntryNVX
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
"stageFlags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                                  Int -> VkShaderStageFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTablePushConstantEntryNVX
-> FieldType "stageFlags" VkObjectTablePushConstantEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"stageFlags" VkObjectTablePushConstantEntryNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'

-- | > typedef struct VkObjectTableVertexBufferEntryNVX {
--   >     VkObjectEntryTypeNVX         type;
--   >     VkObjectEntryUsageFlagsNVX   flags;
--   >     VkBuffer                     buffer;
--   > } VkObjectTableVertexBufferEntryNVX;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkObjectTableVertexBufferEntryNVX VkObjectTableVertexBufferEntryNVX registry at www.khronos.org>
data VkObjectTableVertexBufferEntryNVX = VkObjectTableVertexBufferEntryNVX# Addr#
                                                                            ByteArray#

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

        {-# INLINE (==) #-}

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

        {-# INLINE compare #-}

instance Storable VkObjectTableVertexBufferEntryNVX where
        sizeOf :: VkObjectTableVertexBufferEntryNVX -> Int
sizeOf ~VkObjectTableVertexBufferEntryNVX
_ = (Int
16)
{-# LINE 1572 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

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

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

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

        {-# INLINE poke #-}

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

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

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

        {-# INLINE unsafeFromByteArrayOffset #-}

instance VulkanMarshal VkObjectTableVertexBufferEntryNVX where
        type StructFields VkObjectTableVertexBufferEntryNVX =
             '["type", "flags", "buffer"] -- ' closing tick for hsc2hs
        type CUnionType VkObjectTableVertexBufferEntryNVX = 'False -- ' closing tick for hsc2hs
        type ReturnedOnly VkObjectTableVertexBufferEntryNVX = 'False -- ' closing tick for hsc2hs
        type StructExtends VkObjectTableVertexBufferEntryNVX = '[] -- ' closing tick for hsc2hs

instance {-# OVERLAPPING #-}
         HasField "type" VkObjectTableVertexBufferEntryNVX where
        type FieldType "type" VkObjectTableVertexBufferEntryNVX =
             VkObjectEntryTypeNVX
        type FieldOptional "type" VkObjectTableVertexBufferEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "type" VkObjectTableVertexBufferEntryNVX =
             (0)
{-# LINE 1614 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "type" VkObjectTableVertexBufferEntryNVX = 'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableVertexBufferEntryNVX
-> IO (FieldType "type" VkObjectTableVertexBufferEntryNVX)
readField Ptr VkObjectTableVertexBufferEntryNVX
p
          = Ptr VkObjectTableVertexBufferEntryNVX
-> Int -> IO VkObjectEntryTypeNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableVertexBufferEntryNVX
p (Int
0)
{-# LINE 1633 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "type" VkObjectTableVertexBufferEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableVertexBufferEntryNVX
-> FieldType "type" VkObjectTableVertexBufferEntryNVX -> IO ()
writeField Ptr VkObjectTableVertexBufferEntryNVX
p
          = Ptr VkObjectTableVertexBufferEntryNVX
-> Int -> VkObjectEntryTypeNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableVertexBufferEntryNVX
p (Int
0)
{-# LINE 1639 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "flags" VkObjectTableVertexBufferEntryNVX where
        type FieldType "flags" VkObjectTableVertexBufferEntryNVX =
             VkObjectEntryUsageFlagsNVX
        type FieldOptional "flags" VkObjectTableVertexBufferEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "flags" VkObjectTableVertexBufferEntryNVX =
             (4)
{-# LINE 1648 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "flags" VkObjectTableVertexBufferEntryNVX =
             'False -- ' closing tick for hsc2hs

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

        {-# INLINE fieldOffset #-}
        fieldOffset :: Int
fieldOffset
          = (Int
4)
{-# LINE 1657 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanReadField "flags" VkObjectTableVertexBufferEntryNVX where
        {-# NOINLINE getField #-}
        getField :: VkObjectTableVertexBufferEntryNVX
-> FieldType "flags" VkObjectTableVertexBufferEntryNVX
getField VkObjectTableVertexBufferEntryNVX
x
          = IO VkObjectEntryUsageFlagsNVX -> VkObjectEntryUsageFlagsNVX
forall a. IO a -> a
unsafeDupablePerformIO
              (Ptr VkObjectTableVertexBufferEntryNVX
-> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkObjectTableVertexBufferEntryNVX
-> Ptr VkObjectTableVertexBufferEntryNVX
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkObjectTableVertexBufferEntryNVX
x) (Int
4))
{-# LINE 1664 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableVertexBufferEntryNVX
-> IO (FieldType "flags" VkObjectTableVertexBufferEntryNVX)
readField Ptr VkObjectTableVertexBufferEntryNVX
p
          = Ptr VkObjectTableVertexBufferEntryNVX
-> Int -> IO VkObjectEntryUsageFlagsNVX
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableVertexBufferEntryNVX
p (Int
4)
{-# LINE 1668 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "flags" VkObjectTableVertexBufferEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableVertexBufferEntryNVX
-> FieldType "flags" VkObjectTableVertexBufferEntryNVX -> IO ()
writeField Ptr VkObjectTableVertexBufferEntryNVX
p
          = Ptr VkObjectTableVertexBufferEntryNVX
-> Int -> VkObjectEntryUsageFlagsNVX -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableVertexBufferEntryNVX
p (Int
4)
{-# LINE 1674 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         HasField "buffer" VkObjectTableVertexBufferEntryNVX where
        type FieldType "buffer" VkObjectTableVertexBufferEntryNVX =
             VkBuffer
        type FieldOptional "buffer" VkObjectTableVertexBufferEntryNVX =
             'False -- ' closing tick for hsc2hs
        type FieldOffset "buffer" VkObjectTableVertexBufferEntryNVX =
             (8)
{-# LINE 1683 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}
        type FieldIsArray "buffer" VkObjectTableVertexBufferEntryNVX =
             'False -- ' closing tick for hsc2hs

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

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

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

        {-# INLINE readField #-}
        readField :: Ptr VkObjectTableVertexBufferEntryNVX
-> IO (FieldType "buffer" VkObjectTableVertexBufferEntryNVX)
readField Ptr VkObjectTableVertexBufferEntryNVX
p
          = Ptr VkObjectTableVertexBufferEntryNVX -> Int -> IO VkBuffer
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkObjectTableVertexBufferEntryNVX
p (Int
8)
{-# LINE 1703 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance {-# OVERLAPPING #-}
         CanWriteField "buffer" VkObjectTableVertexBufferEntryNVX where
        {-# INLINE writeField #-}
        writeField :: Ptr VkObjectTableVertexBufferEntryNVX
-> FieldType "buffer" VkObjectTableVertexBufferEntryNVX -> IO ()
writeField Ptr VkObjectTableVertexBufferEntryNVX
p
          = Ptr VkObjectTableVertexBufferEntryNVX -> Int -> VkBuffer -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkObjectTableVertexBufferEntryNVX
p (Int
8)
{-# LINE 1709 "src-gen/Graphics/Vulkan/Types/Struct/ObjectTable.hsc" #-}

instance Show VkObjectTableVertexBufferEntryNVX where
        showsPrec :: Int -> VkObjectTableVertexBufferEntryNVX -> ShowS
showsPrec Int
d VkObjectTableVertexBufferEntryNVX
x
          = String -> ShowS
showString String
"VkObjectTableVertexBufferEntryNVX {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
              String -> ShowS
showString String
"type = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                Int -> VkObjectEntryTypeNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableVertexBufferEntryNVX
-> FieldType "type" VkObjectTableVertexBufferEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"type" VkObjectTableVertexBufferEntryNVX
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
"flags = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
                      Int -> VkObjectEntryUsageFlagsNVX -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkObjectTableVertexBufferEntryNVX
-> FieldType "flags" VkObjectTableVertexBufferEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkObjectTableVertexBufferEntryNVX
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
"buffer = " 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 (VkObjectTableVertexBufferEntryNVX
-> FieldType "buffer" VkObjectTableVertexBufferEntryNVX
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"buffer" VkObjectTableVertexBufferEntryNVX
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'