{-# LINE 1 "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# Addr#
a ByteArray#
_) == :: VkShaderModuleCreateInfo -> VkShaderModuleCreateInfo -> Bool
==
x :: VkShaderModuleCreateInfo
x@(VkShaderModuleCreateInfo# Addr#
b ByteArray#
_) = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkShaderModuleCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkShaderModuleCreateInfo
x) Addr#
a Addr#
b
{-# INLINE (==) #-}
instance Ord VkShaderModuleCreateInfo where
(VkShaderModuleCreateInfo# Addr#
a ByteArray#
_) compare :: VkShaderModuleCreateInfo -> VkShaderModuleCreateInfo -> Ordering
`compare`
x :: VkShaderModuleCreateInfo
x@(VkShaderModuleCreateInfo# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkShaderModuleCreateInfo -> Int
forall a. Storable a => a -> Int
sizeOf VkShaderModuleCreateInfo
x) Addr#
a Addr#
b
{-# INLINE compare #-}
instance Storable VkShaderModuleCreateInfo where
sizeOf :: VkShaderModuleCreateInfo -> Int
sizeOf ~VkShaderModuleCreateInfo
_ = (Int
40)
{-# LINE 59 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE sizeOf #-}
alignment :: VkShaderModuleCreateInfo -> Int
alignment ~VkShaderModuleCreateInfo
_ = Int
8
{-# LINE 62 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE alignment #-}
peek :: Ptr VkShaderModuleCreateInfo -> IO VkShaderModuleCreateInfo
peek = Ptr VkShaderModuleCreateInfo -> IO VkShaderModuleCreateInfo
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#
{-# INLINE peek #-}
poke :: Ptr VkShaderModuleCreateInfo -> VkShaderModuleCreateInfo -> IO ()
poke = Ptr VkShaderModuleCreateInfo -> VkShaderModuleCreateInfo -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkShaderModuleCreateInfo where
unsafeAddr :: VkShaderModuleCreateInfo -> Addr#
unsafeAddr (VkShaderModuleCreateInfo# Addr#
a ByteArray#
_) = Addr#
a
{-# INLINE unsafeAddr #-}
unsafeByteArray :: VkShaderModuleCreateInfo -> ByteArray#
unsafeByteArray (VkShaderModuleCreateInfo# Addr#
_ ByteArray#
b) = ByteArray#
b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkShaderModuleCreateInfo
unsafeFromByteArrayOffset Int#
off ByteArray#
b
= Addr# -> ByteArray# -> VkShaderModuleCreateInfo
VkShaderModuleCreateInfo# (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
ByteArray#
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkShaderModuleCreateInfo where
type StructFields VkShaderModuleCreateInfo =
'["sType", "pNext", "flags", "codeSize", "pCode"]
type CUnionType VkShaderModuleCreateInfo = 'False
type ReturnedOnly VkShaderModuleCreateInfo = 'False
type StructExtends VkShaderModuleCreateInfo = '[]
instance {-# OVERLAPPING #-}
HasField "sType" VkShaderModuleCreateInfo where
type FieldType "sType" VkShaderModuleCreateInfo = VkStructureType
type FieldOptional "sType" VkShaderModuleCreateInfo = 'False
type FieldOffset "sType" VkShaderModuleCreateInfo =
(0)
{-# LINE 97 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "sType" VkShaderModuleCreateInfo = 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset = (Int
0)
{-# LINE 104 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "sType" VkShaderModuleCreateInfo where
{-# NOINLINE getField #-}
getField :: VkShaderModuleCreateInfo
-> FieldType "sType" VkShaderModuleCreateInfo
getField VkShaderModuleCreateInfo
x
= IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderModuleCreateInfo -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderModuleCreateInfo -> Ptr VkShaderModuleCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderModuleCreateInfo
x) (Int
0))
{-# LINE 111 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderModuleCreateInfo
-> IO (FieldType "sType" VkShaderModuleCreateInfo)
readField Ptr VkShaderModuleCreateInfo
p
= Ptr VkShaderModuleCreateInfo -> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderModuleCreateInfo
p (Int
0)
{-# LINE 115 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "sType" VkShaderModuleCreateInfo where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderModuleCreateInfo
-> FieldType "sType" VkShaderModuleCreateInfo -> IO ()
writeField Ptr VkShaderModuleCreateInfo
p
= Ptr VkShaderModuleCreateInfo -> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderModuleCreateInfo
p (Int
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
type FieldOffset "pNext" VkShaderModuleCreateInfo =
(8)
{-# LINE 128 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "pNext" VkShaderModuleCreateInfo = 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset = (Int
8)
{-# LINE 135 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "pNext" VkShaderModuleCreateInfo where
{-# NOINLINE getField #-}
getField :: VkShaderModuleCreateInfo
-> FieldType "pNext" VkShaderModuleCreateInfo
getField VkShaderModuleCreateInfo
x
= IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderModuleCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderModuleCreateInfo -> Ptr VkShaderModuleCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderModuleCreateInfo
x) (Int
8))
{-# LINE 142 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderModuleCreateInfo
-> IO (FieldType "pNext" VkShaderModuleCreateInfo)
readField Ptr VkShaderModuleCreateInfo
p
= Ptr VkShaderModuleCreateInfo -> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderModuleCreateInfo
p (Int
8)
{-# LINE 146 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "pNext" VkShaderModuleCreateInfo where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderModuleCreateInfo
-> FieldType "pNext" VkShaderModuleCreateInfo -> IO ()
writeField Ptr VkShaderModuleCreateInfo
p
= Ptr VkShaderModuleCreateInfo -> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderModuleCreateInfo
p (Int
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
type FieldOffset "flags" VkShaderModuleCreateInfo =
(16)
{-# LINE 160 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "flags" VkShaderModuleCreateInfo = 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
True
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset = (Int
16)
{-# LINE 167 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "flags" VkShaderModuleCreateInfo where
{-# NOINLINE getField #-}
getField :: VkShaderModuleCreateInfo
-> FieldType "flags" VkShaderModuleCreateInfo
getField VkShaderModuleCreateInfo
x
= IO VkShaderModuleCreateFlags -> VkShaderModuleCreateFlags
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderModuleCreateInfo -> Int -> IO VkShaderModuleCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderModuleCreateInfo -> Ptr VkShaderModuleCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderModuleCreateInfo
x) (Int
16))
{-# LINE 174 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderModuleCreateInfo
-> IO (FieldType "flags" VkShaderModuleCreateInfo)
readField Ptr VkShaderModuleCreateInfo
p
= Ptr VkShaderModuleCreateInfo -> Int -> IO VkShaderModuleCreateFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderModuleCreateInfo
p (Int
16)
{-# LINE 178 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "flags" VkShaderModuleCreateInfo where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderModuleCreateInfo
-> FieldType "flags" VkShaderModuleCreateInfo -> IO ()
writeField Ptr VkShaderModuleCreateInfo
p
= Ptr VkShaderModuleCreateInfo
-> Int -> VkShaderModuleCreateFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderModuleCreateInfo
p (Int
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
type FieldOffset "codeSize" VkShaderModuleCreateInfo =
(24)
{-# LINE 191 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "codeSize" VkShaderModuleCreateInfo = 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
24)
{-# LINE 199 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "codeSize" VkShaderModuleCreateInfo where
{-# NOINLINE getField #-}
getField :: VkShaderModuleCreateInfo
-> FieldType "codeSize" VkShaderModuleCreateInfo
getField VkShaderModuleCreateInfo
x
= IO CSize -> CSize
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderModuleCreateInfo -> Int -> IO CSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderModuleCreateInfo -> Ptr VkShaderModuleCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderModuleCreateInfo
x) (Int
24))
{-# LINE 206 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderModuleCreateInfo
-> IO (FieldType "codeSize" VkShaderModuleCreateInfo)
readField Ptr VkShaderModuleCreateInfo
p
= Ptr VkShaderModuleCreateInfo -> Int -> IO CSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderModuleCreateInfo
p (Int
24)
{-# LINE 210 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "codeSize" VkShaderModuleCreateInfo where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderModuleCreateInfo
-> FieldType "codeSize" VkShaderModuleCreateInfo -> IO ()
writeField Ptr VkShaderModuleCreateInfo
p
= Ptr VkShaderModuleCreateInfo -> Int -> CSize -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderModuleCreateInfo
p (Int
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
type FieldOffset "pCode" VkShaderModuleCreateInfo =
(32)
{-# LINE 223 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "pCode" VkShaderModuleCreateInfo = 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset = (Int
32)
{-# LINE 230 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "pCode" VkShaderModuleCreateInfo where
{-# NOINLINE getField #-}
getField :: VkShaderModuleCreateInfo
-> FieldType "pCode" VkShaderModuleCreateInfo
getField VkShaderModuleCreateInfo
x
= IO (Ptr Word32) -> Ptr Word32
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderModuleCreateInfo -> Int -> IO (Ptr Word32)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderModuleCreateInfo -> Ptr VkShaderModuleCreateInfo
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderModuleCreateInfo
x) (Int
32))
{-# LINE 237 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderModuleCreateInfo
-> IO (FieldType "pCode" VkShaderModuleCreateInfo)
readField Ptr VkShaderModuleCreateInfo
p
= Ptr VkShaderModuleCreateInfo -> Int -> IO (Ptr Word32)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderModuleCreateInfo
p (Int
32)
{-# LINE 241 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "pCode" VkShaderModuleCreateInfo where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderModuleCreateInfo
-> FieldType "pCode" VkShaderModuleCreateInfo -> IO ()
writeField Ptr VkShaderModuleCreateInfo
p
= Ptr VkShaderModuleCreateInfo -> Int -> Ptr Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderModuleCreateInfo
p (Int
32)
{-# LINE 247 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance Show VkShaderModuleCreateInfo where
showsPrec :: Int -> VkShaderModuleCreateInfo -> ShowS
showsPrec Int
d VkShaderModuleCreateInfo
x
= String -> ShowS
showString String
"VkShaderModuleCreateInfo {" 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 (VkShaderModuleCreateInfo
-> FieldType "sType" VkShaderModuleCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkShaderModuleCreateInfo
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 (VkShaderModuleCreateInfo
-> FieldType "pNext" VkShaderModuleCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkShaderModuleCreateInfo
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 -> VkShaderModuleCreateFlags -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkShaderModuleCreateInfo
-> FieldType "flags" VkShaderModuleCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"flags" VkShaderModuleCreateInfo
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
"codeSize = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
Int -> CSize -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkShaderModuleCreateInfo
-> FieldType "codeSize" VkShaderModuleCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"codeSize" VkShaderModuleCreateInfo
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
"pCode = " 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 (VkShaderModuleCreateInfo
-> FieldType "pCode" VkShaderModuleCreateInfo
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pCode" VkShaderModuleCreateInfo
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'
data VkShaderModuleValidationCacheCreateInfoEXT = VkShaderModuleValidationCacheCreateInfoEXT# Addr#
ByteArray#
instance Eq VkShaderModuleValidationCacheCreateInfoEXT where
(VkShaderModuleValidationCacheCreateInfoEXT# Addr#
a ByteArray#
_) == :: VkShaderModuleValidationCacheCreateInfoEXT
-> VkShaderModuleValidationCacheCreateInfoEXT -> Bool
==
x :: VkShaderModuleValidationCacheCreateInfoEXT
x@(VkShaderModuleValidationCacheCreateInfoEXT# Addr#
b ByteArray#
_)
= Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkShaderModuleValidationCacheCreateInfoEXT -> Int
forall a. Storable a => a -> Int
sizeOf VkShaderModuleValidationCacheCreateInfoEXT
x) Addr#
a Addr#
b
{-# INLINE (==) #-}
instance Ord VkShaderModuleValidationCacheCreateInfoEXT where
(VkShaderModuleValidationCacheCreateInfoEXT# Addr#
a ByteArray#
_) compare :: VkShaderModuleValidationCacheCreateInfoEXT
-> VkShaderModuleValidationCacheCreateInfoEXT -> Ordering
`compare`
x :: VkShaderModuleValidationCacheCreateInfoEXT
x@(VkShaderModuleValidationCacheCreateInfoEXT# Addr#
b ByteArray#
_)
= Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkShaderModuleValidationCacheCreateInfoEXT -> Int
forall a. Storable a => a -> Int
sizeOf VkShaderModuleValidationCacheCreateInfoEXT
x) Addr#
a Addr#
b
{-# INLINE compare #-}
instance Storable VkShaderModuleValidationCacheCreateInfoEXT where
sizeOf :: VkShaderModuleValidationCacheCreateInfoEXT -> Int
sizeOf ~VkShaderModuleValidationCacheCreateInfoEXT
_
= (Int
24)
{-# LINE 293 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE sizeOf #-}
alignment :: VkShaderModuleValidationCacheCreateInfoEXT -> Int
alignment ~VkShaderModuleValidationCacheCreateInfoEXT
_
= Int
8
{-# LINE 297 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE alignment #-}
peek :: Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> IO VkShaderModuleValidationCacheCreateInfoEXT
peek = Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> IO VkShaderModuleValidationCacheCreateInfoEXT
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#
{-# INLINE peek #-}
poke :: Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> VkShaderModuleValidationCacheCreateInfoEXT -> IO ()
poke = Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> VkShaderModuleValidationCacheCreateInfoEXT -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim
VkShaderModuleValidationCacheCreateInfoEXT
where
unsafeAddr :: VkShaderModuleValidationCacheCreateInfoEXT -> Addr#
unsafeAddr (VkShaderModuleValidationCacheCreateInfoEXT# Addr#
a ByteArray#
_) = Addr#
a
{-# INLINE unsafeAddr #-}
unsafeByteArray :: VkShaderModuleValidationCacheCreateInfoEXT -> ByteArray#
unsafeByteArray (VkShaderModuleValidationCacheCreateInfoEXT# Addr#
_ ByteArray#
b)
= ByteArray#
b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkShaderModuleValidationCacheCreateInfoEXT
unsafeFromByteArrayOffset Int#
off ByteArray#
b
= Addr# -> ByteArray# -> VkShaderModuleValidationCacheCreateInfoEXT
VkShaderModuleValidationCacheCreateInfoEXT#
(Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
ByteArray#
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkShaderModuleValidationCacheCreateInfoEXT
where
type StructFields VkShaderModuleValidationCacheCreateInfoEXT =
'["sType", "pNext", "validationCache"]
type CUnionType VkShaderModuleValidationCacheCreateInfoEXT = 'False
type ReturnedOnly VkShaderModuleValidationCacheCreateInfoEXT =
'False
type StructExtends VkShaderModuleValidationCacheCreateInfoEXT =
'[VkShaderModuleCreateInfo]
instance {-# OVERLAPPING #-}
HasField "sType" VkShaderModuleValidationCacheCreateInfoEXT where
type FieldType "sType" VkShaderModuleValidationCacheCreateInfoEXT =
VkStructureType
type FieldOptional "sType"
VkShaderModuleValidationCacheCreateInfoEXT
= 'False
type FieldOffset "sType" VkShaderModuleValidationCacheCreateInfoEXT
=
(0)
{-# LINE 343 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "sType"
VkShaderModuleValidationCacheCreateInfoEXT
= 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
0)
{-# LINE 353 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "sType" VkShaderModuleValidationCacheCreateInfoEXT
where
{-# NOINLINE getField #-}
getField :: VkShaderModuleValidationCacheCreateInfoEXT
-> FieldType "sType" VkShaderModuleValidationCacheCreateInfoEXT
getField VkShaderModuleValidationCacheCreateInfoEXT
x
= IO VkStructureType -> VkStructureType
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderModuleValidationCacheCreateInfoEXT
-> Ptr VkShaderModuleValidationCacheCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderModuleValidationCacheCreateInfoEXT
x) (Int
0))
{-# LINE 361 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> IO
(FieldType "sType" VkShaderModuleValidationCacheCreateInfoEXT)
readField Ptr VkShaderModuleValidationCacheCreateInfoEXT
p
= Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> Int -> IO VkStructureType
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderModuleValidationCacheCreateInfoEXT
p (Int
0)
{-# LINE 365 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "sType" VkShaderModuleValidationCacheCreateInfoEXT
where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> FieldType "sType" VkShaderModuleValidationCacheCreateInfoEXT
-> IO ()
writeField Ptr VkShaderModuleValidationCacheCreateInfoEXT
p
= Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> Int -> VkStructureType -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderModuleValidationCacheCreateInfoEXT
p (Int
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
type FieldOffset "pNext" VkShaderModuleValidationCacheCreateInfoEXT
=
(8)
{-# LINE 383 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "pNext"
VkShaderModuleValidationCacheCreateInfoEXT
= 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
8)
{-# LINE 393 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "pNext" VkShaderModuleValidationCacheCreateInfoEXT
where
{-# NOINLINE getField #-}
getField :: VkShaderModuleValidationCacheCreateInfoEXT
-> FieldType "pNext" VkShaderModuleValidationCacheCreateInfoEXT
getField VkShaderModuleValidationCacheCreateInfoEXT
x
= IO (Ptr Void) -> Ptr Void
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderModuleValidationCacheCreateInfoEXT
-> Ptr VkShaderModuleValidationCacheCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderModuleValidationCacheCreateInfoEXT
x) (Int
8))
{-# LINE 401 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> IO
(FieldType "pNext" VkShaderModuleValidationCacheCreateInfoEXT)
readField Ptr VkShaderModuleValidationCacheCreateInfoEXT
p
= Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> Int -> IO (Ptr Void)
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderModuleValidationCacheCreateInfoEXT
p (Int
8)
{-# LINE 405 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "pNext" VkShaderModuleValidationCacheCreateInfoEXT
where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> FieldType "pNext" VkShaderModuleValidationCacheCreateInfoEXT
-> IO ()
writeField Ptr VkShaderModuleValidationCacheCreateInfoEXT
p
= Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> Int -> Ptr Void -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderModuleValidationCacheCreateInfoEXT
p (Int
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
type FieldOffset "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
=
(16)
{-# LINE 427 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
= 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
16)
{-# LINE 437 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
where
{-# NOINLINE getField #-}
getField :: VkShaderModuleValidationCacheCreateInfoEXT
-> FieldType
"validationCache" VkShaderModuleValidationCacheCreateInfoEXT
getField VkShaderModuleValidationCacheCreateInfoEXT
x
= IO VkValidationCacheEXT -> VkValidationCacheEXT
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> Int -> IO VkValidationCacheEXT
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderModuleValidationCacheCreateInfoEXT
-> Ptr VkShaderModuleValidationCacheCreateInfoEXT
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderModuleValidationCacheCreateInfoEXT
x) (Int
16))
{-# LINE 446 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> IO
(FieldType
"validationCache" VkShaderModuleValidationCacheCreateInfoEXT)
readField Ptr VkShaderModuleValidationCacheCreateInfoEXT
p
= Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> Int -> IO VkValidationCacheEXT
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderModuleValidationCacheCreateInfoEXT
p (Int
16)
{-# LINE 450 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "validationCache"
VkShaderModuleValidationCacheCreateInfoEXT
where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> FieldType
"validationCache" VkShaderModuleValidationCacheCreateInfoEXT
-> IO ()
writeField Ptr VkShaderModuleValidationCacheCreateInfoEXT
p
= Ptr VkShaderModuleValidationCacheCreateInfoEXT
-> Int -> VkValidationCacheEXT -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderModuleValidationCacheCreateInfoEXT
p (Int
16)
{-# LINE 458 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance Show VkShaderModuleValidationCacheCreateInfoEXT where
showsPrec :: Int -> VkShaderModuleValidationCacheCreateInfoEXT -> ShowS
showsPrec Int
d VkShaderModuleValidationCacheCreateInfoEXT
x
= String -> ShowS
showString String
"VkShaderModuleValidationCacheCreateInfoEXT {" 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 (VkShaderModuleValidationCacheCreateInfoEXT
-> FieldType "sType" VkShaderModuleValidationCacheCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"sType" VkShaderModuleValidationCacheCreateInfoEXT
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 (VkShaderModuleValidationCacheCreateInfoEXT
-> FieldType "pNext" VkShaderModuleValidationCacheCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"pNext" VkShaderModuleValidationCacheCreateInfoEXT
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
"validationCache = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
Int -> VkValidationCacheEXT -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkShaderModuleValidationCacheCreateInfoEXT
-> FieldType
"validationCache" VkShaderModuleValidationCacheCreateInfoEXT
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"validationCache" VkShaderModuleValidationCacheCreateInfoEXT
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'
data VkShaderResourceUsageAMD = VkShaderResourceUsageAMD# Addr#
ByteArray#
instance Eq VkShaderResourceUsageAMD where
(VkShaderResourceUsageAMD# Addr#
a ByteArray#
_) == :: VkShaderResourceUsageAMD -> VkShaderResourceUsageAMD -> Bool
==
x :: VkShaderResourceUsageAMD
x@(VkShaderResourceUsageAMD# Addr#
b ByteArray#
_) = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkShaderResourceUsageAMD -> Int
forall a. Storable a => a -> Int
sizeOf VkShaderResourceUsageAMD
x) Addr#
a Addr#
b
{-# INLINE (==) #-}
instance Ord VkShaderResourceUsageAMD where
(VkShaderResourceUsageAMD# Addr#
a ByteArray#
_) compare :: VkShaderResourceUsageAMD -> VkShaderResourceUsageAMD -> Ordering
`compare`
x :: VkShaderResourceUsageAMD
x@(VkShaderResourceUsageAMD# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkShaderResourceUsageAMD -> Int
forall a. Storable a => a -> Int
sizeOf VkShaderResourceUsageAMD
x) Addr#
a Addr#
b
{-# INLINE compare #-}
instance Storable VkShaderResourceUsageAMD where
sizeOf :: VkShaderResourceUsageAMD -> Int
sizeOf ~VkShaderResourceUsageAMD
_ = (Int
32)
{-# LINE 497 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE sizeOf #-}
alignment :: VkShaderResourceUsageAMD -> Int
alignment ~VkShaderResourceUsageAMD
_ = Int
8
{-# LINE 500 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE alignment #-}
peek :: Ptr VkShaderResourceUsageAMD -> IO VkShaderResourceUsageAMD
peek = Ptr VkShaderResourceUsageAMD -> IO VkShaderResourceUsageAMD
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#
{-# INLINE peek #-}
poke :: Ptr VkShaderResourceUsageAMD -> VkShaderResourceUsageAMD -> IO ()
poke = Ptr VkShaderResourceUsageAMD -> VkShaderResourceUsageAMD -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkShaderResourceUsageAMD where
unsafeAddr :: VkShaderResourceUsageAMD -> Addr#
unsafeAddr (VkShaderResourceUsageAMD# Addr#
a ByteArray#
_) = Addr#
a
{-# INLINE unsafeAddr #-}
unsafeByteArray :: VkShaderResourceUsageAMD -> ByteArray#
unsafeByteArray (VkShaderResourceUsageAMD# Addr#
_ ByteArray#
b) = ByteArray#
b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkShaderResourceUsageAMD
unsafeFromByteArrayOffset Int#
off ByteArray#
b
= Addr# -> ByteArray# -> VkShaderResourceUsageAMD
VkShaderResourceUsageAMD# (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
ByteArray#
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkShaderResourceUsageAMD where
type StructFields VkShaderResourceUsageAMD =
'["numUsedVgprs", "numUsedSgprs", "ldsSizePerLocalWorkGroup",
"ldsUsageSizeInBytes", "scratchMemUsageInBytes"]
type CUnionType VkShaderResourceUsageAMD = 'False
type ReturnedOnly VkShaderResourceUsageAMD = 'True
type StructExtends VkShaderResourceUsageAMD = '[]
instance {-# OVERLAPPING #-}
HasField "numUsedVgprs" VkShaderResourceUsageAMD where
type FieldType "numUsedVgprs" VkShaderResourceUsageAMD = Word32
type FieldOptional "numUsedVgprs" VkShaderResourceUsageAMD = 'False
type FieldOffset "numUsedVgprs" VkShaderResourceUsageAMD =
(0)
{-# LINE 536 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numUsedVgprs" VkShaderResourceUsageAMD = 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
0)
{-# LINE 544 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numUsedVgprs" VkShaderResourceUsageAMD where
{-# NOINLINE getField #-}
getField :: VkShaderResourceUsageAMD
-> FieldType "numUsedVgprs" VkShaderResourceUsageAMD
getField VkShaderResourceUsageAMD
x
= IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderResourceUsageAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderResourceUsageAMD -> Ptr VkShaderResourceUsageAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderResourceUsageAMD
x) (Int
0))
{-# LINE 551 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderResourceUsageAMD
-> IO (FieldType "numUsedVgprs" VkShaderResourceUsageAMD)
readField Ptr VkShaderResourceUsageAMD
p
= Ptr VkShaderResourceUsageAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderResourceUsageAMD
p (Int
0)
{-# LINE 555 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numUsedVgprs" VkShaderResourceUsageAMD where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderResourceUsageAMD
-> FieldType "numUsedVgprs" VkShaderResourceUsageAMD -> IO ()
writeField Ptr VkShaderResourceUsageAMD
p
= Ptr VkShaderResourceUsageAMD -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderResourceUsageAMD
p (Int
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
type FieldOffset "numUsedSgprs" VkShaderResourceUsageAMD =
(4)
{-# LINE 568 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numUsedSgprs" VkShaderResourceUsageAMD = 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
4)
{-# LINE 576 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numUsedSgprs" VkShaderResourceUsageAMD where
{-# NOINLINE getField #-}
getField :: VkShaderResourceUsageAMD
-> FieldType "numUsedSgprs" VkShaderResourceUsageAMD
getField VkShaderResourceUsageAMD
x
= IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderResourceUsageAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderResourceUsageAMD -> Ptr VkShaderResourceUsageAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderResourceUsageAMD
x) (Int
4))
{-# LINE 583 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderResourceUsageAMD
-> IO (FieldType "numUsedSgprs" VkShaderResourceUsageAMD)
readField Ptr VkShaderResourceUsageAMD
p
= Ptr VkShaderResourceUsageAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderResourceUsageAMD
p (Int
4)
{-# LINE 587 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numUsedSgprs" VkShaderResourceUsageAMD where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderResourceUsageAMD
-> FieldType "numUsedSgprs" VkShaderResourceUsageAMD -> IO ()
writeField Ptr VkShaderResourceUsageAMD
p
= Ptr VkShaderResourceUsageAMD -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderResourceUsageAMD
p (Int
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
type FieldOffset "ldsSizePerLocalWorkGroup"
VkShaderResourceUsageAMD
=
(8)
{-# LINE 605 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "ldsSizePerLocalWorkGroup"
VkShaderResourceUsageAMD
= 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
8)
{-# LINE 615 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD
where
{-# NOINLINE getField #-}
getField :: VkShaderResourceUsageAMD
-> FieldType "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD
getField VkShaderResourceUsageAMD
x
= IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderResourceUsageAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderResourceUsageAMD -> Ptr VkShaderResourceUsageAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderResourceUsageAMD
x) (Int
8))
{-# LINE 623 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderResourceUsageAMD
-> IO
(FieldType "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD)
readField Ptr VkShaderResourceUsageAMD
p
= Ptr VkShaderResourceUsageAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderResourceUsageAMD
p (Int
8)
{-# LINE 627 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD
where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderResourceUsageAMD
-> FieldType "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD
-> IO ()
writeField Ptr VkShaderResourceUsageAMD
p
= Ptr VkShaderResourceUsageAMD -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderResourceUsageAMD
p (Int
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
type FieldOffset "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =
(16)
{-# LINE 643 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "ldsUsageSizeInBytes" VkShaderResourceUsageAMD =
'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
16)
{-# LINE 652 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where
{-# NOINLINE getField #-}
getField :: VkShaderResourceUsageAMD
-> FieldType "ldsUsageSizeInBytes" VkShaderResourceUsageAMD
getField VkShaderResourceUsageAMD
x
= IO CSize -> CSize
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderResourceUsageAMD -> Int -> IO CSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderResourceUsageAMD -> Ptr VkShaderResourceUsageAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderResourceUsageAMD
x) (Int
16))
{-# LINE 659 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderResourceUsageAMD
-> IO (FieldType "ldsUsageSizeInBytes" VkShaderResourceUsageAMD)
readField Ptr VkShaderResourceUsageAMD
p
= Ptr VkShaderResourceUsageAMD -> Int -> IO CSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderResourceUsageAMD
p (Int
16)
{-# LINE 663 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "ldsUsageSizeInBytes" VkShaderResourceUsageAMD where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderResourceUsageAMD
-> FieldType "ldsUsageSizeInBytes" VkShaderResourceUsageAMD
-> IO ()
writeField Ptr VkShaderResourceUsageAMD
p
= Ptr VkShaderResourceUsageAMD -> Int -> CSize -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderResourceUsageAMD
p (Int
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
type FieldOffset "scratchMemUsageInBytes" VkShaderResourceUsageAMD
=
(24)
{-# LINE 680 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "scratchMemUsageInBytes" VkShaderResourceUsageAMD
= 'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
24)
{-# LINE 689 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "scratchMemUsageInBytes" VkShaderResourceUsageAMD
where
{-# NOINLINE getField #-}
getField :: VkShaderResourceUsageAMD
-> FieldType "scratchMemUsageInBytes" VkShaderResourceUsageAMD
getField VkShaderResourceUsageAMD
x
= IO CSize -> CSize
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderResourceUsageAMD -> Int -> IO CSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderResourceUsageAMD -> Ptr VkShaderResourceUsageAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderResourceUsageAMD
x) (Int
24))
{-# LINE 697 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderResourceUsageAMD
-> IO (FieldType "scratchMemUsageInBytes" VkShaderResourceUsageAMD)
readField Ptr VkShaderResourceUsageAMD
p
= Ptr VkShaderResourceUsageAMD -> Int -> IO CSize
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderResourceUsageAMD
p (Int
24)
{-# LINE 701 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "scratchMemUsageInBytes" VkShaderResourceUsageAMD
where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderResourceUsageAMD
-> FieldType "scratchMemUsageInBytes" VkShaderResourceUsageAMD
-> IO ()
writeField Ptr VkShaderResourceUsageAMD
p
= Ptr VkShaderResourceUsageAMD -> Int -> CSize -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderResourceUsageAMD
p (Int
24)
{-# LINE 708 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance Show VkShaderResourceUsageAMD where
showsPrec :: Int -> VkShaderResourceUsageAMD -> ShowS
showsPrec Int
d VkShaderResourceUsageAMD
x
= String -> ShowS
showString String
"VkShaderResourceUsageAMD {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
String -> ShowS
showString String
"numUsedVgprs = " 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 (VkShaderResourceUsageAMD
-> FieldType "numUsedVgprs" VkShaderResourceUsageAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"numUsedVgprs" VkShaderResourceUsageAMD
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
"numUsedSgprs = " 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 (VkShaderResourceUsageAMD
-> FieldType "numUsedSgprs" VkShaderResourceUsageAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"numUsedSgprs" VkShaderResourceUsageAMD
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
"ldsSizePerLocalWorkGroup = " 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 (VkShaderResourceUsageAMD
-> FieldType "ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"ldsSizePerLocalWorkGroup" VkShaderResourceUsageAMD
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
"ldsUsageSizeInBytes = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
Int -> CSize -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkShaderResourceUsageAMD
-> FieldType "ldsUsageSizeInBytes" VkShaderResourceUsageAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"ldsUsageSizeInBytes" VkShaderResourceUsageAMD
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
"scratchMemUsageInBytes = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
Int -> CSize -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkShaderResourceUsageAMD
-> FieldType "scratchMemUsageInBytes" VkShaderResourceUsageAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"scratchMemUsageInBytes" VkShaderResourceUsageAMD
x) ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
Char -> ShowS
showChar Char
'}'
data VkShaderStatisticsInfoAMD = VkShaderStatisticsInfoAMD# Addr#
ByteArray#
instance Eq VkShaderStatisticsInfoAMD where
(VkShaderStatisticsInfoAMD# Addr#
a ByteArray#
_) == :: VkShaderStatisticsInfoAMD -> VkShaderStatisticsInfoAMD -> Bool
==
x :: VkShaderStatisticsInfoAMD
x@(VkShaderStatisticsInfoAMD# Addr#
b ByteArray#
_) = Ordering
EQ Ordering -> Ordering -> Bool
forall a. Eq a => a -> a -> Bool
== Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkShaderStatisticsInfoAMD -> Int
forall a. Storable a => a -> Int
sizeOf VkShaderStatisticsInfoAMD
x) Addr#
a Addr#
b
{-# INLINE (==) #-}
instance Ord VkShaderStatisticsInfoAMD where
(VkShaderStatisticsInfoAMD# Addr#
a ByteArray#
_) compare :: VkShaderStatisticsInfoAMD -> VkShaderStatisticsInfoAMD -> Ordering
`compare`
x :: VkShaderStatisticsInfoAMD
x@(VkShaderStatisticsInfoAMD# Addr#
b ByteArray#
_) = Int -> Addr# -> Addr# -> Ordering
cmpBytes# (VkShaderStatisticsInfoAMD -> Int
forall a. Storable a => a -> Int
sizeOf VkShaderStatisticsInfoAMD
x) Addr#
a Addr#
b
{-# INLINE compare #-}
instance Storable VkShaderStatisticsInfoAMD where
sizeOf :: VkShaderStatisticsInfoAMD -> Int
sizeOf ~VkShaderStatisticsInfoAMD
_ = (Int
72)
{-# LINE 756 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE sizeOf #-}
alignment :: VkShaderStatisticsInfoAMD -> Int
alignment ~VkShaderStatisticsInfoAMD
_ = Int
8
{-# LINE 759 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE alignment #-}
peek :: Ptr VkShaderStatisticsInfoAMD -> IO VkShaderStatisticsInfoAMD
peek = Ptr VkShaderStatisticsInfoAMD -> IO VkShaderStatisticsInfoAMD
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a
peekVkData#
{-# INLINE peek #-}
poke :: Ptr VkShaderStatisticsInfoAMD -> VkShaderStatisticsInfoAMD -> IO ()
poke = Ptr VkShaderStatisticsInfoAMD -> VkShaderStatisticsInfoAMD -> IO ()
forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO ()
pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkShaderStatisticsInfoAMD where
unsafeAddr :: VkShaderStatisticsInfoAMD -> Addr#
unsafeAddr (VkShaderStatisticsInfoAMD# Addr#
a ByteArray#
_) = Addr#
a
{-# INLINE unsafeAddr #-}
unsafeByteArray :: VkShaderStatisticsInfoAMD -> ByteArray#
unsafeByteArray (VkShaderStatisticsInfoAMD# Addr#
_ ByteArray#
b) = ByteArray#
b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset :: Int# -> ByteArray# -> VkShaderStatisticsInfoAMD
unsafeFromByteArrayOffset Int#
off ByteArray#
b
= Addr# -> ByteArray# -> VkShaderStatisticsInfoAMD
VkShaderStatisticsInfoAMD# (Addr# -> Int# -> Addr#
plusAddr# (ByteArray# -> Addr#
byteArrayContents# ByteArray#
b) Int#
off)
ByteArray#
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkShaderStatisticsInfoAMD where
type StructFields VkShaderStatisticsInfoAMD =
'["shaderStageMask", "resourceUsage", "numPhysicalVgprs",
"numPhysicalSgprs", "numAvailableVgprs", "numAvailableSgprs",
"computeWorkGroupSize"]
type CUnionType VkShaderStatisticsInfoAMD = 'False
type ReturnedOnly VkShaderStatisticsInfoAMD = 'True
type StructExtends VkShaderStatisticsInfoAMD = '[]
instance {-# OVERLAPPING #-}
HasField "shaderStageMask" VkShaderStatisticsInfoAMD where
type FieldType "shaderStageMask" VkShaderStatisticsInfoAMD =
VkShaderStageFlags
type FieldOptional "shaderStageMask" VkShaderStatisticsInfoAMD =
'False
type FieldOffset "shaderStageMask" VkShaderStatisticsInfoAMD =
(0)
{-# LINE 798 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "shaderStageMask" VkShaderStatisticsInfoAMD =
'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
0)
{-# LINE 807 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "shaderStageMask" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField :: VkShaderStatisticsInfoAMD
-> FieldType "shaderStageMask" VkShaderStatisticsInfoAMD
getField VkShaderStatisticsInfoAMD
x
= IO VkShaderStageFlags -> VkShaderStageFlags
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderStatisticsInfoAMD -> Int -> IO VkShaderStageFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderStatisticsInfoAMD -> Ptr VkShaderStatisticsInfoAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderStatisticsInfoAMD
x) (Int
0))
{-# LINE 814 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderStatisticsInfoAMD
-> IO (FieldType "shaderStageMask" VkShaderStatisticsInfoAMD)
readField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> IO VkShaderStageFlags
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
0)
{-# LINE 818 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "shaderStageMask" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderStatisticsInfoAMD
-> FieldType "shaderStageMask" VkShaderStatisticsInfoAMD -> IO ()
writeField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> VkShaderStageFlags -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
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
type FieldOffset "resourceUsage" VkShaderStatisticsInfoAMD =
(8)
{-# LINE 833 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "resourceUsage" VkShaderStatisticsInfoAMD =
'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
8)
{-# LINE 842 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "resourceUsage" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField :: VkShaderStatisticsInfoAMD
-> FieldType "resourceUsage" VkShaderStatisticsInfoAMD
getField VkShaderStatisticsInfoAMD
x
= IO VkShaderResourceUsageAMD -> VkShaderResourceUsageAMD
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderStatisticsInfoAMD -> Int -> IO VkShaderResourceUsageAMD
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderStatisticsInfoAMD -> Ptr VkShaderStatisticsInfoAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderStatisticsInfoAMD
x) (Int
8))
{-# LINE 849 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderStatisticsInfoAMD
-> IO (FieldType "resourceUsage" VkShaderStatisticsInfoAMD)
readField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> IO VkShaderResourceUsageAMD
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
8)
{-# LINE 853 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "resourceUsage" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderStatisticsInfoAMD
-> FieldType "resourceUsage" VkShaderStatisticsInfoAMD -> IO ()
writeField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD
-> Int -> VkShaderResourceUsageAMD -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
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
type FieldOffset "numPhysicalVgprs" VkShaderStatisticsInfoAMD =
(40)
{-# LINE 868 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numPhysicalVgprs" VkShaderStatisticsInfoAMD =
'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
40)
{-# LINE 877 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField :: VkShaderStatisticsInfoAMD
-> FieldType "numPhysicalVgprs" VkShaderStatisticsInfoAMD
getField VkShaderStatisticsInfoAMD
x
= IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderStatisticsInfoAMD -> Ptr VkShaderStatisticsInfoAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderStatisticsInfoAMD
x) (Int
40))
{-# LINE 884 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderStatisticsInfoAMD
-> IO (FieldType "numPhysicalVgprs" VkShaderStatisticsInfoAMD)
readField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
40)
{-# LINE 888 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numPhysicalVgprs" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderStatisticsInfoAMD
-> FieldType "numPhysicalVgprs" VkShaderStatisticsInfoAMD -> IO ()
writeField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
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
type FieldOffset "numPhysicalSgprs" VkShaderStatisticsInfoAMD =
(44)
{-# LINE 903 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numPhysicalSgprs" VkShaderStatisticsInfoAMD =
'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
44)
{-# LINE 912 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField :: VkShaderStatisticsInfoAMD
-> FieldType "numPhysicalSgprs" VkShaderStatisticsInfoAMD
getField VkShaderStatisticsInfoAMD
x
= IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderStatisticsInfoAMD -> Ptr VkShaderStatisticsInfoAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderStatisticsInfoAMD
x) (Int
44))
{-# LINE 919 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderStatisticsInfoAMD
-> IO (FieldType "numPhysicalSgprs" VkShaderStatisticsInfoAMD)
readField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
44)
{-# LINE 923 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numPhysicalSgprs" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderStatisticsInfoAMD
-> FieldType "numPhysicalSgprs" VkShaderStatisticsInfoAMD -> IO ()
writeField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
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
type FieldOffset "numAvailableVgprs" VkShaderStatisticsInfoAMD =
(48)
{-# LINE 938 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numAvailableVgprs" VkShaderStatisticsInfoAMD =
'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
48)
{-# LINE 947 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numAvailableVgprs" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField :: VkShaderStatisticsInfoAMD
-> FieldType "numAvailableVgprs" VkShaderStatisticsInfoAMD
getField VkShaderStatisticsInfoAMD
x
= IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderStatisticsInfoAMD -> Ptr VkShaderStatisticsInfoAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderStatisticsInfoAMD
x) (Int
48))
{-# LINE 954 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderStatisticsInfoAMD
-> IO (FieldType "numAvailableVgprs" VkShaderStatisticsInfoAMD)
readField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
48)
{-# LINE 958 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numAvailableVgprs" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderStatisticsInfoAMD
-> FieldType "numAvailableVgprs" VkShaderStatisticsInfoAMD -> IO ()
writeField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
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
type FieldOffset "numAvailableSgprs" VkShaderStatisticsInfoAMD =
(52)
{-# LINE 973 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "numAvailableSgprs" VkShaderStatisticsInfoAMD =
'False
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
52)
{-# LINE 982 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "numAvailableSgprs" VkShaderStatisticsInfoAMD where
{-# NOINLINE getField #-}
getField :: VkShaderStatisticsInfoAMD
-> FieldType "numAvailableSgprs" VkShaderStatisticsInfoAMD
getField VkShaderStatisticsInfoAMD
x
= IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO
(Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderStatisticsInfoAMD -> Ptr VkShaderStatisticsInfoAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderStatisticsInfoAMD
x) (Int
52))
{-# LINE 989 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
{-# INLINE readField #-}
readField :: Ptr VkShaderStatisticsInfoAMD
-> IO (FieldType "numAvailableSgprs" VkShaderStatisticsInfoAMD)
readField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
52)
{-# LINE 993 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "numAvailableSgprs" VkShaderStatisticsInfoAMD where
{-# INLINE writeField #-}
writeField :: Ptr VkShaderStatisticsInfoAMD
-> FieldType "numAvailableSgprs" VkShaderStatisticsInfoAMD -> IO ()
writeField Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderStatisticsInfoAMD
p (Int
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
type FieldOffset "computeWorkGroupSize" VkShaderStatisticsInfoAMD =
(56)
{-# LINE 1008 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
type FieldIsArray "computeWorkGroupSize" VkShaderStatisticsInfoAMD
= 'True
{-# INLINE fieldOptional #-}
fieldOptional :: Bool
fieldOptional = Bool
False
{-# INLINE fieldOffset #-}
fieldOffset :: Int
fieldOffset
= (Int
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 :: Int
fieldArrayLength = Int
3
{-# INLINE getFieldArray #-}
getFieldArray :: VkShaderStatisticsInfoAMD
-> FieldType "computeWorkGroupSize" VkShaderStatisticsInfoAMD
getFieldArray = VkShaderStatisticsInfoAMD -> Word32
VkShaderStatisticsInfoAMD
-> FieldType "computeWorkGroupSize" VkShaderStatisticsInfoAMD
f
where {-# NOINLINE f #-}
f :: VkShaderStatisticsInfoAMD -> Word32
f VkShaderStatisticsInfoAMD
x = IO Word32 -> Word32
forall a. IO a -> a
unsafeDupablePerformIO (Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderStatisticsInfoAMD -> Ptr VkShaderStatisticsInfoAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderStatisticsInfoAMD
x) Int
off)
off :: Int
off
= (Int
56)
{-# LINE 1052 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
Int -> Int -> Int
forall a. Num a => a -> a -> a
+
Word32 -> Int
forall a. Storable a => a -> Int
sizeOf (Word32
forall a. HasCallStack => a
undefined :: Word32) Int -> Int -> Int
forall a. Num a => a -> a -> a
*
Integer -> Int
forall a. Num a => Integer -> a
fromInteger (Proxy# idx -> Integer
forall (n :: Nat). KnownNat n => Proxy# n -> Integer
natVal' (Proxy# idx
forall k (a :: k). Proxy# a
proxy# :: Proxy# idx))
{-# INLINE readFieldArray #-}
readFieldArray :: Ptr VkShaderStatisticsInfoAMD
-> IO (FieldType "computeWorkGroupSize" VkShaderStatisticsInfoAMD)
readFieldArray Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff Ptr VkShaderStatisticsInfoAMD
p
((Int
56)
{-# LINE 1060 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
Int -> Int -> Int
forall a. Num a => a -> a -> a
+
Word32 -> Int
forall a. Storable a => a -> Int
sizeOf (Word32
forall a. HasCallStack => a
undefined :: Word32) Int -> Int -> Int
forall a. Num a => a -> a -> a
*
Integer -> Int
forall a. Num a => Integer -> a
fromInteger (Proxy# idx -> Integer
forall (n :: Nat). KnownNat n => Proxy# n -> Integer
natVal' (Proxy# idx
forall k (a :: k). Proxy# a
proxy# :: Proxy# idx)))
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 :: Ptr VkShaderStatisticsInfoAMD
-> FieldType "computeWorkGroupSize" VkShaderStatisticsInfoAMD
-> IO ()
writeFieldArray Ptr VkShaderStatisticsInfoAMD
p
= Ptr VkShaderStatisticsInfoAMD -> Int -> Word32 -> IO ()
forall a b. Storable a => Ptr b -> Int -> a -> IO ()
pokeByteOff Ptr VkShaderStatisticsInfoAMD
p
((Int
56)
{-# LINE 1090 "src-gen/Graphics/Vulkan/Types/Struct/Shader.hsc" #-}
Int -> Int -> Int
forall a. Num a => a -> a -> a
+
Word32 -> Int
forall a. Storable a => a -> Int
sizeOf (Word32
forall a. HasCallStack => a
undefined :: Word32) Int -> Int -> Int
forall a. Num a => a -> a -> a
*
Integer -> Int
forall a. Num a => Integer -> a
fromInteger (Proxy# idx -> Integer
forall (n :: Nat). KnownNat n => Proxy# n -> Integer
natVal' (Proxy# idx
forall k (a :: k). Proxy# a
proxy# :: Proxy# idx)))
instance Show VkShaderStatisticsInfoAMD where
showsPrec :: Int -> VkShaderStatisticsInfoAMD -> ShowS
showsPrec Int
d VkShaderStatisticsInfoAMD
x
= String -> ShowS
showString String
"VkShaderStatisticsInfoAMD {" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
String -> ShowS
showString String
"shaderStageMask = " 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 (VkShaderStatisticsInfoAMD
-> FieldType "shaderStageMask" VkShaderStatisticsInfoAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"shaderStageMask" VkShaderStatisticsInfoAMD
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
"resourceUsage = " ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
Int -> VkShaderResourceUsageAMD -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
d (VkShaderStatisticsInfoAMD
-> FieldType "resourceUsage" VkShaderStatisticsInfoAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"resourceUsage" VkShaderStatisticsInfoAMD
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
"numPhysicalVgprs = " 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 (VkShaderStatisticsInfoAMD
-> FieldType "numPhysicalVgprs" VkShaderStatisticsInfoAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"numPhysicalVgprs" VkShaderStatisticsInfoAMD
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
"numPhysicalSgprs = " 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 (VkShaderStatisticsInfoAMD
-> FieldType "numPhysicalSgprs" VkShaderStatisticsInfoAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"numPhysicalSgprs" VkShaderStatisticsInfoAMD
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
"numAvailableVgprs = " 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 (VkShaderStatisticsInfoAMD
-> FieldType "numAvailableVgprs" VkShaderStatisticsInfoAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"numAvailableVgprs" VkShaderStatisticsInfoAMD
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
"numAvailableSgprs = " 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 (VkShaderStatisticsInfoAMD
-> FieldType "numAvailableSgprs" VkShaderStatisticsInfoAMD
forall (fname :: Symbol) a.
CanReadField fname a =>
a -> FieldType fname a
getField @"numAvailableSgprs" VkShaderStatisticsInfoAMD
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
"computeWorkGroupSize = [" 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
(let s :: Int
s = Word32 -> Int
forall a. Storable a => a -> Int
sizeOf
(FieldType "computeWorkGroupSize" VkShaderStatisticsInfoAMD
forall a. HasCallStack => a
undefined ::
FieldType
"computeWorkGroupSize"
VkShaderStatisticsInfoAMD)
o :: Int
o = HasField "computeWorkGroupSize" VkShaderStatisticsInfoAMD => Int
forall (fname :: Symbol) a. HasField fname a => Int
fieldOffset @"computeWorkGroupSize"
@VkShaderStatisticsInfoAMD
f :: Int
-> IO (FieldType "computeWorkGroupSize" VkShaderStatisticsInfoAMD)
f Int
i
= Ptr VkShaderStatisticsInfoAMD -> Int -> IO Word32
forall a b. Storable a => Ptr b -> Int -> IO a
peekByteOff (VkShaderStatisticsInfoAMD -> Ptr VkShaderStatisticsInfoAMD
forall a. VulkanMarshal a => a -> Ptr a
unsafePtr VkShaderStatisticsInfoAMD
x) Int
i ::
IO
(FieldType
"computeWorkGroupSize"
VkShaderStatisticsInfoAMD)
in
IO [Word32] -> [Word32]
forall a. IO a -> a
unsafeDupablePerformIO (IO [Word32] -> [Word32])
-> ([Int] -> IO [Word32]) -> [Int] -> [Word32]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> IO Word32) -> [Int] -> IO [Word32]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM Int -> IO Word32
Int
-> IO (FieldType "computeWorkGroupSize" VkShaderStatisticsInfoAMD)
f ([Int] -> [Word32]) -> [Int] -> [Word32]
forall a b. (a -> b) -> a -> b
$
(Int -> Int) -> [Int] -> [Int]
forall a b. (a -> b) -> [a] -> [b]
map (\ Int
i -> Int
o Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
s) [Int
0 .. Int
3 Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1])
ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
']')
ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Char -> ShowS
showChar Char
'}'