{-# LINE 1 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# LINE 2 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
module Graphics.Vulkan.Types.Struct.Shader
(VkShaderModuleCreateInfo(..),
VkShaderModuleValidationCacheCreateInfoEXT(..),
VkShaderResourceUsageAMD(..), VkShaderStatisticsInfoAMD(..))
where
import Foreign.Storable (Storable (..))
import GHC.Base (Addr#, ByteArray#,
Proxy#,
byteArrayContents#,
plusAddr#, proxy#)
import GHC.TypeLits (KnownNat, natVal')
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Bitmasks (VkShaderModuleCreateFlags)
import Graphics.Vulkan.Types.Enum.Shader (VkShaderStageFlags)
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import Graphics.Vulkan.Types.Handles (VkValidationCacheEXT)
import System.IO.Unsafe (unsafeDupablePerformIO)
data VkShaderModuleCreateInfo = VkShaderModuleCreateInfo# Addr#
ByteArray#
instance Eq VkShaderModuleCreateInfo where
(VkShaderModuleCreateInfo# a _) ==
x@(VkShaderModuleCreateInfo# b _) = EQ == cmpBytes# (sizeOf x) a b
{-# INLINE (==) #-}
instance Ord VkShaderModuleCreateInfo where
(VkShaderModuleCreateInfo# a _) `compare`
x@(VkShaderModuleCreateInfo# b _) = cmpBytes# (sizeOf x) a b
{-# INLINE compare #-}
instance Storable VkShaderModuleCreateInfo where
sizeOf ~_ = (40)
{-# LINE 59 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE sizeOf #-}
alignment ~_ = (8)
{-# LINE 62 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE alignment #-}
peek = peekVkData#
{-# INLINE peek #-}
poke = pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkShaderModuleCreateInfo where
unsafeAddr (VkShaderModuleCreateInfo# a _) = a
{-# INLINE unsafeAddr #-}
unsafeByteArray (VkShaderModuleCreateInfo# _ b) = b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset off b
= VkShaderModuleCreateInfo# (plusAddr# (byteArrayContents# b) off)
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkShaderModuleCreateInfo where
type StructFields VkShaderModuleCreateInfo =
'["sType", "pNext", "flags", "codeSize", "pCode"] -- ' closing tick for hsc2hs
type CUnionType VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
type ReturnedOnly VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
type StructExtends VkShaderModuleCreateInfo = '[] -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
HasField "sType" VkShaderModuleCreateInfo where
type FieldType "sType" VkShaderModuleCreateInfo = VkStructureType
type FieldOptional "sType" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
type FieldOffset "sType" VkShaderModuleCreateInfo =
(0)
{-# LINE 97 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "sType" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset = (0)
{-# LINE 104 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "sType" VkShaderModuleCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
{-# LINE 111 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (0)
{-# LINE 115 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "sType" VkShaderModuleCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (0)
{-# LINE 121 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "pNext" VkShaderModuleCreateInfo where
type FieldType "pNext" VkShaderModuleCreateInfo = Ptr Void
type FieldOptional "pNext" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
type FieldOffset "pNext" VkShaderModuleCreateInfo =
(8)
{-# LINE 128 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "pNext" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset = (8)
{-# LINE 135 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "pNext" VkShaderModuleCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
{-# LINE 142 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (8)
{-# LINE 146 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "pNext" VkShaderModuleCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (8)
{-# LINE 152 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "flags" VkShaderModuleCreateInfo where
type FieldType "flags" VkShaderModuleCreateInfo =
VkShaderModuleCreateFlags
type FieldOptional "flags" VkShaderModuleCreateInfo = 'True -- ' closing tick for hsc2hs
type FieldOffset "flags" VkShaderModuleCreateInfo =
(16)
{-# LINE 160 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "flags" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = True
{-# INLINE fieldOffset #-}
fieldOffset = (16)
{-# LINE 167 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "flags" VkShaderModuleCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
{-# LINE 174 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (16)
{-# LINE 178 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "flags" VkShaderModuleCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (16)
{-# LINE 184 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "codeSize" VkShaderModuleCreateInfo where
type FieldType "codeSize" VkShaderModuleCreateInfo = CSize
type FieldOptional "codeSize" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
type FieldOffset "codeSize" VkShaderModuleCreateInfo =
(24)
{-# LINE 191 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "codeSize" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (24)
{-# LINE 199 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "codeSize" VkShaderModuleCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (24))
{-# LINE 206 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (24)
{-# LINE 210 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "codeSize" VkShaderModuleCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (24)
{-# LINE 216 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "pCode" VkShaderModuleCreateInfo where
type FieldType "pCode" VkShaderModuleCreateInfo = Ptr Word32
type FieldOptional "pCode" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
type FieldOffset "pCode" VkShaderModuleCreateInfo =
(32)
{-# LINE 223 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "pCode" VkShaderModuleCreateInfo = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset = (32)
{-# LINE 230 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "pCode" VkShaderModuleCreateInfo where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (32))
{-# LINE 237 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (32)
{-# LINE 241 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "pCode" VkShaderModuleCreateInfo where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (32)
{-# LINE 247 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance Show VkShaderModuleCreateInfo where
showsPrec d x
= showString "VkShaderModuleCreateInfo {" .
showString "sType = " .
showsPrec d (getField @"sType" x) .
showString ", " .
showString "pNext = " .
showsPrec d (getField @"pNext" x) .
showString ", " .
showString "flags = " .
showsPrec d (getField @"flags" x) .
showString ", " .
showString "codeSize = " .
showsPrec d (getField @"codeSize" x) .
showString ", " .
showString "pCode = " .
showsPrec d (getField @"pCode" x) . showChar '}'
-- | > typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
-- > VkStructureType sType;
-- > const void* pNext;
-- > VkValidationCacheEXT validationCache;
-- > } VkShaderModuleValidationCacheCreateInfoEXT;
--
-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderModuleValidationCacheCreateInfoEXT VkShaderModuleValidationCacheCreateInfoEXT registry at www.khronos.org>
data VkShaderModuleValidationCacheCreateInfoEXT = VkShaderModuleValidationCacheCreateInfoEXT# Addr#
ByteArray#
instance Eq VkShaderModuleValidationCacheCreateInfoEXT where
(VkShaderModuleValidationCacheCreateInfoEXT# a _) ==
x@(VkShaderModuleValidationCacheCreateInfoEXT# b _)
= EQ == cmpBytes# (sizeOf x) a b
{-# INLINE (==) #-}
instance Ord VkShaderModuleValidationCacheCreateInfoEXT where
(VkShaderModuleValidationCacheCreateInfoEXT# a _) `compare`
x@(VkShaderModuleValidationCacheCreateInfoEXT# b _)
= cmpBytes# (sizeOf x) a b
{-# INLINE compare #-}
instance Storable VkShaderModuleValidationCacheCreateInfoEXT where
sizeOf ~_
= (24)
{-# LINE 293 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE sizeOf #-}
alignment ~_
= (8)
{-# LINE 297 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE alignment #-}
peek = peekVkData#
{-# INLINE peek #-}
poke = pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim
VkShaderModuleValidationCacheCreateInfoEXT
where
unsafeAddr (VkShaderModuleValidationCacheCreateInfoEXT# a _) = a
{-# INLINE unsafeAddr #-}
unsafeByteArray (VkShaderModuleValidationCacheCreateInfoEXT# _ b)
= b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset off b
= VkShaderModuleValidationCacheCreateInfoEXT#
(plusAddr# (byteArrayContents# b) off)
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkShaderModuleValidationCacheCreateInfoEXT
where
type StructFields VkShaderModuleValidationCacheCreateInfoEXT =
'["sType", "pNext", "validationCache"] -- ' closing tick for hsc2hs
type CUnionType VkShaderModuleValidationCacheCreateInfoEXT = 'False -- ' closing tick for hsc2hs
type ReturnedOnly VkShaderModuleValidationCacheCreateInfoEXT =
'False -- ' closing tick for hsc2hs
type StructExtends VkShaderModuleValidationCacheCreateInfoEXT =
'[VkShaderModuleCreateInfo] -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
HasField "sType" VkShaderModuleValidationCacheCreateInfoEXT where
type FieldType "sType" VkShaderModuleValidationCacheCreateInfoEXT =
VkStructureType
type FieldOptional "sType"
VkShaderModuleValidationCacheCreateInfoEXT
= 'False -- ' closing tick for hsc2hs
type FieldOffset "sType" VkShaderModuleValidationCacheCreateInfoEXT
=
(0)
{-# LINE 343 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "sType"
VkShaderModuleValidationCacheCreateInfoEXT
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (0)
{-# LINE 353 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "sType" VkShaderModuleValidationCacheCreateInfoEXT
where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
{-# LINE 361 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (0)
{-# LINE 365 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "sType" VkShaderModuleValidationCacheCreateInfoEXT
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (0)
{-# LINE 372 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "pNext" VkShaderModuleValidationCacheCreateInfoEXT where
type FieldType "pNext" VkShaderModuleValidationCacheCreateInfoEXT =
Ptr Void
type FieldOptional "pNext"
VkShaderModuleValidationCacheCreateInfoEXT
= 'False -- ' closing tick for hsc2hs
type FieldOffset "pNext" VkShaderModuleValidationCacheCreateInfoEXT
=
(8)
{-# LINE 383 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "pNext"
VkShaderModuleValidationCacheCreateInfoEXT
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (8)
{-# LINE 393 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "pNext" VkShaderModuleValidationCacheCreateInfoEXT
where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
{-# LINE 401 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (8)
{-# LINE 405 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "pNext" VkShaderModuleValidationCacheCreateInfoEXT
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (8)
{-# LINE 412 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
where
type FieldType "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
= VkValidationCacheEXT
type FieldOptional "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
= 'False -- ' closing tick for hsc2hs
type FieldOffset "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
=
(16)
{-# LINE 427 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (16)
{-# LINE 437 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
{-# LINE 446 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (16)
{-# LINE 450 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (16)
{-# LINE 458 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance Show VkShaderModuleValidationCacheCreateInfoEXT where
showsPrec d x
= showString "VkShaderModuleValidationCacheCreateInfoEXT {" .
showString "sType = " .
showsPrec d (getField @"sType" x) .
showString ", " .
showString "pNext = " .
showsPrec d (getField @"pNext" x) .
showString ", " .
showString "validationCache = " .
showsPrec d (getField @"validationCache" x) . showChar '}'
-- | > typedef struct VkShaderResourceUsageAMD {
-- > uint32_t numUsedVgprs;
-- > uint32_t numUsedSgprs;
-- > uint32_t ldsSizePerLocalWorkGroup;
-- > size_t ldsUsageSizeInBytes;
-- > size_t scratchMemUsageInBytes;
-- > } VkShaderResourceUsageAMD;
--
-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderResourceUsageAMD VkShaderResourceUsageAMD registry at www.khronos.org>
data VkShaderResourceUsageAMD = VkShaderResourceUsageAMD# Addr#
ByteArray#
instance Eq VkShaderResourceUsageAMD where
(VkShaderResourceUsageAMD# a _) ==
x@(VkShaderResourceUsageAMD# b _) = EQ == cmpBytes# (sizeOf x) a b
{-# INLINE (==) #-}
instance Ord VkShaderResourceUsageAMD where
(VkShaderResourceUsageAMD# a _) `compare`
x@(VkShaderResourceUsageAMD# b _) = cmpBytes# (sizeOf x) a b
{-# INLINE compare #-}
instance Storable VkShaderResourceUsageAMD where
sizeOf ~_ = (32)
{-# LINE 497 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE sizeOf #-}
alignment ~_ = (8)
{-# LINE 500 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE alignment #-}
peek = peekVkData#
{-# INLINE peek #-}
poke = pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkShaderResourceUsageAMD where
unsafeAddr (VkShaderResourceUsageAMD# a _) = a
{-# INLINE unsafeAddr #-}
unsafeByteArray (VkShaderResourceUsageAMD# _ b) = b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset off b
= VkShaderResourceUsageAMD# (plusAddr# (byteArrayContents# b) off)
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkShaderResourceUsageAMD where
type StructFields VkShaderResourceUsageAMD =
'["numUsedVgprs", "numUsedSgprs", "ldsSizePerLocalWorkGroup", -- ' closing tick for hsc2hs
"ldsUsageSizeInBytes", "scratchMemUsageInBytes"]
type CUnionType VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs
type ReturnedOnly VkShaderResourceUsageAMD = 'True -- ' closing tick for hsc2hs
type StructExtends VkShaderResourceUsageAMD = '[] -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
HasField "numUsedVgprs" VkShaderResourceUsageAMD where
type FieldType "numUsedVgprs" VkShaderResourceUsageAMD = Word32
type FieldOptional "numUsedVgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs
type FieldOffset "numUsedVgprs" VkShaderResourceUsageAMD =
(0)
{-# LINE 536 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numUsedVgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (0)
{-# LINE 544 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numUsedVgprs" VkShaderResourceUsageAMD where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
{-# LINE 551 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (0)
{-# LINE 555 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numUsedVgprs" VkShaderResourceUsageAMD where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (0)
{-# LINE 561 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "numUsedSgprs" VkShaderResourceUsageAMD where
type FieldType "numUsedSgprs" VkShaderResourceUsageAMD = Word32
type FieldOptional "numUsedSgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs
type FieldOffset "numUsedSgprs" VkShaderResourceUsageAMD =
(4)
{-# LINE 568 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numUsedSgprs" VkShaderResourceUsageAMD = 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (4)
{-# LINE 576 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numUsedSgprs" VkShaderResourceUsageAMD where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (4))
{-# LINE 583 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (4)
{-# LINE 587 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numUsedSgprs" VkShaderResourceUsageAMD where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (4)
{-# LINE 593 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD where
type FieldType "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD
= Word32
type FieldOptional "ldsSizePerLocalWorkGroup"
VkShaderResourceUsageAMD
= 'False -- ' closing tick for hsc2hs
type FieldOffset "ldsSizePerLocalWorkGroup"
VkShaderResourceUsageAMD
=
(8)
{-# LINE 605 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "ldsSizePerLocalWorkGroup"
VkShaderResourceUsageAMD
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (8)
{-# LINE 615 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD
where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
{-# LINE 623 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (8)
{-# LINE 627 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (8)
{-# LINE 634 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where
type FieldType "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =
CSize
type FieldOptional "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =
'False -- ' closing tick for hsc2hs
type FieldOffset "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =
(16)
{-# LINE 643 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (16)
{-# LINE 652 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (16))
{-# LINE 659 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (16)
{-# LINE 663 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (16)
{-# LINE 669 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "scratchMemUsageInBytes" VkShaderResourceUsageAMD where
type FieldType "scratchMemUsageInBytes" VkShaderResourceUsageAMD =
CSize
type FieldOptional "scratchMemUsageInBytes"
VkShaderResourceUsageAMD
= 'False -- ' closing tick for hsc2hs
type FieldOffset "scratchMemUsageInBytes" VkShaderResourceUsageAMD
=
(24)
{-# LINE 680 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "scratchMemUsageInBytes" VkShaderResourceUsageAMD
= 'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (24)
{-# LINE 689 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "scratchMemUsageInBytes" VkShaderResourceUsageAMD
where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (24))
{-# LINE 697 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (24)
{-# LINE 701 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "scratchMemUsageInBytes" VkShaderResourceUsageAMD
where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (24)
{-# LINE 708 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance Show VkShaderResourceUsageAMD where
showsPrec d x
= showString "VkShaderResourceUsageAMD {" .
showString "numUsedVgprs = " .
showsPrec d (getField @"numUsedVgprs" x) .
showString ", " .
showString "numUsedSgprs = " .
showsPrec d (getField @"numUsedSgprs" x) .
showString ", " .
showString "ldsSizePerLocalWorkGroup = " .
showsPrec d (getField @"ldsSizePerLocalWorkGroup" x) .
showString ", " .
showString "ldsUsageSizeInBytes = " .
showsPrec d (getField @"ldsUsageSizeInBytes" x) .
showString ", " .
showString "scratchMemUsageInBytes = " .
showsPrec d (getField @"scratchMemUsageInBytes" x) .
showChar '}'
-- | > typedef struct VkShaderStatisticsInfoAMD {
-- > VkShaderStageFlags shaderStageMask;
-- > VkShaderResourceUsageAMD resourceUsage;
-- > uint32_t numPhysicalVgprs;
-- > uint32_t numPhysicalSgprs;
-- > uint32_t numAvailableVgprs;
-- > uint32_t numAvailableSgprs;
-- > uint32_t computeWorkGroupSize[3];
-- > } VkShaderStatisticsInfoAMD;
--
-- <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkShaderStatisticsInfoAMD VkShaderStatisticsInfoAMD registry at www.khronos.org>
data VkShaderStatisticsInfoAMD = VkShaderStatisticsInfoAMD# Addr#
ByteArray#
instance Eq VkShaderStatisticsInfoAMD where
(VkShaderStatisticsInfoAMD# a _) ==
x@(VkShaderStatisticsInfoAMD# b _) = EQ == cmpBytes# (sizeOf x) a b
{-# INLINE (==) #-}
instance Ord VkShaderStatisticsInfoAMD where
(VkShaderStatisticsInfoAMD# a _) `compare`
x@(VkShaderStatisticsInfoAMD# b _) = cmpBytes# (sizeOf x) a b
{-# INLINE compare #-}
instance Storable VkShaderStatisticsInfoAMD where
sizeOf ~_ = (72)
{-# LINE 756 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE sizeOf #-}
alignment ~_ = (8)
{-# LINE 759 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE alignment #-}
peek = peekVkData#
{-# INLINE peek #-}
poke = pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkShaderStatisticsInfoAMD where
unsafeAddr (VkShaderStatisticsInfoAMD# a _) = a
{-# INLINE unsafeAddr #-}
unsafeByteArray (VkShaderStatisticsInfoAMD# _ b) = b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset off b
= VkShaderStatisticsInfoAMD# (plusAddr# (byteArrayContents# b) off)
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkShaderStatisticsInfoAMD where
type StructFields VkShaderStatisticsInfoAMD =
'["shaderStageMask", "resourceUsage", "numPhysicalVgprs", -- ' closing tick for hsc2hs
"numPhysicalSgprs", "numAvailableVgprs", "numAvailableSgprs",
"computeWorkGroupSize"]
type CUnionType VkShaderStatisticsInfoAMD = 'False -- ' closing tick for hsc2hs
type ReturnedOnly VkShaderStatisticsInfoAMD = 'True -- ' closing tick for hsc2hs
type StructExtends VkShaderStatisticsInfoAMD = '[] -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
HasField "shaderStageMask" VkShaderStatisticsInfoAMD where
type FieldType "shaderStageMask" VkShaderStatisticsInfoAMD =
VkShaderStageFlags
type FieldOptional "shaderStageMask" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
type FieldOffset "shaderStageMask" VkShaderStatisticsInfoAMD =
(0)
{-# LINE 798 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "shaderStageMask" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (0)
{-# LINE 807 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "shaderStageMask" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
{-# LINE 814 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (0)
{-# LINE 818 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "shaderStageMask" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (0)
{-# LINE 824 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "resourceUsage" VkShaderStatisticsInfoAMD where
type FieldType "resourceUsage" VkShaderStatisticsInfoAMD =
VkShaderResourceUsageAMD
type FieldOptional "resourceUsage" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
type FieldOffset "resourceUsage" VkShaderStatisticsInfoAMD =
(8)
{-# LINE 833 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "resourceUsage" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (8)
{-# LINE 842 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "resourceUsage" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (8))
{-# LINE 849 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (8)
{-# LINE 853 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "resourceUsage" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (8)
{-# LINE 859 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where
type FieldType "numPhysicalVgprs" VkShaderStatisticsInfoAMD =
Word32
type FieldOptional "numPhysicalVgprs" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
type FieldOffset "numPhysicalVgprs" VkShaderStatisticsInfoAMD =
(40)
{-# LINE 868 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numPhysicalVgprs" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (40)
{-# LINE 877 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (40))
{-# LINE 884 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (40)
{-# LINE 888 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (40)
{-# LINE 894 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where
type FieldType "numPhysicalSgprs" VkShaderStatisticsInfoAMD =
Word32
type FieldOptional "numPhysicalSgprs" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
type FieldOffset "numPhysicalSgprs" VkShaderStatisticsInfoAMD =
(44)
{-# LINE 903 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numPhysicalSgprs" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (44)
{-# LINE 912 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (44))
{-# LINE 919 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (44)
{-# LINE 923 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (44)
{-# LINE 929 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "numAvailableVgprs" VkShaderStatisticsInfoAMD where
type FieldType "numAvailableVgprs" VkShaderStatisticsInfoAMD =
Word32
type FieldOptional "numAvailableVgprs" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
type FieldOffset "numAvailableVgprs" VkShaderStatisticsInfoAMD =
(48)
{-# LINE 938 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numAvailableVgprs" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (48)
{-# LINE 947 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numAvailableVgprs" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (48))
{-# LINE 954 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (48)
{-# LINE 958 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numAvailableVgprs" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (48)
{-# LINE 964 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "numAvailableSgprs" VkShaderStatisticsInfoAMD where
type FieldType "numAvailableSgprs" VkShaderStatisticsInfoAMD =
Word32
type FieldOptional "numAvailableSgprs" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
type FieldOffset "numAvailableSgprs" VkShaderStatisticsInfoAMD =
(52)
{-# LINE 973 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numAvailableSgprs" VkShaderStatisticsInfoAMD =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (52)
{-# LINE 982 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numAvailableSgprs" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (52))
{-# LINE 989 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (52)
{-# LINE 993 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numAvailableSgprs" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (52)
{-# LINE 999 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
HasField "computeWorkGroupSize" VkShaderStatisticsInfoAMD where
type FieldType "computeWorkGroupSize" VkShaderStatisticsInfoAMD =
Word32
type FieldOptional "computeWorkGroupSize" VkShaderStatisticsInfoAMD
= 'False -- ' closing tick for hsc2hs
type FieldOffset "computeWorkGroupSize" VkShaderStatisticsInfoAMD =
(56)
{-# LINE 1008 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "computeWorkGroupSize" VkShaderStatisticsInfoAMD
= 'True -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (56)
{-# LINE 1017 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
(KnownNat idx,
IndexInBounds "computeWorkGroupSize" idx
VkShaderStatisticsInfoAMD) =>
CanReadFieldArray "computeWorkGroupSize" idx
VkShaderStatisticsInfoAMD
where
{-# SPECIALISE instance
CanReadFieldArray "computeWorkGroupSize" 0
VkShaderStatisticsInfoAMD
#-}
{-# SPECIALISE instance
CanReadFieldArray "computeWorkGroupSize" 1
VkShaderStatisticsInfoAMD
#-}
{-# SPECIALISE instance
CanReadFieldArray "computeWorkGroupSize" 2
VkShaderStatisticsInfoAMD
#-}
type FieldArrayLength "computeWorkGroupSize"
VkShaderStatisticsInfoAMD
= 3
{-# INLINE fieldArrayLength #-}
fieldArrayLength = 3
{-# INLINE getFieldArray #-}
getFieldArray = f
where {-# NOINLINE f #-}
f x = unsafeDupablePerformIO (peekByteOff (unsafePtr x) off)
off
= (56)
{-# LINE 1052 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
+
sizeOf (undefined :: Word32) *
fromInteger (natVal' (proxy# :: Proxy# idx)) -- ' closing tick for hsc2hs
{-# INLINE readFieldArray #-}
readFieldArray p
= peekByteOff p
((56)
{-# LINE 1060 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
+
sizeOf (undefined :: Word32) *
fromInteger (natVal' (proxy# :: Proxy# idx))) -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
(KnownNat idx,
IndexInBounds "computeWorkGroupSize" idx
VkShaderStatisticsInfoAMD) =>
CanWriteFieldArray "computeWorkGroupSize" idx
VkShaderStatisticsInfoAMD
where
{-# SPECIALISE instance
CanWriteFieldArray "computeWorkGroupSize" 0
VkShaderStatisticsInfoAMD
#-}
{-# SPECIALISE instance
CanWriteFieldArray "computeWorkGroupSize" 1
VkShaderStatisticsInfoAMD
#-}
{-# SPECIALISE instance
CanWriteFieldArray "computeWorkGroupSize" 2
VkShaderStatisticsInfoAMD
#-}
{-# INLINE writeFieldArray #-}
writeFieldArray p
= pokeByteOff p
((56)
{-# LINE 1090 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
+
sizeOf (undefined :: Word32) *
fromInteger (natVal' (proxy# :: Proxy# idx))) -- ' closing tick for hsc2hs
instance Show VkShaderStatisticsInfoAMD where
showsPrec d x
= showString "VkShaderStatisticsInfoAMD {" .
showString "shaderStageMask = " .
showsPrec d (getField @"shaderStageMask" x) .
showString ", " .
showString "resourceUsage = " .
showsPrec d (getField @"resourceUsage" x) .
showString ", " .
showString "numPhysicalVgprs = " .
showsPrec d (getField @"numPhysicalVgprs" x) .
showString ", " .
showString "numPhysicalSgprs = " .
showsPrec d (getField @"numPhysicalSgprs" x) .
showString ", " .
showString "numAvailableVgprs = " .
showsPrec d (getField @"numAvailableVgprs" x) .
showString ", " .
showString "numAvailableSgprs = " .
showsPrec d (getField @"numAvailableSgprs" x) .
showString ", " .
(showString "computeWorkGroupSize = [" .
showsPrec d
(let s = sizeOf
(undefined ::
FieldType
"computeWorkGroupSize"
VkShaderStatisticsInfoAMD)
o = fieldOffset @"computeWorkGroupSize"
@VkShaderStatisticsInfoAMD
f i
= peekByteOff (unsafePtr x) i ::
IO
(FieldType
"computeWorkGroupSize"
VkShaderStatisticsInfoAMD)
in
unsafeDupablePerformIO . mapM f $
map (\ i -> o + i * s) [0 .. 3 - 1])
. showChar ']')
. showChar '}'