{-# language CPP #-}
module Vulkan.Extensions.VK_KHR_dynamic_rendering ( cmdBeginRenderingKHR
, cmdUseRenderingKHR
, cmdEndRenderingKHR
, pattern PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
, pattern PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
, pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV
, PipelineRenderingCreateInfoKHR(..)
, RenderingInfoKHR(..)
, RenderingAttachmentInfoKHR(..)
, RenderingFragmentShadingRateAttachmentInfoKHR(..)
, RenderingFragmentDensityMapAttachmentInfoEXT(..)
, PhysicalDeviceDynamicRenderingFeaturesKHR(..)
, CommandBufferInheritanceRenderingInfoKHR(..)
, AttachmentSampleCountInfoAMD(..)
, MultiviewPerViewAttributesInfoNVX(..)
, RenderingFlagsKHR
, RenderingFlagBitsKHR( RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR
, RENDERING_SUSPENDING_BIT_KHR
, RENDERING_RESUMING_BIT_KHR
, ..
)
, AttachmentSampleCountInfoNV
, KHR_DYNAMIC_RENDERING_SPEC_VERSION
, pattern KHR_DYNAMIC_RENDERING_SPEC_VERSION
, KHR_DYNAMIC_RENDERING_EXTENSION_NAME
, pattern KHR_DYNAMIC_RENDERING_EXTENSION_NAME
) where
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Data.Typeable (eqT)
import Foreign.Marshal.Alloc (allocaBytes)
import GHC.IO (throwIO)
import GHC.Ptr (castPtr)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showString)
import Numeric (showHex)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Data.Vector (generateM)
import qualified Data.Vector (imapM_)
import qualified Data.Vector (length)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Control.Monad.IO.Class (MonadIO)
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Data.String (IsString)
import Data.Type.Equality ((:~:)(Refl))
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 GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Data.Vector (Vector)
import Vulkan.CStruct.Utils (advancePtrBytes)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.CStruct.Extends (forgetExtensions)
import Vulkan.Core10.Enums.AttachmentLoadOp (AttachmentLoadOp)
import Vulkan.Core10.Enums.AttachmentStoreOp (AttachmentStoreOp)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.CStruct.Extends (Chain)
import Vulkan.Core10.CommandBufferBuilding (ClearValue)
import Vulkan.Core10.Handles (CommandBuffer)
import Vulkan.Core10.Handles (CommandBuffer(..))
import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
import Vulkan.Core10.Handles (CommandBuffer_T)
import Vulkan.Dynamic (DeviceCmds(pVkCmdBeginRenderingKHR))
import Vulkan.Dynamic (DeviceCmds(pVkCmdEndRenderingKHR))
import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_group (DeviceGroupRenderPassBeginInfo)
import Vulkan.CStruct.Extends (Extends)
import Vulkan.CStruct.Extends (Extendss)
import Vulkan.CStruct.Extends (Extensible(..))
import Vulkan.Core10.FundamentalTypes (Extent2D)
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Enums.Format (Format)
import Vulkan.Core10.Enums.ImageLayout (ImageLayout)
import Vulkan.Core10.Handles (ImageView)
import Vulkan.CStruct.Extends (PokeChain)
import Vulkan.CStruct.Extends (PokeChain(..))
import Vulkan.Core10.FundamentalTypes (Rect2D)
import Vulkan.Core12.Enums.ResolveModeFlagBits (ResolveModeFlagBits)
import Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlagBits)
import Vulkan.CStruct.Extends (SomeStruct)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlags)
import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlagBits(PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT))
import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlags)
import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlagBits(PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDERING_INFO_KHR))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdBeginRenderingKHR
:: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct RenderingInfoKHR) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct RenderingInfoKHR) -> IO ()
cmdBeginRenderingKHR :: forall a io
. (Extendss RenderingInfoKHR a, PokeChain a, MonadIO io)
=>
CommandBuffer
->
(RenderingInfoKHR a)
-> io ()
cmdBeginRenderingKHR :: CommandBuffer -> RenderingInfoKHR a -> io ()
cmdBeginRenderingKHR CommandBuffer
commandBuffer RenderingInfoKHR a
renderingInfo = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ())
-> (ContT () IO () -> IO ()) -> ContT () IO () -> io ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT () IO () -> IO ()
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT () IO () -> io ()) -> ContT () IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkCmdBeginRenderingKHRPtr :: FunPtr
(Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ())
vkCmdBeginRenderingKHRPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ())
pVkCmdBeginRenderingKHR (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ())
vkCmdBeginRenderingKHRPtr FunPtr
(Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ())
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdBeginRenderingKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdBeginRenderingKHR' :: Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ()
vkCmdBeginRenderingKHR' = FunPtr
(Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ())
-> Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ()
mkVkCmdBeginRenderingKHR FunPtr
(Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ())
vkCmdBeginRenderingKHRPtr
Ptr (RenderingInfoKHR a)
pRenderingInfo <- ((Ptr (RenderingInfoKHR a) -> IO ()) -> IO ())
-> ContT () IO (Ptr (RenderingInfoKHR a))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (RenderingInfoKHR a) -> IO ()) -> IO ())
-> ContT () IO (Ptr (RenderingInfoKHR a)))
-> ((Ptr (RenderingInfoKHR a) -> IO ()) -> IO ())
-> ContT () IO (Ptr (RenderingInfoKHR a))
forall a b. (a -> b) -> a -> b
$ RenderingInfoKHR a -> (Ptr (RenderingInfoKHR a) -> IO ()) -> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (RenderingInfoKHR a
renderingInfo)
IO () -> ContT () IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT () IO ()) -> IO () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdBeginRenderingKHR" (Ptr CommandBuffer_T
-> ("pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR))
-> IO ()
vkCmdBeginRenderingKHR' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) (Ptr (RenderingInfoKHR a)
-> "pRenderingInfo" ::: Ptr (SomeStruct RenderingInfoKHR)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions Ptr (RenderingInfoKHR a)
pRenderingInfo))
() -> ContT () IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> ContT () IO ()) -> () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ()
cmdUseRenderingKHR :: forall a io r . (Extendss RenderingInfoKHR a, PokeChain a, MonadIO io) => CommandBuffer -> RenderingInfoKHR a -> io r -> io r
cmdUseRenderingKHR :: CommandBuffer -> RenderingInfoKHR a -> io r -> io r
cmdUseRenderingKHR CommandBuffer
commandBuffer RenderingInfoKHR a
pRenderingInfo io r
a =
(CommandBuffer -> RenderingInfoKHR a -> io ()
forall (a :: [*]) (io :: * -> *).
(Extendss RenderingInfoKHR a, PokeChain a, MonadIO io) =>
CommandBuffer -> RenderingInfoKHR a -> io ()
cmdBeginRenderingKHR CommandBuffer
commandBuffer RenderingInfoKHR a
pRenderingInfo) io () -> io r -> io r
forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
*> io r
a io r -> io () -> io r
forall (f :: * -> *) a b. Applicative f => f a -> f b -> f a
<* (CommandBuffer -> io ()
forall (io :: * -> *). MonadIO io => CommandBuffer -> io ()
cmdEndRenderingKHR CommandBuffer
commandBuffer)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdEndRenderingKHR
:: FunPtr (Ptr CommandBuffer_T -> IO ()) -> Ptr CommandBuffer_T -> IO ()
cmdEndRenderingKHR :: forall io
. (MonadIO io)
=>
CommandBuffer
-> io ()
cmdEndRenderingKHR :: CommandBuffer -> io ()
cmdEndRenderingKHR CommandBuffer
commandBuffer = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ()) -> IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkCmdEndRenderingKHRPtr :: FunPtr (Ptr CommandBuffer_T -> IO ())
vkCmdEndRenderingKHRPtr = DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO ())
pVkCmdEndRenderingKHR (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr (Ptr CommandBuffer_T -> IO ())
vkCmdEndRenderingKHRPtr FunPtr (Ptr CommandBuffer_T -> IO ())
-> FunPtr (Ptr CommandBuffer_T -> IO ()) -> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr (Ptr CommandBuffer_T -> IO ())
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdEndRenderingKHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdEndRenderingKHR' :: Ptr CommandBuffer_T -> IO ()
vkCmdEndRenderingKHR' = FunPtr (Ptr CommandBuffer_T -> IO ())
-> Ptr CommandBuffer_T -> IO ()
mkVkCmdEndRenderingKHR FunPtr (Ptr CommandBuffer_T -> IO ())
vkCmdEndRenderingKHRPtr
String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdEndRenderingKHR" (Ptr CommandBuffer_T -> IO ()
vkCmdEndRenderingKHR' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)))
() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ()
pattern $bPIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: PipelineCreateFlagBits
$mPIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: forall r.
PipelineCreateFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
pattern $bPIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: PipelineCreateFlagBits
$mPIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT :: forall r.
PipelineCreateFlagBits -> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
pattern $bSTRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV :: StructureType
$mSTRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV :: forall r. StructureType -> (Void# -> r) -> (Void# -> r) -> r
STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
data PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfoKHR
{
PipelineRenderingCreateInfoKHR -> Word32
viewMask :: Word32
,
PipelineRenderingCreateInfoKHR -> Vector Format
colorAttachmentFormats :: Vector Format
,
PipelineRenderingCreateInfoKHR -> Format
depthAttachmentFormat :: Format
,
PipelineRenderingCreateInfoKHR -> Format
stencilAttachmentFormat :: Format
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PipelineRenderingCreateInfoKHR)
#endif
deriving instance Show PipelineRenderingCreateInfoKHR
instance ToCStruct PipelineRenderingCreateInfoKHR where
withCStruct :: PipelineRenderingCreateInfoKHR
-> (Ptr PipelineRenderingCreateInfoKHR -> IO b) -> IO b
withCStruct PipelineRenderingCreateInfoKHR
x Ptr PipelineRenderingCreateInfoKHR -> IO b
f = Int -> (Ptr PipelineRenderingCreateInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 ((Ptr PipelineRenderingCreateInfoKHR -> IO b) -> IO b)
-> (Ptr PipelineRenderingCreateInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PipelineRenderingCreateInfoKHR
p -> Ptr PipelineRenderingCreateInfoKHR
-> PipelineRenderingCreateInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PipelineRenderingCreateInfoKHR
p PipelineRenderingCreateInfoKHR
x (Ptr PipelineRenderingCreateInfoKHR -> IO b
f Ptr PipelineRenderingCreateInfoKHR
p)
pokeCStruct :: Ptr PipelineRenderingCreateInfoKHR
-> PipelineRenderingCreateInfoKHR -> IO b -> IO b
pokeCStruct Ptr PipelineRenderingCreateInfoKHR
p PipelineRenderingCreateInfoKHR{Word32
Vector Format
Format
stencilAttachmentFormat :: Format
depthAttachmentFormat :: Format
colorAttachmentFormats :: Vector Format
viewMask :: Word32
$sel:stencilAttachmentFormat:PipelineRenderingCreateInfoKHR :: PipelineRenderingCreateInfoKHR -> Format
$sel:depthAttachmentFormat:PipelineRenderingCreateInfoKHR :: PipelineRenderingCreateInfoKHR -> Format
$sel:colorAttachmentFormats:PipelineRenderingCreateInfoKHR :: PipelineRenderingCreateInfoKHR -> Vector Format
$sel:viewMask:PipelineRenderingCreateInfoKHR :: PipelineRenderingCreateInfoKHR -> Word32
..} IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
viewMask)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector Format -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector Format -> Int) -> Vector Format -> Int
forall a b. (a -> b) -> a -> b
$ (Vector Format
colorAttachmentFormats)) :: Word32))
Ptr Format
pPColorAttachmentFormats' <- ((Ptr Format -> IO b) -> IO b) -> ContT b IO (Ptr Format)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Format -> IO b) -> IO b) -> ContT b IO (Ptr Format))
-> ((Ptr Format -> IO b) -> IO b) -> ContT b IO (Ptr Format)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr Format -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @Format ((Vector Format -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector Format
colorAttachmentFormats)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
4)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ (Int -> Format -> IO ()) -> Vector Format -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i Format
e -> Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Format
pPColorAttachmentFormats' Ptr Format -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr Format) (Format
e)) (Vector Format
colorAttachmentFormats)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr Format) -> Ptr Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr (Ptr Format)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr Format))) (Ptr Format
pPColorAttachmentFormats')
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Format)) (Format
depthAttachmentFormat)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Format)) (Format
stencilAttachmentFormat)
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr PipelineRenderingCreateInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr PipelineRenderingCreateInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> 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 PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PipelineRenderingCreateInfoKHR where
peekCStruct :: Ptr PipelineRenderingCreateInfoKHR
-> IO PipelineRenderingCreateInfoKHR
peekCStruct Ptr PipelineRenderingCreateInfoKHR
p = do
Word32
viewMask <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
Word32
colorAttachmentCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
Ptr Format
pColorAttachmentFormats <- Ptr (Ptr Format) -> IO (Ptr Format)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr Format) ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr (Ptr Format)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr Format)))
Vector Format
pColorAttachmentFormats' <- Int -> (Int -> IO Format) -> IO (Vector Format)
forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
colorAttachmentCount) (\Int
i -> Ptr Format -> IO Format
forall a. Storable a => Ptr a -> IO a
peek @Format ((Ptr Format
pColorAttachmentFormats Ptr Format -> Int -> Ptr Format
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr Format)))
Format
depthAttachmentFormat <- Ptr Format -> IO Format
forall a. Storable a => Ptr a -> IO a
peek @Format ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Format))
Format
stencilAttachmentFormat <- Ptr Format -> IO Format
forall a. Storable a => Ptr a -> IO a
peek @Format ((Ptr PipelineRenderingCreateInfoKHR
p Ptr PipelineRenderingCreateInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Format))
PipelineRenderingCreateInfoKHR -> IO PipelineRenderingCreateInfoKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PipelineRenderingCreateInfoKHR
-> IO PipelineRenderingCreateInfoKHR)
-> PipelineRenderingCreateInfoKHR
-> IO PipelineRenderingCreateInfoKHR
forall a b. (a -> b) -> a -> b
$ Word32
-> Vector Format
-> Format
-> Format
-> PipelineRenderingCreateInfoKHR
PipelineRenderingCreateInfoKHR
Word32
viewMask Vector Format
pColorAttachmentFormats' Format
depthAttachmentFormat Format
stencilAttachmentFormat
instance Zero PipelineRenderingCreateInfoKHR where
zero :: PipelineRenderingCreateInfoKHR
zero = Word32
-> Vector Format
-> Format
-> Format
-> PipelineRenderingCreateInfoKHR
PipelineRenderingCreateInfoKHR
Word32
forall a. Zero a => a
zero
Vector Format
forall a. Monoid a => a
mempty
Format
forall a. Zero a => a
zero
Format
forall a. Zero a => a
zero
data RenderingInfoKHR (es :: [Type]) = RenderingInfoKHR
{
RenderingInfoKHR es -> Chain es
next :: Chain es
,
RenderingInfoKHR es -> RenderingFlagsKHR
flags :: RenderingFlagsKHR
,
RenderingInfoKHR es -> Rect2D
renderArea :: Rect2D
,
RenderingInfoKHR es -> Word32
layerCount :: Word32
,
RenderingInfoKHR es -> Word32
viewMask :: Word32
,
RenderingInfoKHR es -> Vector RenderingAttachmentInfoKHR
colorAttachments :: Vector RenderingAttachmentInfoKHR
,
RenderingInfoKHR es -> Maybe RenderingAttachmentInfoKHR
depthAttachment :: Maybe RenderingAttachmentInfoKHR
,
RenderingInfoKHR es -> Maybe RenderingAttachmentInfoKHR
stencilAttachment :: Maybe RenderingAttachmentInfoKHR
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (RenderingInfoKHR (es :: [Type]))
#endif
deriving instance Show (Chain es) => Show (RenderingInfoKHR es)
instance Extensible RenderingInfoKHR where
extensibleTypeName :: String
extensibleTypeName = String
"RenderingInfoKHR"
setNext :: RenderingInfoKHR ds -> Chain es -> RenderingInfoKHR es
setNext RenderingInfoKHR{Maybe RenderingAttachmentInfoKHR
Word32
Vector RenderingAttachmentInfoKHR
Chain ds
Rect2D
RenderingFlagsKHR
stencilAttachment :: Maybe RenderingAttachmentInfoKHR
depthAttachment :: Maybe RenderingAttachmentInfoKHR
colorAttachments :: Vector RenderingAttachmentInfoKHR
viewMask :: Word32
layerCount :: Word32
renderArea :: Rect2D
flags :: RenderingFlagsKHR
next :: Chain ds
$sel:stencilAttachment:RenderingInfoKHR :: forall (es :: [*]).
RenderingInfoKHR es -> Maybe RenderingAttachmentInfoKHR
$sel:depthAttachment:RenderingInfoKHR :: forall (es :: [*]).
RenderingInfoKHR es -> Maybe RenderingAttachmentInfoKHR
$sel:colorAttachments:RenderingInfoKHR :: forall (es :: [*]).
RenderingInfoKHR es -> Vector RenderingAttachmentInfoKHR
$sel:viewMask:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Word32
$sel:layerCount:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Word32
$sel:renderArea:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Rect2D
$sel:flags:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> RenderingFlagsKHR
$sel:next:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Chain es
..} Chain es
next' = RenderingInfoKHR :: forall (es :: [*]).
Chain es
-> RenderingFlagsKHR
-> Rect2D
-> Word32
-> Word32
-> Vector RenderingAttachmentInfoKHR
-> Maybe RenderingAttachmentInfoKHR
-> Maybe RenderingAttachmentInfoKHR
-> RenderingInfoKHR es
RenderingInfoKHR{$sel:next:RenderingInfoKHR :: Chain es
next = Chain es
next', Maybe RenderingAttachmentInfoKHR
Word32
Vector RenderingAttachmentInfoKHR
Rect2D
RenderingFlagsKHR
stencilAttachment :: Maybe RenderingAttachmentInfoKHR
depthAttachment :: Maybe RenderingAttachmentInfoKHR
colorAttachments :: Vector RenderingAttachmentInfoKHR
viewMask :: Word32
layerCount :: Word32
renderArea :: Rect2D
flags :: RenderingFlagsKHR
$sel:stencilAttachment:RenderingInfoKHR :: Maybe RenderingAttachmentInfoKHR
$sel:depthAttachment:RenderingInfoKHR :: Maybe RenderingAttachmentInfoKHR
$sel:colorAttachments:RenderingInfoKHR :: Vector RenderingAttachmentInfoKHR
$sel:viewMask:RenderingInfoKHR :: Word32
$sel:layerCount:RenderingInfoKHR :: Word32
$sel:renderArea:RenderingInfoKHR :: Rect2D
$sel:flags:RenderingInfoKHR :: RenderingFlagsKHR
..}
getNext :: RenderingInfoKHR es -> Chain es
getNext RenderingInfoKHR{Maybe RenderingAttachmentInfoKHR
Word32
Vector RenderingAttachmentInfoKHR
Chain es
Rect2D
RenderingFlagsKHR
stencilAttachment :: Maybe RenderingAttachmentInfoKHR
depthAttachment :: Maybe RenderingAttachmentInfoKHR
colorAttachments :: Vector RenderingAttachmentInfoKHR
viewMask :: Word32
layerCount :: Word32
renderArea :: Rect2D
flags :: RenderingFlagsKHR
next :: Chain es
$sel:stencilAttachment:RenderingInfoKHR :: forall (es :: [*]).
RenderingInfoKHR es -> Maybe RenderingAttachmentInfoKHR
$sel:depthAttachment:RenderingInfoKHR :: forall (es :: [*]).
RenderingInfoKHR es -> Maybe RenderingAttachmentInfoKHR
$sel:colorAttachments:RenderingInfoKHR :: forall (es :: [*]).
RenderingInfoKHR es -> Vector RenderingAttachmentInfoKHR
$sel:viewMask:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Word32
$sel:layerCount:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Word32
$sel:renderArea:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Rect2D
$sel:flags:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> RenderingFlagsKHR
$sel:next:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Chain es
..} = Chain es
next
extends :: forall e b proxy. Typeable e => proxy e -> (Extends RenderingInfoKHR e => b) -> Maybe b
extends :: proxy e -> (Extends RenderingInfoKHR e => b) -> Maybe b
extends proxy e
_ Extends RenderingInfoKHR e => b
f
| Just e :~: MultiviewPerViewAttributesInfoNVX
Refl <- (Typeable e, Typeable MultiviewPerViewAttributesInfoNVX) =>
Maybe (e :~: MultiviewPerViewAttributesInfoNVX)
forall k (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
eqT @e @MultiviewPerViewAttributesInfoNVX = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends RenderingInfoKHR e => b
f
| Just e :~: RenderingFragmentDensityMapAttachmentInfoEXT
Refl <- (Typeable e,
Typeable RenderingFragmentDensityMapAttachmentInfoEXT) =>
Maybe (e :~: RenderingFragmentDensityMapAttachmentInfoEXT)
forall k (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
eqT @e @RenderingFragmentDensityMapAttachmentInfoEXT = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends RenderingInfoKHR e => b
f
| Just e :~: RenderingFragmentShadingRateAttachmentInfoKHR
Refl <- (Typeable e,
Typeable RenderingFragmentShadingRateAttachmentInfoKHR) =>
Maybe (e :~: RenderingFragmentShadingRateAttachmentInfoKHR)
forall k (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
eqT @e @RenderingFragmentShadingRateAttachmentInfoKHR = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends RenderingInfoKHR e => b
f
| Just e :~: DeviceGroupRenderPassBeginInfo
Refl <- (Typeable e, Typeable DeviceGroupRenderPassBeginInfo) =>
Maybe (e :~: DeviceGroupRenderPassBeginInfo)
forall k (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
eqT @e @DeviceGroupRenderPassBeginInfo = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends RenderingInfoKHR e => b
f
| Bool
otherwise = Maybe b
forall a. Maybe a
Nothing
instance (Extendss RenderingInfoKHR es, PokeChain es) => ToCStruct (RenderingInfoKHR es) where
withCStruct :: RenderingInfoKHR es -> (Ptr (RenderingInfoKHR es) -> IO b) -> IO b
withCStruct RenderingInfoKHR es
x Ptr (RenderingInfoKHR es) -> IO b
f = Int -> (Ptr (RenderingInfoKHR es) -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
72 ((Ptr (RenderingInfoKHR es) -> IO b) -> IO b)
-> (Ptr (RenderingInfoKHR es) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr (RenderingInfoKHR es)
p -> Ptr (RenderingInfoKHR es) -> RenderingInfoKHR es -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr (RenderingInfoKHR es)
p RenderingInfoKHR es
x (Ptr (RenderingInfoKHR es) -> IO b
f Ptr (RenderingInfoKHR es)
p)
pokeCStruct :: Ptr (RenderingInfoKHR es) -> RenderingInfoKHR es -> IO b -> IO b
pokeCStruct Ptr (RenderingInfoKHR es)
p RenderingInfoKHR{Maybe RenderingAttachmentInfoKHR
Word32
Vector RenderingAttachmentInfoKHR
Chain es
Rect2D
RenderingFlagsKHR
stencilAttachment :: Maybe RenderingAttachmentInfoKHR
depthAttachment :: Maybe RenderingAttachmentInfoKHR
colorAttachments :: Vector RenderingAttachmentInfoKHR
viewMask :: Word32
layerCount :: Word32
renderArea :: Rect2D
flags :: RenderingFlagsKHR
next :: Chain es
$sel:stencilAttachment:RenderingInfoKHR :: forall (es :: [*]).
RenderingInfoKHR es -> Maybe RenderingAttachmentInfoKHR
$sel:depthAttachment:RenderingInfoKHR :: forall (es :: [*]).
RenderingInfoKHR es -> Maybe RenderingAttachmentInfoKHR
$sel:colorAttachments:RenderingInfoKHR :: forall (es :: [*]).
RenderingInfoKHR es -> Vector RenderingAttachmentInfoKHR
$sel:viewMask:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Word32
$sel:layerCount:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Word32
$sel:renderArea:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Rect2D
$sel:flags:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> RenderingFlagsKHR
$sel:next:RenderingInfoKHR :: forall (es :: [*]). RenderingInfoKHR es -> Chain es
..} IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDERING_INFO_KHR)
Ptr ()
pNext'' <- (Ptr (Chain es) -> Ptr ())
-> ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Ptr (Chain es) -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr (ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ()))
-> (((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr (Chain es)))
-> ((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr ())
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr (Chain es))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ()))
-> ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ Chain es -> (Ptr (Chain es) -> IO b) -> IO b
forall (es :: [*]) a.
PokeChain es =>
Chain es -> (Ptr (Chain es) -> IO a) -> IO a
withChain (Chain es
next)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) Ptr ()
pNext''
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr RenderingFlagsKHR -> RenderingFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr RenderingFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr RenderingFlagsKHR)) (RenderingFlagsKHR
flags)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Rect2D -> Rect2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr Rect2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Rect2D)) (Rect2D
renderArea)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Word32)) (Word32
layerCount)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Word32)) (Word32
viewMask)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector RenderingAttachmentInfoKHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector RenderingAttachmentInfoKHR -> Int)
-> Vector RenderingAttachmentInfoKHR -> Int
forall a b. (a -> b) -> a -> b
$ (Vector RenderingAttachmentInfoKHR
colorAttachments)) :: Word32))
Ptr RenderingAttachmentInfoKHR
pPColorAttachments' <- ((Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr RenderingAttachmentInfoKHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr RenderingAttachmentInfoKHR))
-> ((Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr RenderingAttachmentInfoKHR)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @RenderingAttachmentInfoKHR ((Vector RenderingAttachmentInfoKHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector RenderingAttachmentInfoKHR
colorAttachments)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
72)
(Int -> RenderingAttachmentInfoKHR -> ContT b IO ())
-> Vector RenderingAttachmentInfoKHR -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i RenderingAttachmentInfoKHR
e -> ((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr RenderingAttachmentInfoKHR
-> RenderingAttachmentInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct (Ptr RenderingAttachmentInfoKHR
pPColorAttachments' Ptr RenderingAttachmentInfoKHR
-> Int -> Ptr RenderingAttachmentInfoKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
72 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr RenderingAttachmentInfoKHR) (RenderingAttachmentInfoKHR
e) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())) (Vector RenderingAttachmentInfoKHR
colorAttachments)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr RenderingAttachmentInfoKHR)
-> Ptr RenderingAttachmentInfoKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es)
-> Int -> Ptr (Ptr RenderingAttachmentInfoKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr (Ptr RenderingAttachmentInfoKHR))) (Ptr RenderingAttachmentInfoKHR
pPColorAttachments')
Ptr RenderingAttachmentInfoKHR
pDepthAttachment'' <- case (Maybe RenderingAttachmentInfoKHR
depthAttachment) of
Maybe RenderingAttachmentInfoKHR
Nothing -> Ptr RenderingAttachmentInfoKHR
-> ContT b IO (Ptr RenderingAttachmentInfoKHR)
forall (f :: * -> *) a. Applicative f => a -> f a
pure Ptr RenderingAttachmentInfoKHR
forall a. Ptr a
nullPtr
Just RenderingAttachmentInfoKHR
j -> ((Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr RenderingAttachmentInfoKHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr RenderingAttachmentInfoKHR))
-> ((Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr RenderingAttachmentInfoKHR)
forall a b. (a -> b) -> a -> b
$ RenderingAttachmentInfoKHR
-> (Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (RenderingAttachmentInfoKHR
j)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr RenderingAttachmentInfoKHR)
-> Ptr RenderingAttachmentInfoKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es)
-> Int -> Ptr (Ptr RenderingAttachmentInfoKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr (Ptr RenderingAttachmentInfoKHR))) Ptr RenderingAttachmentInfoKHR
pDepthAttachment''
Ptr RenderingAttachmentInfoKHR
pStencilAttachment'' <- case (Maybe RenderingAttachmentInfoKHR
stencilAttachment) of
Maybe RenderingAttachmentInfoKHR
Nothing -> Ptr RenderingAttachmentInfoKHR
-> ContT b IO (Ptr RenderingAttachmentInfoKHR)
forall (f :: * -> *) a. Applicative f => a -> f a
pure Ptr RenderingAttachmentInfoKHR
forall a. Ptr a
nullPtr
Just RenderingAttachmentInfoKHR
j -> ((Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr RenderingAttachmentInfoKHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr RenderingAttachmentInfoKHR))
-> ((Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr RenderingAttachmentInfoKHR)
forall a b. (a -> b) -> a -> b
$ RenderingAttachmentInfoKHR
-> (Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (RenderingAttachmentInfoKHR
j)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr RenderingAttachmentInfoKHR)
-> Ptr RenderingAttachmentInfoKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es)
-> Int -> Ptr (Ptr RenderingAttachmentInfoKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr (Ptr RenderingAttachmentInfoKHR))) Ptr RenderingAttachmentInfoKHR
pStencilAttachment''
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
72
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr (RenderingInfoKHR es) -> IO b -> IO b
pokeZeroCStruct Ptr (RenderingInfoKHR es)
p IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDERING_INFO_KHR)
Ptr ()
pNext' <- (Ptr (Chain es) -> Ptr ())
-> ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ())
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Ptr (Chain es) -> Ptr ()
forall a b. Ptr a -> Ptr b
castPtr (ContT b IO (Ptr (Chain es)) -> ContT b IO (Ptr ()))
-> (((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr (Chain es)))
-> ((Ptr (Chain es) -> IO b) -> IO b)
-> ContT b IO (Ptr ())
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr (Chain es))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ()))
-> ((Ptr (Chain es) -> IO b) -> IO b) -> ContT b IO (Ptr ())
forall a b. (a -> b) -> a -> b
$ forall a. PokeChain es => (Ptr (Chain es) -> IO a) -> IO a
forall (es :: [*]) a.
PokeChain es =>
(Ptr (Chain es) -> IO a) -> IO a
withZeroChain @es
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) Ptr ()
pNext'
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Rect2D -> Rect2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr Rect2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Rect2D)) (Rect2D
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (RenderingInfoKHR es)
p Ptr (RenderingInfoKHR es) -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
instance es ~ '[] => Zero (RenderingInfoKHR es) where
zero :: RenderingInfoKHR es
zero = Chain es
-> RenderingFlagsKHR
-> Rect2D
-> Word32
-> Word32
-> Vector RenderingAttachmentInfoKHR
-> Maybe RenderingAttachmentInfoKHR
-> Maybe RenderingAttachmentInfoKHR
-> RenderingInfoKHR es
forall (es :: [*]).
Chain es
-> RenderingFlagsKHR
-> Rect2D
-> Word32
-> Word32
-> Vector RenderingAttachmentInfoKHR
-> Maybe RenderingAttachmentInfoKHR
-> Maybe RenderingAttachmentInfoKHR
-> RenderingInfoKHR es
RenderingInfoKHR
()
RenderingFlagsKHR
forall a. Zero a => a
zero
Rect2D
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Vector RenderingAttachmentInfoKHR
forall a. Monoid a => a
mempty
Maybe RenderingAttachmentInfoKHR
forall a. Maybe a
Nothing
Maybe RenderingAttachmentInfoKHR
forall a. Maybe a
Nothing
data RenderingAttachmentInfoKHR = RenderingAttachmentInfoKHR
{
RenderingAttachmentInfoKHR -> ImageView
imageView :: ImageView
,
RenderingAttachmentInfoKHR -> ImageLayout
imageLayout :: ImageLayout
,
RenderingAttachmentInfoKHR -> ResolveModeFlagBits
resolveMode :: ResolveModeFlagBits
,
RenderingAttachmentInfoKHR -> ImageView
resolveImageView :: ImageView
,
RenderingAttachmentInfoKHR -> ImageLayout
resolveImageLayout :: ImageLayout
,
RenderingAttachmentInfoKHR -> AttachmentLoadOp
loadOp :: AttachmentLoadOp
,
RenderingAttachmentInfoKHR -> AttachmentStoreOp
storeOp :: AttachmentStoreOp
,
RenderingAttachmentInfoKHR -> ClearValue
clearValue :: ClearValue
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (RenderingAttachmentInfoKHR)
#endif
deriving instance Show RenderingAttachmentInfoKHR
instance ToCStruct RenderingAttachmentInfoKHR where
withCStruct :: RenderingAttachmentInfoKHR
-> (Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b
withCStruct RenderingAttachmentInfoKHR
x Ptr RenderingAttachmentInfoKHR -> IO b
f = Int -> (Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
72 ((Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b)
-> (Ptr RenderingAttachmentInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr RenderingAttachmentInfoKHR
p -> Ptr RenderingAttachmentInfoKHR
-> RenderingAttachmentInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr RenderingAttachmentInfoKHR
p RenderingAttachmentInfoKHR
x (Ptr RenderingAttachmentInfoKHR -> IO b
f Ptr RenderingAttachmentInfoKHR
p)
pokeCStruct :: Ptr RenderingAttachmentInfoKHR
-> RenderingAttachmentInfoKHR -> IO b -> IO b
pokeCStruct Ptr RenderingAttachmentInfoKHR
p RenderingAttachmentInfoKHR{ImageLayout
ImageView
ResolveModeFlagBits
AttachmentStoreOp
AttachmentLoadOp
ClearValue
clearValue :: ClearValue
storeOp :: AttachmentStoreOp
loadOp :: AttachmentLoadOp
resolveImageLayout :: ImageLayout
resolveImageView :: ImageView
resolveMode :: ResolveModeFlagBits
imageLayout :: ImageLayout
imageView :: ImageView
$sel:clearValue:RenderingAttachmentInfoKHR :: RenderingAttachmentInfoKHR -> ClearValue
$sel:storeOp:RenderingAttachmentInfoKHR :: RenderingAttachmentInfoKHR -> AttachmentStoreOp
$sel:loadOp:RenderingAttachmentInfoKHR :: RenderingAttachmentInfoKHR -> AttachmentLoadOp
$sel:resolveImageLayout:RenderingAttachmentInfoKHR :: RenderingAttachmentInfoKHR -> ImageLayout
$sel:resolveImageView:RenderingAttachmentInfoKHR :: RenderingAttachmentInfoKHR -> ImageView
$sel:resolveMode:RenderingAttachmentInfoKHR :: RenderingAttachmentInfoKHR -> ResolveModeFlagBits
$sel:imageLayout:RenderingAttachmentInfoKHR :: RenderingAttachmentInfoKHR -> ImageLayout
$sel:imageView:RenderingAttachmentInfoKHR :: RenderingAttachmentInfoKHR -> ImageView
..} IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ImageView -> ImageView -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr ImageView
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageView)) (ImageView
imageView)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ImageLayout -> ImageLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr ImageLayout)) (ImageLayout
imageLayout)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ResolveModeFlagBits -> ResolveModeFlagBits -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr ResolveModeFlagBits
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr ResolveModeFlagBits)) (ResolveModeFlagBits
resolveMode)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ImageView -> ImageView -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr ImageView
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr ImageView)) (ImageView
resolveImageView)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ImageLayout -> ImageLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr ImageLayout)) (ImageLayout
resolveImageLayout)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr AttachmentLoadOp -> AttachmentLoadOp -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr AttachmentLoadOp
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr AttachmentLoadOp)) (AttachmentLoadOp
loadOp)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr AttachmentStoreOp -> AttachmentStoreOp -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr AttachmentStoreOp
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr AttachmentStoreOp)) (AttachmentStoreOp
storeOp)
((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ClearValue -> ClearValue -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr ClearValue
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr ClearValue)) (ClearValue
clearValue) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
72
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr RenderingAttachmentInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr RenderingAttachmentInfoKHR
p IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO_KHR)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ImageLayout -> ImageLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr ImageLayout)) (ImageLayout
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ImageLayout -> ImageLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr ImageLayout)) (ImageLayout
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr AttachmentLoadOp -> AttachmentLoadOp -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr AttachmentLoadOp
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr AttachmentLoadOp)) (AttachmentLoadOp
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr AttachmentStoreOp -> AttachmentStoreOp -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr AttachmentStoreOp
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr AttachmentStoreOp)) (AttachmentStoreOp
forall a. Zero a => a
zero)
((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ClearValue -> ClearValue -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr RenderingAttachmentInfoKHR
p Ptr RenderingAttachmentInfoKHR -> Int -> Ptr ClearValue
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr ClearValue)) (ClearValue
forall a. Zero a => a
zero) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
instance Zero RenderingAttachmentInfoKHR where
zero :: RenderingAttachmentInfoKHR
zero = ImageView
-> ImageLayout
-> ResolveModeFlagBits
-> ImageView
-> ImageLayout
-> AttachmentLoadOp
-> AttachmentStoreOp
-> ClearValue
-> RenderingAttachmentInfoKHR
RenderingAttachmentInfoKHR
ImageView
forall a. Zero a => a
zero
ImageLayout
forall a. Zero a => a
zero
ResolveModeFlagBits
forall a. Zero a => a
zero
ImageView
forall a. Zero a => a
zero
ImageLayout
forall a. Zero a => a
zero
AttachmentLoadOp
forall a. Zero a => a
zero
AttachmentStoreOp
forall a. Zero a => a
zero
ClearValue
forall a. Zero a => a
zero
data RenderingFragmentShadingRateAttachmentInfoKHR = RenderingFragmentShadingRateAttachmentInfoKHR
{
RenderingFragmentShadingRateAttachmentInfoKHR -> ImageView
imageView :: ImageView
,
RenderingFragmentShadingRateAttachmentInfoKHR -> ImageLayout
imageLayout :: ImageLayout
,
RenderingFragmentShadingRateAttachmentInfoKHR -> Extent2D
shadingRateAttachmentTexelSize :: Extent2D
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (RenderingFragmentShadingRateAttachmentInfoKHR)
#endif
deriving instance Show RenderingFragmentShadingRateAttachmentInfoKHR
instance ToCStruct RenderingFragmentShadingRateAttachmentInfoKHR where
withCStruct :: RenderingFragmentShadingRateAttachmentInfoKHR
-> (Ptr RenderingFragmentShadingRateAttachmentInfoKHR -> IO b)
-> IO b
withCStruct RenderingFragmentShadingRateAttachmentInfoKHR
x Ptr RenderingFragmentShadingRateAttachmentInfoKHR -> IO b
f = Int
-> (Ptr RenderingFragmentShadingRateAttachmentInfoKHR -> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR -> IO b)
-> IO b)
-> (Ptr RenderingFragmentShadingRateAttachmentInfoKHR -> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p -> Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> RenderingFragmentShadingRateAttachmentInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p RenderingFragmentShadingRateAttachmentInfoKHR
x (Ptr RenderingFragmentShadingRateAttachmentInfoKHR -> IO b
f Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p)
pokeCStruct :: Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> RenderingFragmentShadingRateAttachmentInfoKHR -> IO b -> IO b
pokeCStruct Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p RenderingFragmentShadingRateAttachmentInfoKHR{ImageLayout
Extent2D
ImageView
shadingRateAttachmentTexelSize :: Extent2D
imageLayout :: ImageLayout
imageView :: ImageView
$sel:shadingRateAttachmentTexelSize:RenderingFragmentShadingRateAttachmentInfoKHR :: RenderingFragmentShadingRateAttachmentInfoKHR -> Extent2D
$sel:imageLayout:RenderingFragmentShadingRateAttachmentInfoKHR :: RenderingFragmentShadingRateAttachmentInfoKHR -> ImageLayout
$sel:imageView:RenderingFragmentShadingRateAttachmentInfoKHR :: RenderingFragmentShadingRateAttachmentInfoKHR -> ImageView
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageView -> ImageView -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr ImageView
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageView)) (ImageView
imageView)
Ptr ImageLayout -> ImageLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr ImageLayout)) (ImageLayout
imageLayout)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Extent2D)) (Extent2D
shadingRateAttachmentTexelSize)
IO b
f
cStructSize :: Int
cStructSize = Int
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr RenderingFragmentShadingRateAttachmentInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageLayout -> ImageLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr ImageLayout)) (ImageLayout
forall a. Zero a => a
zero)
Ptr Extent2D -> Extent2D -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Extent2D)) (Extent2D
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct RenderingFragmentShadingRateAttachmentInfoKHR where
peekCStruct :: Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> IO RenderingFragmentShadingRateAttachmentInfoKHR
peekCStruct Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p = do
ImageView
imageView <- Ptr ImageView -> IO ImageView
forall a. Storable a => Ptr a -> IO a
peek @ImageView ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr ImageView
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageView))
ImageLayout
imageLayout <- Ptr ImageLayout -> IO ImageLayout
forall a. Storable a => Ptr a -> IO a
peek @ImageLayout ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr ImageLayout))
Extent2D
shadingRateAttachmentTexelSize <- Ptr Extent2D -> IO Extent2D
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @Extent2D ((Ptr RenderingFragmentShadingRateAttachmentInfoKHR
p Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> Int -> Ptr Extent2D
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Extent2D))
RenderingFragmentShadingRateAttachmentInfoKHR
-> IO RenderingFragmentShadingRateAttachmentInfoKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (RenderingFragmentShadingRateAttachmentInfoKHR
-> IO RenderingFragmentShadingRateAttachmentInfoKHR)
-> RenderingFragmentShadingRateAttachmentInfoKHR
-> IO RenderingFragmentShadingRateAttachmentInfoKHR
forall a b. (a -> b) -> a -> b
$ ImageView
-> ImageLayout
-> Extent2D
-> RenderingFragmentShadingRateAttachmentInfoKHR
RenderingFragmentShadingRateAttachmentInfoKHR
ImageView
imageView ImageLayout
imageLayout Extent2D
shadingRateAttachmentTexelSize
instance Storable RenderingFragmentShadingRateAttachmentInfoKHR where
sizeOf :: RenderingFragmentShadingRateAttachmentInfoKHR -> Int
sizeOf ~RenderingFragmentShadingRateAttachmentInfoKHR
_ = Int
40
alignment :: RenderingFragmentShadingRateAttachmentInfoKHR -> Int
alignment ~RenderingFragmentShadingRateAttachmentInfoKHR
_ = Int
8
peek :: Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> IO RenderingFragmentShadingRateAttachmentInfoKHR
peek = Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> IO RenderingFragmentShadingRateAttachmentInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> RenderingFragmentShadingRateAttachmentInfoKHR -> IO ()
poke Ptr RenderingFragmentShadingRateAttachmentInfoKHR
ptr RenderingFragmentShadingRateAttachmentInfoKHR
poked = Ptr RenderingFragmentShadingRateAttachmentInfoKHR
-> RenderingFragmentShadingRateAttachmentInfoKHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr RenderingFragmentShadingRateAttachmentInfoKHR
ptr RenderingFragmentShadingRateAttachmentInfoKHR
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero RenderingFragmentShadingRateAttachmentInfoKHR where
zero :: RenderingFragmentShadingRateAttachmentInfoKHR
zero = ImageView
-> ImageLayout
-> Extent2D
-> RenderingFragmentShadingRateAttachmentInfoKHR
RenderingFragmentShadingRateAttachmentInfoKHR
ImageView
forall a. Zero a => a
zero
ImageLayout
forall a. Zero a => a
zero
Extent2D
forall a. Zero a => a
zero
data RenderingFragmentDensityMapAttachmentInfoEXT = RenderingFragmentDensityMapAttachmentInfoEXT
{
RenderingFragmentDensityMapAttachmentInfoEXT -> ImageView
imageView :: ImageView
,
RenderingFragmentDensityMapAttachmentInfoEXT -> ImageLayout
imageLayout :: ImageLayout
}
deriving (Typeable, RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> Bool
(RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> Bool)
-> (RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> Bool)
-> Eq RenderingFragmentDensityMapAttachmentInfoEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> Bool
$c/= :: RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> Bool
== :: RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> Bool
$c== :: RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (RenderingFragmentDensityMapAttachmentInfoEXT)
#endif
deriving instance Show RenderingFragmentDensityMapAttachmentInfoEXT
instance ToCStruct RenderingFragmentDensityMapAttachmentInfoEXT where
withCStruct :: RenderingFragmentDensityMapAttachmentInfoEXT
-> (Ptr RenderingFragmentDensityMapAttachmentInfoEXT -> IO b)
-> IO b
withCStruct RenderingFragmentDensityMapAttachmentInfoEXT
x Ptr RenderingFragmentDensityMapAttachmentInfoEXT -> IO b
f = Int
-> (Ptr RenderingFragmentDensityMapAttachmentInfoEXT -> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT -> IO b)
-> IO b)
-> (Ptr RenderingFragmentDensityMapAttachmentInfoEXT -> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p -> Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p RenderingFragmentDensityMapAttachmentInfoEXT
x (Ptr RenderingFragmentDensityMapAttachmentInfoEXT -> IO b
f Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p)
pokeCStruct :: Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> IO b -> IO b
pokeCStruct Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p RenderingFragmentDensityMapAttachmentInfoEXT{ImageLayout
ImageView
imageLayout :: ImageLayout
imageView :: ImageView
$sel:imageLayout:RenderingFragmentDensityMapAttachmentInfoEXT :: RenderingFragmentDensityMapAttachmentInfoEXT -> ImageLayout
$sel:imageView:RenderingFragmentDensityMapAttachmentInfoEXT :: RenderingFragmentDensityMapAttachmentInfoEXT -> ImageView
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageView -> ImageView -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> Int -> Ptr ImageView
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageView)) (ImageView
imageView)
Ptr ImageLayout -> ImageLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr ImageLayout)) (ImageLayout
imageLayout)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr RenderingFragmentDensityMapAttachmentInfoEXT -> IO b -> IO b
pokeZeroCStruct Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ImageView -> ImageView -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> Int -> Ptr ImageView
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageView)) (ImageView
forall a. Zero a => a
zero)
Ptr ImageLayout -> ImageLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr ImageLayout)) (ImageLayout
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct RenderingFragmentDensityMapAttachmentInfoEXT where
peekCStruct :: Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> IO RenderingFragmentDensityMapAttachmentInfoEXT
peekCStruct Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p = do
ImageView
imageView <- Ptr ImageView -> IO ImageView
forall a. Storable a => Ptr a -> IO a
peek @ImageView ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> Int -> Ptr ImageView
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ImageView))
ImageLayout
imageLayout <- Ptr ImageLayout -> IO ImageLayout
forall a. Storable a => Ptr a -> IO a
peek @ImageLayout ((Ptr RenderingFragmentDensityMapAttachmentInfoEXT
p Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr ImageLayout))
RenderingFragmentDensityMapAttachmentInfoEXT
-> IO RenderingFragmentDensityMapAttachmentInfoEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (RenderingFragmentDensityMapAttachmentInfoEXT
-> IO RenderingFragmentDensityMapAttachmentInfoEXT)
-> RenderingFragmentDensityMapAttachmentInfoEXT
-> IO RenderingFragmentDensityMapAttachmentInfoEXT
forall a b. (a -> b) -> a -> b
$ ImageView
-> ImageLayout -> RenderingFragmentDensityMapAttachmentInfoEXT
RenderingFragmentDensityMapAttachmentInfoEXT
ImageView
imageView ImageLayout
imageLayout
instance Storable RenderingFragmentDensityMapAttachmentInfoEXT where
sizeOf :: RenderingFragmentDensityMapAttachmentInfoEXT -> Int
sizeOf ~RenderingFragmentDensityMapAttachmentInfoEXT
_ = Int
32
alignment :: RenderingFragmentDensityMapAttachmentInfoEXT -> Int
alignment ~RenderingFragmentDensityMapAttachmentInfoEXT
_ = Int
8
peek :: Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> IO RenderingFragmentDensityMapAttachmentInfoEXT
peek = Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> IO RenderingFragmentDensityMapAttachmentInfoEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> IO ()
poke Ptr RenderingFragmentDensityMapAttachmentInfoEXT
ptr RenderingFragmentDensityMapAttachmentInfoEXT
poked = Ptr RenderingFragmentDensityMapAttachmentInfoEXT
-> RenderingFragmentDensityMapAttachmentInfoEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr RenderingFragmentDensityMapAttachmentInfoEXT
ptr RenderingFragmentDensityMapAttachmentInfoEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero RenderingFragmentDensityMapAttachmentInfoEXT where
zero :: RenderingFragmentDensityMapAttachmentInfoEXT
zero = ImageView
-> ImageLayout -> RenderingFragmentDensityMapAttachmentInfoEXT
RenderingFragmentDensityMapAttachmentInfoEXT
ImageView
forall a. Zero a => a
zero
ImageLayout
forall a. Zero a => a
zero
data PhysicalDeviceDynamicRenderingFeaturesKHR = PhysicalDeviceDynamicRenderingFeaturesKHR
{
PhysicalDeviceDynamicRenderingFeaturesKHR -> Bool
dynamicRendering :: Bool }
deriving (Typeable, PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> Bool
(PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> Bool)
-> (PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> Bool)
-> Eq PhysicalDeviceDynamicRenderingFeaturesKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> Bool
$c/= :: PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> Bool
== :: PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> Bool
$c== :: PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceDynamicRenderingFeaturesKHR)
#endif
deriving instance Show PhysicalDeviceDynamicRenderingFeaturesKHR
instance ToCStruct PhysicalDeviceDynamicRenderingFeaturesKHR where
withCStruct :: PhysicalDeviceDynamicRenderingFeaturesKHR
-> (Ptr PhysicalDeviceDynamicRenderingFeaturesKHR -> IO b) -> IO b
withCStruct PhysicalDeviceDynamicRenderingFeaturesKHR
x Ptr PhysicalDeviceDynamicRenderingFeaturesKHR -> IO b
f = Int
-> (Ptr PhysicalDeviceDynamicRenderingFeaturesKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceDynamicRenderingFeaturesKHR -> IO b) -> IO b)
-> (Ptr PhysicalDeviceDynamicRenderingFeaturesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p -> Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p PhysicalDeviceDynamicRenderingFeaturesKHR
x (Ptr PhysicalDeviceDynamicRenderingFeaturesKHR -> IO b
f Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p)
pokeCStruct :: Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p PhysicalDeviceDynamicRenderingFeaturesKHR{Bool
dynamicRendering :: Bool
$sel:dynamicRendering:PhysicalDeviceDynamicRenderingFeaturesKHR :: PhysicalDeviceDynamicRenderingFeaturesKHR -> Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> 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 PhysicalDeviceDynamicRenderingFeaturesKHR
p Ptr PhysicalDeviceDynamicRenderingFeaturesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
dynamicRendering))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr PhysicalDeviceDynamicRenderingFeaturesKHR -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> 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 PhysicalDeviceDynamicRenderingFeaturesKHR
p Ptr PhysicalDeviceDynamicRenderingFeaturesKHR -> 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))
IO b
f
instance FromCStruct PhysicalDeviceDynamicRenderingFeaturesKHR where
peekCStruct :: Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> IO PhysicalDeviceDynamicRenderingFeaturesKHR
peekCStruct Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p = do
Bool32
dynamicRendering <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
p Ptr PhysicalDeviceDynamicRenderingFeaturesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
PhysicalDeviceDynamicRenderingFeaturesKHR
-> IO PhysicalDeviceDynamicRenderingFeaturesKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceDynamicRenderingFeaturesKHR
-> IO PhysicalDeviceDynamicRenderingFeaturesKHR)
-> PhysicalDeviceDynamicRenderingFeaturesKHR
-> IO PhysicalDeviceDynamicRenderingFeaturesKHR
forall a b. (a -> b) -> a -> b
$ Bool -> PhysicalDeviceDynamicRenderingFeaturesKHR
PhysicalDeviceDynamicRenderingFeaturesKHR
(Bool32 -> Bool
bool32ToBool Bool32
dynamicRendering)
instance Storable PhysicalDeviceDynamicRenderingFeaturesKHR where
sizeOf :: PhysicalDeviceDynamicRenderingFeaturesKHR -> Int
sizeOf ~PhysicalDeviceDynamicRenderingFeaturesKHR
_ = Int
24
alignment :: PhysicalDeviceDynamicRenderingFeaturesKHR -> Int
alignment ~PhysicalDeviceDynamicRenderingFeaturesKHR
_ = Int
8
peek :: Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> IO PhysicalDeviceDynamicRenderingFeaturesKHR
peek = Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> IO PhysicalDeviceDynamicRenderingFeaturesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> IO ()
poke Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
ptr PhysicalDeviceDynamicRenderingFeaturesKHR
poked = Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
-> PhysicalDeviceDynamicRenderingFeaturesKHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceDynamicRenderingFeaturesKHR
ptr PhysicalDeviceDynamicRenderingFeaturesKHR
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceDynamicRenderingFeaturesKHR where
zero :: PhysicalDeviceDynamicRenderingFeaturesKHR
zero = Bool -> PhysicalDeviceDynamicRenderingFeaturesKHR
PhysicalDeviceDynamicRenderingFeaturesKHR
Bool
forall a. Zero a => a
zero
data CommandBufferInheritanceRenderingInfoKHR = CommandBufferInheritanceRenderingInfoKHR
{
CommandBufferInheritanceRenderingInfoKHR -> RenderingFlagsKHR
flags :: RenderingFlagsKHR
,
CommandBufferInheritanceRenderingInfoKHR -> Word32
viewMask :: Word32
,
CommandBufferInheritanceRenderingInfoKHR -> Vector Format
colorAttachmentFormats :: Vector Format
,
CommandBufferInheritanceRenderingInfoKHR -> Format
depthAttachmentFormat :: Format
,
CommandBufferInheritanceRenderingInfoKHR -> Format
stencilAttachmentFormat :: Format
,
CommandBufferInheritanceRenderingInfoKHR -> SampleCountFlagBits
rasterizationSamples :: SampleCountFlagBits
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (CommandBufferInheritanceRenderingInfoKHR)
#endif
deriving instance Show CommandBufferInheritanceRenderingInfoKHR
instance ToCStruct CommandBufferInheritanceRenderingInfoKHR where
withCStruct :: CommandBufferInheritanceRenderingInfoKHR
-> (Ptr CommandBufferInheritanceRenderingInfoKHR -> IO b) -> IO b
withCStruct CommandBufferInheritanceRenderingInfoKHR
x Ptr CommandBufferInheritanceRenderingInfoKHR -> IO b
f = Int
-> (Ptr CommandBufferInheritanceRenderingInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
56 ((Ptr CommandBufferInheritanceRenderingInfoKHR -> IO b) -> IO b)
-> (Ptr CommandBufferInheritanceRenderingInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr CommandBufferInheritanceRenderingInfoKHR
p -> Ptr CommandBufferInheritanceRenderingInfoKHR
-> CommandBufferInheritanceRenderingInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr CommandBufferInheritanceRenderingInfoKHR
p CommandBufferInheritanceRenderingInfoKHR
x (Ptr CommandBufferInheritanceRenderingInfoKHR -> IO b
f Ptr CommandBufferInheritanceRenderingInfoKHR
p)
pokeCStruct :: Ptr CommandBufferInheritanceRenderingInfoKHR
-> CommandBufferInheritanceRenderingInfoKHR -> IO b -> IO b
pokeCStruct Ptr CommandBufferInheritanceRenderingInfoKHR
p CommandBufferInheritanceRenderingInfoKHR{Word32
Vector Format
Format
SampleCountFlagBits
RenderingFlagsKHR
rasterizationSamples :: SampleCountFlagBits
stencilAttachmentFormat :: Format
depthAttachmentFormat :: Format
colorAttachmentFormats :: Vector Format
viewMask :: Word32
flags :: RenderingFlagsKHR
$sel:rasterizationSamples:CommandBufferInheritanceRenderingInfoKHR :: CommandBufferInheritanceRenderingInfoKHR -> SampleCountFlagBits
$sel:stencilAttachmentFormat:CommandBufferInheritanceRenderingInfoKHR :: CommandBufferInheritanceRenderingInfoKHR -> Format
$sel:depthAttachmentFormat:CommandBufferInheritanceRenderingInfoKHR :: CommandBufferInheritanceRenderingInfoKHR -> Format
$sel:colorAttachmentFormats:CommandBufferInheritanceRenderingInfoKHR :: CommandBufferInheritanceRenderingInfoKHR -> Vector Format
$sel:viewMask:CommandBufferInheritanceRenderingInfoKHR :: CommandBufferInheritanceRenderingInfoKHR -> Word32
$sel:flags:CommandBufferInheritanceRenderingInfoKHR :: CommandBufferInheritanceRenderingInfoKHR -> RenderingFlagsKHR
..} IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr RenderingFlagsKHR -> RenderingFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR
-> Int -> Ptr RenderingFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr RenderingFlagsKHR)) (RenderingFlagsKHR
flags)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) (Word32
viewMask)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector Format -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector Format -> Int) -> Vector Format -> Int
forall a b. (a -> b) -> a -> b
$ (Vector Format
colorAttachmentFormats)) :: Word32))
Ptr Format
pPColorAttachmentFormats' <- ((Ptr Format -> IO b) -> IO b) -> ContT b IO (Ptr Format)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Format -> IO b) -> IO b) -> ContT b IO (Ptr Format))
-> ((Ptr Format -> IO b) -> IO b) -> ContT b IO (Ptr Format)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr Format -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @Format ((Vector Format -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector Format
colorAttachmentFormats)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
4)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ (Int -> Format -> IO ()) -> Vector Format -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i Format
e -> Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Format
pPColorAttachmentFormats' Ptr Format -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr Format) (Format
e)) (Vector Format
colorAttachmentFormats)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr Format) -> Ptr Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR
-> Int -> Ptr (Ptr Format)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr (Ptr Format))) (Ptr Format
pPColorAttachmentFormats')
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Format)) (Format
depthAttachmentFormat)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Format)) (Format
stencilAttachmentFormat)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr SampleCountFlagBits -> SampleCountFlagBits -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR
-> Int -> Ptr SampleCountFlagBits
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr SampleCountFlagBits)) (SampleCountFlagBits
rasterizationSamples)
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
56
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr CommandBufferInheritanceRenderingInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr CommandBufferInheritanceRenderingInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> 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 CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct CommandBufferInheritanceRenderingInfoKHR where
peekCStruct :: Ptr CommandBufferInheritanceRenderingInfoKHR
-> IO CommandBufferInheritanceRenderingInfoKHR
peekCStruct Ptr CommandBufferInheritanceRenderingInfoKHR
p = do
RenderingFlagsKHR
flags <- Ptr RenderingFlagsKHR -> IO RenderingFlagsKHR
forall a. Storable a => Ptr a -> IO a
peek @RenderingFlagsKHR ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR
-> Int -> Ptr RenderingFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr RenderingFlagsKHR))
Word32
viewMask <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
Word32
colorAttachmentCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32))
Ptr Format
pColorAttachmentFormats <- Ptr (Ptr Format) -> IO (Ptr Format)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr Format) ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR
-> Int -> Ptr (Ptr Format)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr (Ptr Format)))
Vector Format
pColorAttachmentFormats' <- Int -> (Int -> IO Format) -> IO (Vector Format)
forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
colorAttachmentCount) (\Int
i -> Ptr Format -> IO Format
forall a. Storable a => Ptr a -> IO a
peek @Format ((Ptr Format
pColorAttachmentFormats Ptr Format -> Int -> Ptr Format
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr Format)))
Format
depthAttachmentFormat <- Ptr Format -> IO Format
forall a. Storable a => Ptr a -> IO a
peek @Format ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Format))
Format
stencilAttachmentFormat <- Ptr Format -> IO Format
forall a. Storable a => Ptr a -> IO a
peek @Format ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Format))
SampleCountFlagBits
rasterizationSamples <- Ptr SampleCountFlagBits -> IO SampleCountFlagBits
forall a. Storable a => Ptr a -> IO a
peek @SampleCountFlagBits ((Ptr CommandBufferInheritanceRenderingInfoKHR
p Ptr CommandBufferInheritanceRenderingInfoKHR
-> Int -> Ptr SampleCountFlagBits
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr SampleCountFlagBits))
CommandBufferInheritanceRenderingInfoKHR
-> IO CommandBufferInheritanceRenderingInfoKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (CommandBufferInheritanceRenderingInfoKHR
-> IO CommandBufferInheritanceRenderingInfoKHR)
-> CommandBufferInheritanceRenderingInfoKHR
-> IO CommandBufferInheritanceRenderingInfoKHR
forall a b. (a -> b) -> a -> b
$ RenderingFlagsKHR
-> Word32
-> Vector Format
-> Format
-> Format
-> SampleCountFlagBits
-> CommandBufferInheritanceRenderingInfoKHR
CommandBufferInheritanceRenderingInfoKHR
RenderingFlagsKHR
flags Word32
viewMask Vector Format
pColorAttachmentFormats' Format
depthAttachmentFormat Format
stencilAttachmentFormat SampleCountFlagBits
rasterizationSamples
instance Zero CommandBufferInheritanceRenderingInfoKHR where
zero :: CommandBufferInheritanceRenderingInfoKHR
zero = RenderingFlagsKHR
-> Word32
-> Vector Format
-> Format
-> Format
-> SampleCountFlagBits
-> CommandBufferInheritanceRenderingInfoKHR
CommandBufferInheritanceRenderingInfoKHR
RenderingFlagsKHR
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Vector Format
forall a. Monoid a => a
mempty
Format
forall a. Zero a => a
zero
Format
forall a. Zero a => a
zero
SampleCountFlagBits
forall a. Zero a => a
zero
data AttachmentSampleCountInfoAMD = AttachmentSampleCountInfoAMD
{
AttachmentSampleCountInfoAMD -> Vector SampleCountFlagBits
colorAttachmentSamples :: Vector SampleCountFlagBits
,
AttachmentSampleCountInfoAMD -> SampleCountFlagBits
depthStencilAttachmentSamples :: SampleCountFlagBits
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (AttachmentSampleCountInfoAMD)
#endif
deriving instance Show AttachmentSampleCountInfoAMD
instance ToCStruct AttachmentSampleCountInfoAMD where
withCStruct :: AttachmentSampleCountInfoAMD
-> (Ptr AttachmentSampleCountInfoAMD -> IO b) -> IO b
withCStruct AttachmentSampleCountInfoAMD
x Ptr AttachmentSampleCountInfoAMD -> IO b
f = Int -> (Ptr AttachmentSampleCountInfoAMD -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 ((Ptr AttachmentSampleCountInfoAMD -> IO b) -> IO b)
-> (Ptr AttachmentSampleCountInfoAMD -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr AttachmentSampleCountInfoAMD
p -> Ptr AttachmentSampleCountInfoAMD
-> AttachmentSampleCountInfoAMD -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr AttachmentSampleCountInfoAMD
p AttachmentSampleCountInfoAMD
x (Ptr AttachmentSampleCountInfoAMD -> IO b
f Ptr AttachmentSampleCountInfoAMD
p)
pokeCStruct :: Ptr AttachmentSampleCountInfoAMD
-> AttachmentSampleCountInfoAMD -> IO b -> IO b
pokeCStruct Ptr AttachmentSampleCountInfoAMD
p AttachmentSampleCountInfoAMD{Vector SampleCountFlagBits
SampleCountFlagBits
depthStencilAttachmentSamples :: SampleCountFlagBits
colorAttachmentSamples :: Vector SampleCountFlagBits
$sel:depthStencilAttachmentSamples:AttachmentSampleCountInfoAMD :: AttachmentSampleCountInfoAMD -> SampleCountFlagBits
$sel:colorAttachmentSamples:AttachmentSampleCountInfoAMD :: AttachmentSampleCountInfoAMD -> Vector SampleCountFlagBits
..} IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AttachmentSampleCountInfoAMD
p Ptr AttachmentSampleCountInfoAMD -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AttachmentSampleCountInfoAMD
p Ptr AttachmentSampleCountInfoAMD -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AttachmentSampleCountInfoAMD
p Ptr AttachmentSampleCountInfoAMD -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector SampleCountFlagBits -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector SampleCountFlagBits -> Int)
-> Vector SampleCountFlagBits -> Int
forall a b. (a -> b) -> a -> b
$ (Vector SampleCountFlagBits
colorAttachmentSamples)) :: Word32))
Ptr SampleCountFlagBits
pPColorAttachmentSamples' <- ((Ptr SampleCountFlagBits -> IO b) -> IO b)
-> ContT b IO (Ptr SampleCountFlagBits)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr SampleCountFlagBits -> IO b) -> IO b)
-> ContT b IO (Ptr SampleCountFlagBits))
-> ((Ptr SampleCountFlagBits -> IO b) -> IO b)
-> ContT b IO (Ptr SampleCountFlagBits)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr SampleCountFlagBits -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @SampleCountFlagBits ((Vector SampleCountFlagBits -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector SampleCountFlagBits
colorAttachmentSamples)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
4)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ (Int -> SampleCountFlagBits -> IO ())
-> Vector SampleCountFlagBits -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i SampleCountFlagBits
e -> Ptr SampleCountFlagBits -> SampleCountFlagBits -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr SampleCountFlagBits
pPColorAttachmentSamples' Ptr SampleCountFlagBits -> Int -> Ptr SampleCountFlagBits
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr SampleCountFlagBits) (SampleCountFlagBits
e)) (Vector SampleCountFlagBits
colorAttachmentSamples)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr SampleCountFlagBits) -> Ptr SampleCountFlagBits -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AttachmentSampleCountInfoAMD
p Ptr AttachmentSampleCountInfoAMD
-> Int -> Ptr (Ptr SampleCountFlagBits)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr SampleCountFlagBits))) (Ptr SampleCountFlagBits
pPColorAttachmentSamples')
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr SampleCountFlagBits -> SampleCountFlagBits -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AttachmentSampleCountInfoAMD
p Ptr AttachmentSampleCountInfoAMD -> Int -> Ptr SampleCountFlagBits
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr SampleCountFlagBits)) (SampleCountFlagBits
depthStencilAttachmentSamples)
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr AttachmentSampleCountInfoAMD -> IO b -> IO b
pokeZeroCStruct Ptr AttachmentSampleCountInfoAMD
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AttachmentSampleCountInfoAMD
p Ptr AttachmentSampleCountInfoAMD -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AttachmentSampleCountInfoAMD
p Ptr AttachmentSampleCountInfoAMD -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO b
f
instance FromCStruct AttachmentSampleCountInfoAMD where
peekCStruct :: Ptr AttachmentSampleCountInfoAMD -> IO AttachmentSampleCountInfoAMD
peekCStruct Ptr AttachmentSampleCountInfoAMD
p = do
Word32
colorAttachmentCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr AttachmentSampleCountInfoAMD
p Ptr AttachmentSampleCountInfoAMD -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Word32))
Ptr SampleCountFlagBits
pColorAttachmentSamples <- Ptr (Ptr SampleCountFlagBits) -> IO (Ptr SampleCountFlagBits)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr SampleCountFlagBits) ((Ptr AttachmentSampleCountInfoAMD
p Ptr AttachmentSampleCountInfoAMD
-> Int -> Ptr (Ptr SampleCountFlagBits)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr SampleCountFlagBits)))
Vector SampleCountFlagBits
pColorAttachmentSamples' <- Int
-> (Int -> IO SampleCountFlagBits)
-> IO (Vector SampleCountFlagBits)
forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral Word32
colorAttachmentCount) (\Int
i -> Ptr SampleCountFlagBits -> IO SampleCountFlagBits
forall a. Storable a => Ptr a -> IO a
peek @SampleCountFlagBits ((Ptr SampleCountFlagBits
pColorAttachmentSamples Ptr SampleCountFlagBits -> Int -> Ptr SampleCountFlagBits
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
4 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr SampleCountFlagBits)))
SampleCountFlagBits
depthStencilAttachmentSamples <- Ptr SampleCountFlagBits -> IO SampleCountFlagBits
forall a. Storable a => Ptr a -> IO a
peek @SampleCountFlagBits ((Ptr AttachmentSampleCountInfoAMD
p Ptr AttachmentSampleCountInfoAMD -> Int -> Ptr SampleCountFlagBits
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr SampleCountFlagBits))
AttachmentSampleCountInfoAMD -> IO AttachmentSampleCountInfoAMD
forall (f :: * -> *) a. Applicative f => a -> f a
pure (AttachmentSampleCountInfoAMD -> IO AttachmentSampleCountInfoAMD)
-> AttachmentSampleCountInfoAMD -> IO AttachmentSampleCountInfoAMD
forall a b. (a -> b) -> a -> b
$ Vector SampleCountFlagBits
-> SampleCountFlagBits -> AttachmentSampleCountInfoAMD
AttachmentSampleCountInfoAMD
Vector SampleCountFlagBits
pColorAttachmentSamples' SampleCountFlagBits
depthStencilAttachmentSamples
instance Zero AttachmentSampleCountInfoAMD where
zero :: AttachmentSampleCountInfoAMD
zero = Vector SampleCountFlagBits
-> SampleCountFlagBits -> AttachmentSampleCountInfoAMD
AttachmentSampleCountInfoAMD
Vector SampleCountFlagBits
forall a. Monoid a => a
mempty
SampleCountFlagBits
forall a. Zero a => a
zero
data MultiviewPerViewAttributesInfoNVX = MultiviewPerViewAttributesInfoNVX
{
MultiviewPerViewAttributesInfoNVX -> Bool
perViewAttributes :: Bool
,
MultiviewPerViewAttributesInfoNVX -> Bool
perViewAttributesPositionXOnly :: Bool
}
deriving (Typeable, MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool
(MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool)
-> (MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool)
-> Eq MultiviewPerViewAttributesInfoNVX
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool
$c/= :: MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool
== :: MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool
$c== :: MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (MultiviewPerViewAttributesInfoNVX)
#endif
deriving instance Show MultiviewPerViewAttributesInfoNVX
instance ToCStruct MultiviewPerViewAttributesInfoNVX where
withCStruct :: MultiviewPerViewAttributesInfoNVX
-> (Ptr MultiviewPerViewAttributesInfoNVX -> IO b) -> IO b
withCStruct MultiviewPerViewAttributesInfoNVX
x Ptr MultiviewPerViewAttributesInfoNVX -> IO b
f = Int -> (Ptr MultiviewPerViewAttributesInfoNVX -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr MultiviewPerViewAttributesInfoNVX -> IO b) -> IO b)
-> (Ptr MultiviewPerViewAttributesInfoNVX -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr MultiviewPerViewAttributesInfoNVX
p -> Ptr MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr MultiviewPerViewAttributesInfoNVX
p MultiviewPerViewAttributesInfoNVX
x (Ptr MultiviewPerViewAttributesInfoNVX -> IO b
f Ptr MultiviewPerViewAttributesInfoNVX
p)
pokeCStruct :: Ptr MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> IO b -> IO b
pokeCStruct Ptr MultiviewPerViewAttributesInfoNVX
p MultiviewPerViewAttributesInfoNVX{Bool
perViewAttributesPositionXOnly :: Bool
perViewAttributes :: Bool
$sel:perViewAttributesPositionXOnly:MultiviewPerViewAttributesInfoNVX :: MultiviewPerViewAttributesInfoNVX -> Bool
$sel:perViewAttributes:MultiviewPerViewAttributesInfoNVX :: MultiviewPerViewAttributesInfoNVX -> Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> 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 MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
perViewAttributes))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
perViewAttributesPositionXOnly))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr MultiviewPerViewAttributesInfoNVX -> IO b -> IO b
pokeZeroCStruct Ptr MultiviewPerViewAttributesInfoNVX
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> 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 MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> 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 MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> 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 MultiviewPerViewAttributesInfoNVX where
peekCStruct :: Ptr MultiviewPerViewAttributesInfoNVX
-> IO MultiviewPerViewAttributesInfoNVX
peekCStruct Ptr MultiviewPerViewAttributesInfoNVX
p = do
Bool32
perViewAttributes <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
Bool32
perViewAttributesPositionXOnly <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr MultiviewPerViewAttributesInfoNVX
p Ptr MultiviewPerViewAttributesInfoNVX -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32))
MultiviewPerViewAttributesInfoNVX
-> IO MultiviewPerViewAttributesInfoNVX
forall (f :: * -> *) a. Applicative f => a -> f a
pure (MultiviewPerViewAttributesInfoNVX
-> IO MultiviewPerViewAttributesInfoNVX)
-> MultiviewPerViewAttributesInfoNVX
-> IO MultiviewPerViewAttributesInfoNVX
forall a b. (a -> b) -> a -> b
$ Bool -> Bool -> MultiviewPerViewAttributesInfoNVX
MultiviewPerViewAttributesInfoNVX
(Bool32 -> Bool
bool32ToBool Bool32
perViewAttributes) (Bool32 -> Bool
bool32ToBool Bool32
perViewAttributesPositionXOnly)
instance Storable MultiviewPerViewAttributesInfoNVX where
sizeOf :: MultiviewPerViewAttributesInfoNVX -> Int
sizeOf ~MultiviewPerViewAttributesInfoNVX
_ = Int
24
alignment :: MultiviewPerViewAttributesInfoNVX -> Int
alignment ~MultiviewPerViewAttributesInfoNVX
_ = Int
8
peek :: Ptr MultiviewPerViewAttributesInfoNVX
-> IO MultiviewPerViewAttributesInfoNVX
peek = Ptr MultiviewPerViewAttributesInfoNVX
-> IO MultiviewPerViewAttributesInfoNVX
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> IO ()
poke Ptr MultiviewPerViewAttributesInfoNVX
ptr MultiviewPerViewAttributesInfoNVX
poked = Ptr MultiviewPerViewAttributesInfoNVX
-> MultiviewPerViewAttributesInfoNVX -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr MultiviewPerViewAttributesInfoNVX
ptr MultiviewPerViewAttributesInfoNVX
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero MultiviewPerViewAttributesInfoNVX where
zero :: MultiviewPerViewAttributesInfoNVX
zero = Bool -> Bool -> MultiviewPerViewAttributesInfoNVX
MultiviewPerViewAttributesInfoNVX
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
type RenderingFlagsKHR = RenderingFlagBitsKHR
newtype RenderingFlagBitsKHR = RenderingFlagBitsKHR Flags
deriving newtype (RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
(RenderingFlagsKHR -> RenderingFlagsKHR -> Bool)
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> Bool)
-> Eq RenderingFlagsKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
$c/= :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
== :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
$c== :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
Eq, Eq RenderingFlagsKHR
Eq RenderingFlagsKHR
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> Ordering)
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> Bool)
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> Bool)
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> Bool)
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> Bool)
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR)
-> Ord RenderingFlagsKHR
RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
RenderingFlagsKHR -> RenderingFlagsKHR -> Ordering
RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
$cmin :: RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
max :: RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
$cmax :: RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
>= :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
$c>= :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
> :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
$c> :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
<= :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
$c<= :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
< :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
$c< :: RenderingFlagsKHR -> RenderingFlagsKHR -> Bool
compare :: RenderingFlagsKHR -> RenderingFlagsKHR -> Ordering
$ccompare :: RenderingFlagsKHR -> RenderingFlagsKHR -> Ordering
$cp1Ord :: Eq RenderingFlagsKHR
Ord, Ptr b -> Int -> IO RenderingFlagsKHR
Ptr b -> Int -> RenderingFlagsKHR -> IO ()
Ptr RenderingFlagsKHR -> IO RenderingFlagsKHR
Ptr RenderingFlagsKHR -> Int -> IO RenderingFlagsKHR
Ptr RenderingFlagsKHR -> Int -> RenderingFlagsKHR -> IO ()
Ptr RenderingFlagsKHR -> RenderingFlagsKHR -> IO ()
RenderingFlagsKHR -> Int
(RenderingFlagsKHR -> Int)
-> (RenderingFlagsKHR -> Int)
-> (Ptr RenderingFlagsKHR -> Int -> IO RenderingFlagsKHR)
-> (Ptr RenderingFlagsKHR -> Int -> RenderingFlagsKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO RenderingFlagsKHR)
-> (forall b. Ptr b -> Int -> RenderingFlagsKHR -> IO ())
-> (Ptr RenderingFlagsKHR -> IO RenderingFlagsKHR)
-> (Ptr RenderingFlagsKHR -> RenderingFlagsKHR -> IO ())
-> Storable RenderingFlagsKHR
forall b. Ptr b -> Int -> IO RenderingFlagsKHR
forall b. Ptr b -> Int -> RenderingFlagsKHR -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr RenderingFlagsKHR -> RenderingFlagsKHR -> IO ()
$cpoke :: Ptr RenderingFlagsKHR -> RenderingFlagsKHR -> IO ()
peek :: Ptr RenderingFlagsKHR -> IO RenderingFlagsKHR
$cpeek :: Ptr RenderingFlagsKHR -> IO RenderingFlagsKHR
pokeByteOff :: Ptr b -> Int -> RenderingFlagsKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> RenderingFlagsKHR -> IO ()
peekByteOff :: Ptr b -> Int -> IO RenderingFlagsKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO RenderingFlagsKHR
pokeElemOff :: Ptr RenderingFlagsKHR -> Int -> RenderingFlagsKHR -> IO ()
$cpokeElemOff :: Ptr RenderingFlagsKHR -> Int -> RenderingFlagsKHR -> IO ()
peekElemOff :: Ptr RenderingFlagsKHR -> Int -> IO RenderingFlagsKHR
$cpeekElemOff :: Ptr RenderingFlagsKHR -> Int -> IO RenderingFlagsKHR
alignment :: RenderingFlagsKHR -> Int
$calignment :: RenderingFlagsKHR -> Int
sizeOf :: RenderingFlagsKHR -> Int
$csizeOf :: RenderingFlagsKHR -> Int
Storable, RenderingFlagsKHR
RenderingFlagsKHR -> Zero RenderingFlagsKHR
forall a. a -> Zero a
zero :: RenderingFlagsKHR
$czero :: RenderingFlagsKHR
Zero, Eq RenderingFlagsKHR
RenderingFlagsKHR
Eq RenderingFlagsKHR
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> RenderingFlagsKHR
-> (Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> Bool)
-> (RenderingFlagsKHR -> Maybe Int)
-> (RenderingFlagsKHR -> Int)
-> (RenderingFlagsKHR -> Bool)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int -> RenderingFlagsKHR)
-> (RenderingFlagsKHR -> Int)
-> Bits RenderingFlagsKHR
Int -> RenderingFlagsKHR
RenderingFlagsKHR -> Bool
RenderingFlagsKHR -> Int
RenderingFlagsKHR -> Maybe Int
RenderingFlagsKHR -> RenderingFlagsKHR
RenderingFlagsKHR -> Int -> Bool
RenderingFlagsKHR -> Int -> RenderingFlagsKHR
RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
popCount :: RenderingFlagsKHR -> Int
$cpopCount :: RenderingFlagsKHR -> Int
rotateR :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$crotateR :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
rotateL :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$crotateL :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
unsafeShiftR :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$cunsafeShiftR :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
shiftR :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$cshiftR :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
unsafeShiftL :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$cunsafeShiftL :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
shiftL :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$cshiftL :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
isSigned :: RenderingFlagsKHR -> Bool
$cisSigned :: RenderingFlagsKHR -> Bool
bitSize :: RenderingFlagsKHR -> Int
$cbitSize :: RenderingFlagsKHR -> Int
bitSizeMaybe :: RenderingFlagsKHR -> Maybe Int
$cbitSizeMaybe :: RenderingFlagsKHR -> Maybe Int
testBit :: RenderingFlagsKHR -> Int -> Bool
$ctestBit :: RenderingFlagsKHR -> Int -> Bool
complementBit :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$ccomplementBit :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
clearBit :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$cclearBit :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
setBit :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$csetBit :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
bit :: Int -> RenderingFlagsKHR
$cbit :: Int -> RenderingFlagsKHR
zeroBits :: RenderingFlagsKHR
$czeroBits :: RenderingFlagsKHR
rotate :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$crotate :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
shift :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
$cshift :: RenderingFlagsKHR -> Int -> RenderingFlagsKHR
complement :: RenderingFlagsKHR -> RenderingFlagsKHR
$ccomplement :: RenderingFlagsKHR -> RenderingFlagsKHR
xor :: RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
$cxor :: RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
.|. :: RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
$c.|. :: RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
.&. :: RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
$c.&. :: RenderingFlagsKHR -> RenderingFlagsKHR -> RenderingFlagsKHR
$cp1Bits :: Eq RenderingFlagsKHR
Bits, Bits RenderingFlagsKHR
Bits RenderingFlagsKHR
-> (RenderingFlagsKHR -> Int)
-> (RenderingFlagsKHR -> Int)
-> (RenderingFlagsKHR -> Int)
-> FiniteBits RenderingFlagsKHR
RenderingFlagsKHR -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: RenderingFlagsKHR -> Int
$ccountTrailingZeros :: RenderingFlagsKHR -> Int
countLeadingZeros :: RenderingFlagsKHR -> Int
$ccountLeadingZeros :: RenderingFlagsKHR -> Int
finiteBitSize :: RenderingFlagsKHR -> Int
$cfiniteBitSize :: RenderingFlagsKHR -> Int
$cp1FiniteBits :: Bits RenderingFlagsKHR
FiniteBits)
pattern $bRENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR :: RenderingFlagsKHR
$mRENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR :: forall r. RenderingFlagsKHR -> (Void# -> r) -> (Void# -> r) -> r
RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = RenderingFlagBitsKHR 0x00000001
pattern $bRENDERING_SUSPENDING_BIT_KHR :: RenderingFlagsKHR
$mRENDERING_SUSPENDING_BIT_KHR :: forall r. RenderingFlagsKHR -> (Void# -> r) -> (Void# -> r) -> r
RENDERING_SUSPENDING_BIT_KHR = RenderingFlagBitsKHR 0x00000002
pattern $bRENDERING_RESUMING_BIT_KHR :: RenderingFlagsKHR
$mRENDERING_RESUMING_BIT_KHR :: forall r. RenderingFlagsKHR -> (Void# -> r) -> (Void# -> r) -> r
RENDERING_RESUMING_BIT_KHR = RenderingFlagBitsKHR 0x00000004
conNameRenderingFlagBitsKHR :: String
conNameRenderingFlagBitsKHR :: String
conNameRenderingFlagBitsKHR = String
"RenderingFlagBitsKHR"
enumPrefixRenderingFlagBitsKHR :: String
enumPrefixRenderingFlagBitsKHR :: String
enumPrefixRenderingFlagBitsKHR = String
"RENDERING_"
showTableRenderingFlagBitsKHR :: [(RenderingFlagBitsKHR, String)]
showTableRenderingFlagBitsKHR :: [(RenderingFlagsKHR, String)]
showTableRenderingFlagBitsKHR =
[ (RenderingFlagsKHR
RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR, String
"CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR")
, (RenderingFlagsKHR
RENDERING_SUSPENDING_BIT_KHR , String
"SUSPENDING_BIT_KHR")
, (RenderingFlagsKHR
RENDERING_RESUMING_BIT_KHR , String
"RESUMING_BIT_KHR")
]
instance Show RenderingFlagBitsKHR where
showsPrec :: Int -> RenderingFlagsKHR -> ShowS
showsPrec = String
-> [(RenderingFlagsKHR, String)]
-> String
-> (RenderingFlagsKHR -> Word32)
-> (Word32 -> ShowS)
-> Int
-> RenderingFlagsKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixRenderingFlagBitsKHR
[(RenderingFlagsKHR, String)]
showTableRenderingFlagBitsKHR
String
conNameRenderingFlagBitsKHR
(\(RenderingFlagBitsKHR Word32
x) -> Word32
x)
(\Word32
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Word32 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Word32
x)
instance Read RenderingFlagBitsKHR where
readPrec :: ReadPrec RenderingFlagsKHR
readPrec = String
-> [(RenderingFlagsKHR, String)]
-> String
-> (Word32 -> RenderingFlagsKHR)
-> ReadPrec RenderingFlagsKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixRenderingFlagBitsKHR
[(RenderingFlagsKHR, String)]
showTableRenderingFlagBitsKHR
String
conNameRenderingFlagBitsKHR
Word32 -> RenderingFlagsKHR
RenderingFlagBitsKHR
type AttachmentSampleCountInfoNV = AttachmentSampleCountInfoAMD
type KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1
pattern KHR_DYNAMIC_RENDERING_SPEC_VERSION :: forall a . Integral a => a
pattern $bKHR_DYNAMIC_RENDERING_SPEC_VERSION :: a
$mKHR_DYNAMIC_RENDERING_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
KHR_DYNAMIC_RENDERING_SPEC_VERSION = 1
type KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering"
pattern KHR_DYNAMIC_RENDERING_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bKHR_DYNAMIC_RENDERING_EXTENSION_NAME :: a
$mKHR_DYNAMIC_RENDERING_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
KHR_DYNAMIC_RENDERING_EXTENSION_NAME = "VK_KHR_dynamic_rendering"