{-# language CPP #-}
module Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block ( PhysicalDeviceInlineUniformBlockFeatures(..)
, PhysicalDeviceInlineUniformBlockProperties(..)
, WriteDescriptorSetInlineUniformBlock(..)
, DescriptorPoolInlineUniformBlockCreateInfo(..)
, DescriptorType(..)
, StructureType(..)
) where
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero(..))
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import Foreign.Ptr (Ptr)
import Data.Word (Word32)
import Data.Kind (Type)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK))
import Vulkan.Core10.Enums.DescriptorType (DescriptorType(..))
import Vulkan.Core10.Enums.StructureType (StructureType(..))
data PhysicalDeviceInlineUniformBlockFeatures = PhysicalDeviceInlineUniformBlockFeatures
{
PhysicalDeviceInlineUniformBlockFeatures -> Bool
inlineUniformBlock :: Bool
,
PhysicalDeviceInlineUniformBlockFeatures -> Bool
descriptorBindingInlineUniformBlockUpdateAfterBind :: Bool
}
deriving (Typeable, PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> Bool
(PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> Bool)
-> (PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> Bool)
-> Eq PhysicalDeviceInlineUniformBlockFeatures
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> Bool
$c/= :: PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> Bool
== :: PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> Bool
$c== :: PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceInlineUniformBlockFeatures)
#endif
deriving instance Show PhysicalDeviceInlineUniformBlockFeatures
instance ToCStruct PhysicalDeviceInlineUniformBlockFeatures where
withCStruct :: forall b.
PhysicalDeviceInlineUniformBlockFeatures
-> (Ptr PhysicalDeviceInlineUniformBlockFeatures -> IO b) -> IO b
withCStruct PhysicalDeviceInlineUniformBlockFeatures
x Ptr PhysicalDeviceInlineUniformBlockFeatures -> IO b
f = Int
-> (Ptr PhysicalDeviceInlineUniformBlockFeatures -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceInlineUniformBlockFeatures -> IO b) -> IO b)
-> (Ptr PhysicalDeviceInlineUniformBlockFeatures -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceInlineUniformBlockFeatures
p -> Ptr PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceInlineUniformBlockFeatures
p PhysicalDeviceInlineUniformBlockFeatures
x (Ptr PhysicalDeviceInlineUniformBlockFeatures -> IO b
f Ptr PhysicalDeviceInlineUniformBlockFeatures
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceInlineUniformBlockFeatures
p PhysicalDeviceInlineUniformBlockFeatures{Bool
descriptorBindingInlineUniformBlockUpdateAfterBind :: Bool
inlineUniformBlock :: Bool
$sel:descriptorBindingInlineUniformBlockUpdateAfterBind:PhysicalDeviceInlineUniformBlockFeatures :: PhysicalDeviceInlineUniformBlockFeatures -> Bool
$sel:inlineUniformBlock:PhysicalDeviceInlineUniformBlockFeatures :: PhysicalDeviceInlineUniformBlockFeatures -> Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockFeatures
p Ptr PhysicalDeviceInlineUniformBlockFeatures
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockFeatures
p Ptr PhysicalDeviceInlineUniformBlockFeatures -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockFeatures
p Ptr PhysicalDeviceInlineUniformBlockFeatures -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
inlineUniformBlock))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockFeatures
p Ptr PhysicalDeviceInlineUniformBlockFeatures -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorBindingInlineUniformBlockUpdateAfterBind))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceInlineUniformBlockFeatures -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceInlineUniformBlockFeatures
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockFeatures
p Ptr PhysicalDeviceInlineUniformBlockFeatures
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockFeatures
p Ptr PhysicalDeviceInlineUniformBlockFeatures -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockFeatures
p Ptr PhysicalDeviceInlineUniformBlockFeatures -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockFeatures
p Ptr PhysicalDeviceInlineUniformBlockFeatures -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceInlineUniformBlockFeatures where
peekCStruct :: Ptr PhysicalDeviceInlineUniformBlockFeatures
-> IO PhysicalDeviceInlineUniformBlockFeatures
peekCStruct Ptr PhysicalDeviceInlineUniformBlockFeatures
p = do
Bool32
inlineUniformBlock <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceInlineUniformBlockFeatures
p Ptr PhysicalDeviceInlineUniformBlockFeatures -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
Bool32
descriptorBindingInlineUniformBlockUpdateAfterBind <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceInlineUniformBlockFeatures
p Ptr PhysicalDeviceInlineUniformBlockFeatures -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32))
PhysicalDeviceInlineUniformBlockFeatures
-> IO PhysicalDeviceInlineUniformBlockFeatures
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceInlineUniformBlockFeatures
-> IO PhysicalDeviceInlineUniformBlockFeatures)
-> PhysicalDeviceInlineUniformBlockFeatures
-> IO PhysicalDeviceInlineUniformBlockFeatures
forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> PhysicalDeviceInlineUniformBlockFeatures
PhysicalDeviceInlineUniformBlockFeatures
(Bool32 -> Bool
bool32ToBool Bool32
inlineUniformBlock)
(Bool32 -> Bool
bool32ToBool Bool32
descriptorBindingInlineUniformBlockUpdateAfterBind)
instance Storable PhysicalDeviceInlineUniformBlockFeatures where
sizeOf :: PhysicalDeviceInlineUniformBlockFeatures -> Int
sizeOf ~PhysicalDeviceInlineUniformBlockFeatures
_ = Int
24
alignment :: PhysicalDeviceInlineUniformBlockFeatures -> Int
alignment ~PhysicalDeviceInlineUniformBlockFeatures
_ = Int
8
peek :: Ptr PhysicalDeviceInlineUniformBlockFeatures
-> IO PhysicalDeviceInlineUniformBlockFeatures
peek = Ptr PhysicalDeviceInlineUniformBlockFeatures
-> IO PhysicalDeviceInlineUniformBlockFeatures
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> IO ()
poke Ptr PhysicalDeviceInlineUniformBlockFeatures
ptr PhysicalDeviceInlineUniformBlockFeatures
poked = Ptr PhysicalDeviceInlineUniformBlockFeatures
-> PhysicalDeviceInlineUniformBlockFeatures -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceInlineUniformBlockFeatures
ptr PhysicalDeviceInlineUniformBlockFeatures
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceInlineUniformBlockFeatures where
zero :: PhysicalDeviceInlineUniformBlockFeatures
zero = Bool -> Bool -> PhysicalDeviceInlineUniformBlockFeatures
PhysicalDeviceInlineUniformBlockFeatures
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
data PhysicalDeviceInlineUniformBlockProperties = PhysicalDeviceInlineUniformBlockProperties
{
PhysicalDeviceInlineUniformBlockProperties -> Word32
maxInlineUniformBlockSize :: Word32
,
PhysicalDeviceInlineUniformBlockProperties -> Word32
maxPerStageDescriptorInlineUniformBlocks :: Word32
,
PhysicalDeviceInlineUniformBlockProperties -> Word32
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks :: Word32
,
PhysicalDeviceInlineUniformBlockProperties -> Word32
maxDescriptorSetInlineUniformBlocks :: Word32
,
PhysicalDeviceInlineUniformBlockProperties -> Word32
maxDescriptorSetUpdateAfterBindInlineUniformBlocks :: Word32
}
deriving (Typeable, PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> Bool
(PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> Bool)
-> (PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> Bool)
-> Eq PhysicalDeviceInlineUniformBlockProperties
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> Bool
$c/= :: PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> Bool
== :: PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> Bool
$c== :: PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceInlineUniformBlockProperties)
#endif
deriving instance Show PhysicalDeviceInlineUniformBlockProperties
instance ToCStruct PhysicalDeviceInlineUniformBlockProperties where
withCStruct :: forall b.
PhysicalDeviceInlineUniformBlockProperties
-> (Ptr PhysicalDeviceInlineUniformBlockProperties -> IO b) -> IO b
withCStruct PhysicalDeviceInlineUniformBlockProperties
x Ptr PhysicalDeviceInlineUniformBlockProperties -> IO b
f = Int
-> (Ptr PhysicalDeviceInlineUniformBlockProperties -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 ((Ptr PhysicalDeviceInlineUniformBlockProperties -> IO b) -> IO b)
-> (Ptr PhysicalDeviceInlineUniformBlockProperties -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceInlineUniformBlockProperties
p -> Ptr PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceInlineUniformBlockProperties
p PhysicalDeviceInlineUniformBlockProperties
x (Ptr PhysicalDeviceInlineUniformBlockProperties -> IO b
f Ptr PhysicalDeviceInlineUniformBlockProperties
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceInlineUniformBlockProperties
p PhysicalDeviceInlineUniformBlockProperties{Word32
maxDescriptorSetUpdateAfterBindInlineUniformBlocks :: Word32
maxDescriptorSetInlineUniformBlocks :: Word32
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks :: Word32
maxPerStageDescriptorInlineUniformBlocks :: Word32
maxInlineUniformBlockSize :: Word32
$sel:maxDescriptorSetUpdateAfterBindInlineUniformBlocks:PhysicalDeviceInlineUniformBlockProperties :: PhysicalDeviceInlineUniformBlockProperties -> Word32
$sel:maxDescriptorSetInlineUniformBlocks:PhysicalDeviceInlineUniformBlockProperties :: PhysicalDeviceInlineUniformBlockProperties -> Word32
$sel:maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks:PhysicalDeviceInlineUniformBlockProperties :: PhysicalDeviceInlineUniformBlockProperties -> Word32
$sel:maxPerStageDescriptorInlineUniformBlocks:PhysicalDeviceInlineUniformBlockProperties :: PhysicalDeviceInlineUniformBlockProperties -> Word32
$sel:maxInlineUniformBlockSize:PhysicalDeviceInlineUniformBlockProperties :: PhysicalDeviceInlineUniformBlockProperties -> Word32
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
maxInlineUniformBlockSize)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) (Word32
maxPerStageDescriptorInlineUniformBlocks)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Word32)) (Word32
maxDescriptorSetInlineUniformBlocks)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32)) (Word32
maxDescriptorSetUpdateAfterBindInlineUniformBlocks)
IO b
f
cStructSize :: Int
cStructSize = Int
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceInlineUniformBlockProperties -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceInlineUniformBlockProperties
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PhysicalDeviceInlineUniformBlockProperties where
peekCStruct :: Ptr PhysicalDeviceInlineUniformBlockProperties
-> IO PhysicalDeviceInlineUniformBlockProperties
peekCStruct Ptr PhysicalDeviceInlineUniformBlockProperties
p = do
Word32
maxInlineUniformBlockSize <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
Word32
maxPerStageDescriptorInlineUniformBlocks <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
Word32
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32))
Word32
maxDescriptorSetInlineUniformBlocks <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Word32))
Word32
maxDescriptorSetUpdateAfterBindInlineUniformBlocks <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceInlineUniformBlockProperties
p Ptr PhysicalDeviceInlineUniformBlockProperties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32))
PhysicalDeviceInlineUniformBlockProperties
-> IO PhysicalDeviceInlineUniformBlockProperties
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceInlineUniformBlockProperties
-> IO PhysicalDeviceInlineUniformBlockProperties)
-> PhysicalDeviceInlineUniformBlockProperties
-> IO PhysicalDeviceInlineUniformBlockProperties
forall a b. (a -> b) -> a -> b
$ Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> PhysicalDeviceInlineUniformBlockProperties
PhysicalDeviceInlineUniformBlockProperties
Word32
maxInlineUniformBlockSize
Word32
maxPerStageDescriptorInlineUniformBlocks
Word32
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
Word32
maxDescriptorSetInlineUniformBlocks
Word32
maxDescriptorSetUpdateAfterBindInlineUniformBlocks
instance Storable PhysicalDeviceInlineUniformBlockProperties where
sizeOf :: PhysicalDeviceInlineUniformBlockProperties -> Int
sizeOf ~PhysicalDeviceInlineUniformBlockProperties
_ = Int
40
alignment :: PhysicalDeviceInlineUniformBlockProperties -> Int
alignment ~PhysicalDeviceInlineUniformBlockProperties
_ = Int
8
peek :: Ptr PhysicalDeviceInlineUniformBlockProperties
-> IO PhysicalDeviceInlineUniformBlockProperties
peek = Ptr PhysicalDeviceInlineUniformBlockProperties
-> IO PhysicalDeviceInlineUniformBlockProperties
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> IO ()
poke Ptr PhysicalDeviceInlineUniformBlockProperties
ptr PhysicalDeviceInlineUniformBlockProperties
poked = Ptr PhysicalDeviceInlineUniformBlockProperties
-> PhysicalDeviceInlineUniformBlockProperties -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceInlineUniformBlockProperties
ptr PhysicalDeviceInlineUniformBlockProperties
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceInlineUniformBlockProperties where
zero :: PhysicalDeviceInlineUniformBlockProperties
zero = Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> PhysicalDeviceInlineUniformBlockProperties
PhysicalDeviceInlineUniformBlockProperties
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
data WriteDescriptorSetInlineUniformBlock = WriteDescriptorSetInlineUniformBlock
{
WriteDescriptorSetInlineUniformBlock -> Word32
dataSize :: Word32
,
WriteDescriptorSetInlineUniformBlock -> Ptr ()
data' :: Ptr ()
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (WriteDescriptorSetInlineUniformBlock)
#endif
deriving instance Show WriteDescriptorSetInlineUniformBlock
instance ToCStruct WriteDescriptorSetInlineUniformBlock where
withCStruct :: forall b.
WriteDescriptorSetInlineUniformBlock
-> (Ptr WriteDescriptorSetInlineUniformBlock -> IO b) -> IO b
withCStruct WriteDescriptorSetInlineUniformBlock
x Ptr WriteDescriptorSetInlineUniformBlock -> IO b
f = Int -> (Ptr WriteDescriptorSetInlineUniformBlock -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((Ptr WriteDescriptorSetInlineUniformBlock -> IO b) -> IO b)
-> (Ptr WriteDescriptorSetInlineUniformBlock -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr WriteDescriptorSetInlineUniformBlock
p -> Ptr WriteDescriptorSetInlineUniformBlock
-> WriteDescriptorSetInlineUniformBlock -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr WriteDescriptorSetInlineUniformBlock
p WriteDescriptorSetInlineUniformBlock
x (Ptr WriteDescriptorSetInlineUniformBlock -> IO b
f Ptr WriteDescriptorSetInlineUniformBlock
p)
pokeCStruct :: forall b.
Ptr WriteDescriptorSetInlineUniformBlock
-> WriteDescriptorSetInlineUniformBlock -> IO b -> IO b
pokeCStruct Ptr WriteDescriptorSetInlineUniformBlock
p WriteDescriptorSetInlineUniformBlock{Word32
Ptr ()
data' :: Ptr ()
dataSize :: Word32
$sel:data':WriteDescriptorSetInlineUniformBlock :: WriteDescriptorSetInlineUniformBlock -> Ptr ()
$sel:dataSize:WriteDescriptorSetInlineUniformBlock :: WriteDescriptorSetInlineUniformBlock -> Word32
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr WriteDescriptorSetInlineUniformBlock
p Ptr WriteDescriptorSetInlineUniformBlock
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr WriteDescriptorSetInlineUniformBlock
p Ptr WriteDescriptorSetInlineUniformBlock -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr WriteDescriptorSetInlineUniformBlock
p Ptr WriteDescriptorSetInlineUniformBlock -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
dataSize)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr WriteDescriptorSetInlineUniformBlock
p Ptr WriteDescriptorSetInlineUniformBlock -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ()))) (Ptr ()
data')
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. Ptr WriteDescriptorSetInlineUniformBlock -> IO b -> IO b
pokeZeroCStruct Ptr WriteDescriptorSetInlineUniformBlock
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr WriteDescriptorSetInlineUniformBlock
p Ptr WriteDescriptorSetInlineUniformBlock
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr WriteDescriptorSetInlineUniformBlock
p Ptr WriteDescriptorSetInlineUniformBlock -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr WriteDescriptorSetInlineUniformBlock
p Ptr WriteDescriptorSetInlineUniformBlock -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr WriteDescriptorSetInlineUniformBlock
p Ptr WriteDescriptorSetInlineUniformBlock -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ()))) (Ptr ()
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct WriteDescriptorSetInlineUniformBlock where
peekCStruct :: Ptr WriteDescriptorSetInlineUniformBlock
-> IO WriteDescriptorSetInlineUniformBlock
peekCStruct Ptr WriteDescriptorSetInlineUniformBlock
p = do
Word32
dataSize <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr WriteDescriptorSetInlineUniformBlock
p Ptr WriteDescriptorSetInlineUniformBlock -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
Ptr ()
pData <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) ((Ptr WriteDescriptorSetInlineUniformBlock
p Ptr WriteDescriptorSetInlineUniformBlock -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ())))
WriteDescriptorSetInlineUniformBlock
-> IO WriteDescriptorSetInlineUniformBlock
forall (f :: * -> *) a. Applicative f => a -> f a
pure (WriteDescriptorSetInlineUniformBlock
-> IO WriteDescriptorSetInlineUniformBlock)
-> WriteDescriptorSetInlineUniformBlock
-> IO WriteDescriptorSetInlineUniformBlock
forall a b. (a -> b) -> a -> b
$ Word32 -> Ptr () -> WriteDescriptorSetInlineUniformBlock
WriteDescriptorSetInlineUniformBlock
Word32
dataSize Ptr ()
pData
instance Storable WriteDescriptorSetInlineUniformBlock where
sizeOf :: WriteDescriptorSetInlineUniformBlock -> Int
sizeOf ~WriteDescriptorSetInlineUniformBlock
_ = Int
32
alignment :: WriteDescriptorSetInlineUniformBlock -> Int
alignment ~WriteDescriptorSetInlineUniformBlock
_ = Int
8
peek :: Ptr WriteDescriptorSetInlineUniformBlock
-> IO WriteDescriptorSetInlineUniformBlock
peek = Ptr WriteDescriptorSetInlineUniformBlock
-> IO WriteDescriptorSetInlineUniformBlock
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr WriteDescriptorSetInlineUniformBlock
-> WriteDescriptorSetInlineUniformBlock -> IO ()
poke Ptr WriteDescriptorSetInlineUniformBlock
ptr WriteDescriptorSetInlineUniformBlock
poked = Ptr WriteDescriptorSetInlineUniformBlock
-> WriteDescriptorSetInlineUniformBlock -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr WriteDescriptorSetInlineUniformBlock
ptr WriteDescriptorSetInlineUniformBlock
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero WriteDescriptorSetInlineUniformBlock where
zero :: WriteDescriptorSetInlineUniformBlock
zero = Word32 -> Ptr () -> WriteDescriptorSetInlineUniformBlock
WriteDescriptorSetInlineUniformBlock
Word32
forall a. Zero a => a
zero
Ptr ()
forall a. Zero a => a
zero
data DescriptorPoolInlineUniformBlockCreateInfo = DescriptorPoolInlineUniformBlockCreateInfo
{
DescriptorPoolInlineUniformBlockCreateInfo -> Word32
maxInlineUniformBlockBindings :: Word32 }
deriving (Typeable, DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> Bool
(DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> Bool)
-> (DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> Bool)
-> Eq DescriptorPoolInlineUniformBlockCreateInfo
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> Bool
$c/= :: DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> Bool
== :: DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> Bool
$c== :: DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DescriptorPoolInlineUniformBlockCreateInfo)
#endif
deriving instance Show DescriptorPoolInlineUniformBlockCreateInfo
instance ToCStruct DescriptorPoolInlineUniformBlockCreateInfo where
withCStruct :: forall b.
DescriptorPoolInlineUniformBlockCreateInfo
-> (Ptr DescriptorPoolInlineUniformBlockCreateInfo -> IO b) -> IO b
withCStruct DescriptorPoolInlineUniformBlockCreateInfo
x Ptr DescriptorPoolInlineUniformBlockCreateInfo -> IO b
f = Int
-> (Ptr DescriptorPoolInlineUniformBlockCreateInfo -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr DescriptorPoolInlineUniformBlockCreateInfo -> IO b) -> IO b)
-> (Ptr DescriptorPoolInlineUniformBlockCreateInfo -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr DescriptorPoolInlineUniformBlockCreateInfo
p -> Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DescriptorPoolInlineUniformBlockCreateInfo
p DescriptorPoolInlineUniformBlockCreateInfo
x (Ptr DescriptorPoolInlineUniformBlockCreateInfo -> IO b
f Ptr DescriptorPoolInlineUniformBlockCreateInfo
p)
pokeCStruct :: forall b.
Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> IO b -> IO b
pokeCStruct Ptr DescriptorPoolInlineUniformBlockCreateInfo
p DescriptorPoolInlineUniformBlockCreateInfo{Word32
maxInlineUniformBlockBindings :: Word32
$sel:maxInlineUniformBlockBindings:DescriptorPoolInlineUniformBlockCreateInfo :: DescriptorPoolInlineUniformBlockCreateInfo -> Word32
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DescriptorPoolInlineUniformBlockCreateInfo
p Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DescriptorPoolInlineUniformBlockCreateInfo
p Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DescriptorPoolInlineUniformBlockCreateInfo
p Ptr DescriptorPoolInlineUniformBlockCreateInfo -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
maxInlineUniformBlockBindings)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr DescriptorPoolInlineUniformBlockCreateInfo -> IO b -> IO b
pokeZeroCStruct Ptr DescriptorPoolInlineUniformBlockCreateInfo
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DescriptorPoolInlineUniformBlockCreateInfo
p Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DescriptorPoolInlineUniformBlockCreateInfo
p Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr DescriptorPoolInlineUniformBlockCreateInfo
p Ptr DescriptorPoolInlineUniformBlockCreateInfo -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DescriptorPoolInlineUniformBlockCreateInfo where
peekCStruct :: Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> IO DescriptorPoolInlineUniformBlockCreateInfo
peekCStruct Ptr DescriptorPoolInlineUniformBlockCreateInfo
p = do
Word32
maxInlineUniformBlockBindings <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr DescriptorPoolInlineUniformBlockCreateInfo
p Ptr DescriptorPoolInlineUniformBlockCreateInfo -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
DescriptorPoolInlineUniformBlockCreateInfo
-> IO DescriptorPoolInlineUniformBlockCreateInfo
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DescriptorPoolInlineUniformBlockCreateInfo
-> IO DescriptorPoolInlineUniformBlockCreateInfo)
-> DescriptorPoolInlineUniformBlockCreateInfo
-> IO DescriptorPoolInlineUniformBlockCreateInfo
forall a b. (a -> b) -> a -> b
$ Word32 -> DescriptorPoolInlineUniformBlockCreateInfo
DescriptorPoolInlineUniformBlockCreateInfo
Word32
maxInlineUniformBlockBindings
instance Storable DescriptorPoolInlineUniformBlockCreateInfo where
sizeOf :: DescriptorPoolInlineUniformBlockCreateInfo -> Int
sizeOf ~DescriptorPoolInlineUniformBlockCreateInfo
_ = Int
24
alignment :: DescriptorPoolInlineUniformBlockCreateInfo -> Int
alignment ~DescriptorPoolInlineUniformBlockCreateInfo
_ = Int
8
peek :: Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> IO DescriptorPoolInlineUniformBlockCreateInfo
peek = Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> IO DescriptorPoolInlineUniformBlockCreateInfo
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> IO ()
poke Ptr DescriptorPoolInlineUniformBlockCreateInfo
ptr DescriptorPoolInlineUniformBlockCreateInfo
poked = Ptr DescriptorPoolInlineUniformBlockCreateInfo
-> DescriptorPoolInlineUniformBlockCreateInfo -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr DescriptorPoolInlineUniformBlockCreateInfo
ptr DescriptorPoolInlineUniformBlockCreateInfo
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DescriptorPoolInlineUniformBlockCreateInfo where
zero :: DescriptorPoolInlineUniformBlockCreateInfo
zero = Word32 -> DescriptorPoolInlineUniformBlockCreateInfo
DescriptorPoolInlineUniformBlockCreateInfo
Word32
forall a. Zero a => a
zero