{-# language CPP #-}
module Vulkan.Extensions.VK_KHR_synchronization2 ( cmdSetEvent2KHR
, cmdResetEvent2KHR
, cmdWaitEvents2KHR
, cmdWaitEvents2KHRSafe
, cmdPipelineBarrier2KHR
, queueSubmit2KHR
, cmdWriteTimestamp2KHR
, cmdWriteBufferMarker2AMD
, getQueueCheckpointData2NV
, pattern PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV
, pattern ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV
, pattern PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV
, pattern PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV
, pattern ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV
, pattern ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV
, pattern PIPELINE_STAGE_2_TRANSFER_BIT_KHR
, MemoryBarrier2KHR(..)
, ImageMemoryBarrier2KHR(..)
, BufferMemoryBarrier2KHR(..)
, DependencyInfoKHR(..)
, SemaphoreSubmitInfoKHR(..)
, CommandBufferSubmitInfoKHR(..)
, SubmitInfo2KHR(..)
, QueueFamilyCheckpointProperties2NV(..)
, CheckpointData2NV(..)
, PhysicalDeviceSynchronization2FeaturesKHR(..)
, AccessFlags2KHR
, AccessFlagBits2KHR( ACCESS_2_NONE_KHR
, ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR
, ACCESS_2_INDEX_READ_BIT_KHR
, ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR
, ACCESS_2_UNIFORM_READ_BIT_KHR
, ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR
, ACCESS_2_SHADER_READ_BIT_KHR
, ACCESS_2_SHADER_WRITE_BIT_KHR
, ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR
, ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR
, ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR
, ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR
, ACCESS_2_TRANSFER_READ_BIT_KHR
, ACCESS_2_TRANSFER_WRITE_BIT_KHR
, ACCESS_2_HOST_READ_BIT_KHR
, ACCESS_2_HOST_WRITE_BIT_KHR
, ACCESS_2_MEMORY_READ_BIT_KHR
, ACCESS_2_MEMORY_WRITE_BIT_KHR
, ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR
, ACCESS_2_SHADER_STORAGE_READ_BIT_KHR
, ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR
, ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI
, ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT
, ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT
, ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR
, ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR
, ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR
, ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV
, ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV
, ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT
, ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT
, ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT
, ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT
, ..
)
, PipelineStageFlags2KHR
, PipelineStageFlagBits2KHR( PIPELINE_STAGE_2_NONE_KHR
, PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR
, PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR
, PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR
, PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR
, PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR
, PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR
, PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR
, PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR
, PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR
, PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR
, PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR
, PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR
, PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR
, PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR
, PIPELINE_STAGE_2_HOST_BIT_KHR
, PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR
, PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR
, PIPELINE_STAGE_2_COPY_BIT_KHR
, PIPELINE_STAGE_2_RESOLVE_BIT_KHR
, PIPELINE_STAGE_2_BLIT_BIT_KHR
, PIPELINE_STAGE_2_CLEAR_BIT_KHR
, PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR
, PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR
, PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR
, PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
, PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI
, PIPELINE_STAGE_2_MESH_SHADER_BIT_NV
, PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
, PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
, PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
, PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
, PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
, PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV
, PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
, PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
, ..
)
, SubmitFlagsKHR
, SubmitFlagBitsKHR( SUBMIT_PROTECTED_BIT_KHR
, ..
)
, KHR_SYNCHRONIZATION_2_SPEC_VERSION
, pattern KHR_SYNCHRONIZATION_2_SPEC_VERSION
, KHR_SYNCHRONIZATION_2_EXTENSION_NAME
, pattern KHR_SYNCHRONIZATION_2_EXTENSION_NAME
, Flags64
) where
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Exception.Base (bracket)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Data.Typeable (eqT)
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Marshal.Alloc (callocBytes)
import Foreign.Marshal.Alloc (free)
import GHC.Base (when)
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.Word (Word64)
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.CStruct.Extends (peekSomeCStruct)
import Vulkan.CStruct.Extends (pokeSomeCStruct)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.Handles (Buffer)
import Vulkan.Core10.Handles (Buffer(..))
import Vulkan.CStruct.Extends (Chain)
import Vulkan.Core10.Handles (CommandBuffer)
import Vulkan.Core10.Handles (CommandBuffer(..))
import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
import Vulkan.Core10.Handles (CommandBuffer_T)
import Vulkan.Core10.Enums.DependencyFlagBits (DependencyFlags)
import Vulkan.Dynamic (DeviceCmds(pVkCmdPipelineBarrier2KHR))
import Vulkan.Dynamic (DeviceCmds(pVkCmdResetEvent2KHR))
import Vulkan.Dynamic (DeviceCmds(pVkCmdSetEvent2KHR))
import Vulkan.Dynamic (DeviceCmds(pVkCmdWaitEvents2KHR))
import Vulkan.Dynamic (DeviceCmds(pVkCmdWriteBufferMarker2AMD))
import Vulkan.Dynamic (DeviceCmds(pVkCmdWriteTimestamp2KHR))
import Vulkan.Dynamic (DeviceCmds(pVkGetQueueCheckpointData2NV))
import Vulkan.Dynamic (DeviceCmds(pVkQueueSubmit2KHR))
import Vulkan.Core10.FundamentalTypes (DeviceSize)
import Vulkan.Core10.Handles (Event)
import Vulkan.Core10.Handles (Event(..))
import Vulkan.CStruct.Extends (Extends)
import Vulkan.CStruct.Extends (Extendss)
import Vulkan.CStruct.Extends (Extensible(..))
import Vulkan.Core10.Handles (Fence)
import Vulkan.Core10.Handles (Fence(..))
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.FundamentalTypes (Flags64)
import Vulkan.Core10.Handles (Image)
import Vulkan.Core10.Enums.ImageLayout (ImageLayout)
import Vulkan.Core10.ImageView (ImageSubresourceRange)
import Vulkan.CStruct.Extends (PeekChain)
import Vulkan.CStruct.Extends (PeekChain(..))
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PerformanceQuerySubmitInfoKHR)
import Vulkan.CStruct.Extends (PokeChain)
import Vulkan.CStruct.Extends (PokeChain(..))
import Vulkan.Core10.Handles (QueryPool)
import Vulkan.Core10.Handles (QueryPool(..))
import Vulkan.Core10.Handles (Queue)
import Vulkan.Core10.Handles (Queue(..))
import Vulkan.Core10.Handles (Queue(Queue))
import Vulkan.Core10.Handles (Queue_T)
import Vulkan.Core10.Enums.Result (Result)
import Vulkan.Core10.Enums.Result (Result(..))
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (SampleLocationsInfoEXT)
import Vulkan.Core10.Handles (Semaphore)
import Vulkan.CStruct.Extends (SomeStruct)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Exception (VulkanException(..))
import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_win32_keyed_mutex (Win32KeyedMutexAcquireReleaseInfoKHR)
import {-# SOURCE #-} Vulkan.Extensions.VK_NV_win32_keyed_mutex (Win32KeyedMutexAcquireReleaseInfoNV)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEPENDENCY_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SUBMIT_INFO_2_KHR))
import Vulkan.Core10.Enums.Result (Result(SUCCESS))
import Vulkan.Core10.FundamentalTypes (Flags64)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdSetEvent2KHR
:: FunPtr (Ptr CommandBuffer_T -> Event -> Ptr DependencyInfoKHR -> IO ()) -> Ptr CommandBuffer_T -> Event -> Ptr DependencyInfoKHR -> IO ()
cmdSetEvent2KHR :: forall io
. (MonadIO io)
=>
CommandBuffer
->
Event
->
DependencyInfoKHR
-> io ()
cmdSetEvent2KHR :: CommandBuffer -> Event -> DependencyInfoKHR -> io ()
cmdSetEvent2KHR CommandBuffer
commandBuffer Event
event DependencyInfoKHR
dependencyInfo = 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 vkCmdSetEvent2KHRPtr :: FunPtr
(Ptr CommandBuffer_T
-> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
vkCmdSetEvent2KHRPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
pVkCmdSetEvent2KHR (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
-> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
vkCmdSetEvent2KHRPtr FunPtr
(Ptr CommandBuffer_T
-> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr CommandBuffer_T
-> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> 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 vkCmdSetEvent2KHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdSetEvent2KHR' :: Ptr CommandBuffer_T
-> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ()
vkCmdSetEvent2KHR' = FunPtr
(Ptr CommandBuffer_T
-> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> Ptr CommandBuffer_T
-> Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ()
mkVkCmdSetEvent2KHR FunPtr
(Ptr CommandBuffer_T
-> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
vkCmdSetEvent2KHRPtr
"pDependencyInfo" ::: Ptr DependencyInfoKHR
pDependencyInfo <- ((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ()) -> IO ())
-> ContT () IO ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> IO ())
-> ContT () IO ("pDependencyInfo" ::: Ptr DependencyInfoKHR))
-> ((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> IO ())
-> ContT () IO ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
forall a b. (a -> b) -> a -> b
$ DependencyInfoKHR
-> (("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DependencyInfoKHR
dependencyInfo)
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
"vkCmdSetEvent2KHR" (Ptr CommandBuffer_T
-> Event -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ()
vkCmdSetEvent2KHR' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) (Event
event) "pDependencyInfo" ::: Ptr DependencyInfoKHR
pDependencyInfo)
() -> ContT () IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> ContT () IO ()) -> () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdResetEvent2KHR
:: FunPtr (Ptr CommandBuffer_T -> Event -> PipelineStageFlags2KHR -> IO ()) -> Ptr CommandBuffer_T -> Event -> PipelineStageFlags2KHR -> IO ()
cmdResetEvent2KHR :: forall io
. (MonadIO io)
=>
CommandBuffer
->
Event
->
("stageMask" ::: PipelineStageFlags2KHR)
-> io ()
cmdResetEvent2KHR :: CommandBuffer
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> io ()
cmdResetEvent2KHR CommandBuffer
commandBuffer Event
event "stageMask" ::: PipelineStageFlags2KHR
stageMask = 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 vkCmdResetEvent2KHRPtr :: FunPtr
(Ptr CommandBuffer_T
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
vkCmdResetEvent2KHRPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
pVkCmdResetEvent2KHR (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
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
vkCmdResetEvent2KHRPtr FunPtr
(Ptr CommandBuffer_T
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr CommandBuffer_T
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> 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 vkCmdResetEvent2KHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdResetEvent2KHR' :: Ptr CommandBuffer_T
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
vkCmdResetEvent2KHR' = FunPtr
(Ptr CommandBuffer_T
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
-> Ptr CommandBuffer_T
-> Event
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ()
mkVkCmdResetEvent2KHR FunPtr
(Ptr CommandBuffer_T
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
vkCmdResetEvent2KHRPtr
String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdResetEvent2KHR" (Ptr CommandBuffer_T
-> Event -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
vkCmdResetEvent2KHR' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) (Event
event) ("stageMask" ::: PipelineStageFlags2KHR
stageMask))
() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdWaitEvents2KHRUnsafe
:: FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr Event -> Ptr DependencyInfoKHR -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr Event -> Ptr DependencyInfoKHR -> IO ()
foreign import ccall
"dynamic" mkVkCmdWaitEvents2KHRSafe
:: FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr Event -> Ptr DependencyInfoKHR -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr Event -> Ptr DependencyInfoKHR -> IO ()
cmdWaitEvents2KHRSafeOrUnsafe :: forall io
. (MonadIO io)
=> (FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr Event -> Ptr DependencyInfoKHR -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr Event -> Ptr DependencyInfoKHR -> IO ())
->
CommandBuffer
->
("events" ::: Vector Event)
->
("dependencyInfos" ::: Vector DependencyInfoKHR)
-> io ()
cmdWaitEvents2KHRSafeOrUnsafe :: (FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> CommandBuffer
-> ("events" ::: Vector Event)
-> ("dependencyInfos" ::: Vector DependencyInfoKHR)
-> io ()
cmdWaitEvents2KHRSafeOrUnsafe FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ()
mkVkCmdWaitEvents2KHR CommandBuffer
commandBuffer "events" ::: Vector Event
events "dependencyInfos" ::: Vector DependencyInfoKHR
dependencyInfos = 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 vkCmdWaitEvents2KHRPtr :: FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
vkCmdWaitEvents2KHRPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
pVkCmdWaitEvents2KHR (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> 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
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
vkCmdWaitEvents2KHRPtr FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> 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 vkCmdWaitEvents2KHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdWaitEvents2KHR' :: Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ()
vkCmdWaitEvents2KHR' = FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ()
mkVkCmdWaitEvents2KHR FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
vkCmdWaitEvents2KHRPtr
let pEventsLength :: Int
pEventsLength = ("events" ::: Vector Event) -> Int
forall a. Vector a -> Int
Data.Vector.length (("events" ::: Vector Event) -> Int)
-> ("events" ::: Vector Event) -> Int
forall a b. (a -> b) -> a -> b
$ ("events" ::: Vector Event
events)
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 ((("dependencyInfos" ::: Vector DependencyInfoKHR) -> Int
forall a. Vector a -> Int
Data.Vector.length (("dependencyInfos" ::: Vector DependencyInfoKHR) -> Int)
-> ("dependencyInfos" ::: Vector DependencyInfoKHR) -> Int
forall a b. (a -> b) -> a -> b
$ ("dependencyInfos" ::: Vector DependencyInfoKHR
dependencyInfos)) Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
== Int
pEventsLength) (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
"pDependencyInfos and pEvents must have the same length" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
Ptr Event
pPEvents <- ((Ptr Event -> IO ()) -> IO ()) -> ContT () IO (Ptr Event)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr Event -> IO ()) -> IO ()) -> ContT () IO (Ptr Event))
-> ((Ptr Event -> IO ()) -> IO ()) -> ContT () IO (Ptr Event)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr Event -> IO ()) -> IO ()
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @Event ((("events" ::: Vector Event) -> Int
forall a. Vector a -> Int
Data.Vector.length ("events" ::: Vector Event
events)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
8)
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
$ (Int -> Event -> IO ()) -> ("events" ::: Vector Event) -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i Event
e -> Ptr Event -> Event -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Event
pPEvents Ptr Event -> Int -> Ptr Event
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
8 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr Event) (Event
e)) ("events" ::: Vector Event
events)
"pDependencyInfo" ::: Ptr DependencyInfoKHR
pPDependencyInfos <- ((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ()) -> IO ())
-> ContT () IO ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> IO ())
-> ContT () IO ("pDependencyInfo" ::: Ptr DependencyInfoKHR))
-> ((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> IO ())
-> ContT () IO ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
forall a b. (a -> b) -> a -> b
$ Int
-> (("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> IO ()
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @DependencyInfoKHR ((("dependencyInfos" ::: Vector DependencyInfoKHR) -> Int
forall a. Vector a -> Int
Data.Vector.length ("dependencyInfos" ::: Vector DependencyInfoKHR
dependencyInfos)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
64)
(Int -> DependencyInfoKHR -> ContT () IO ())
-> ("dependencyInfos" ::: Vector DependencyInfoKHR)
-> ContT () IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i DependencyInfoKHR
e -> ((() -> IO ()) -> IO ()) -> ContT () IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO ()) -> IO ()) -> ContT () IO ())
-> ((() -> IO ()) -> IO ()) -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> DependencyInfoKHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pDependencyInfo" ::: Ptr DependencyInfoKHR
pPDependencyInfos ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> "pDependencyInfo" ::: Ptr DependencyInfoKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
64 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DependencyInfoKHR) (DependencyInfoKHR
e) (IO () -> IO ())
-> ((() -> IO ()) -> IO ()) -> (() -> IO ()) -> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ())) ("dependencyInfos" ::: Vector DependencyInfoKHR
dependencyInfos)
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
"vkCmdWaitEvents2KHR" (Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ()
vkCmdWaitEvents2KHR' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
pEventsLength :: Word32)) (Ptr Event
pPEvents) ("pDependencyInfo" ::: Ptr DependencyInfoKHR
pPDependencyInfos))
() -> ContT () IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> ContT () IO ()) -> () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ()
cmdWaitEvents2KHR :: forall io
. (MonadIO io)
=>
CommandBuffer
->
("events" ::: Vector Event)
->
("dependencyInfos" ::: Vector DependencyInfoKHR)
-> io ()
cmdWaitEvents2KHR :: CommandBuffer
-> ("events" ::: Vector Event)
-> ("dependencyInfos" ::: Vector DependencyInfoKHR)
-> io ()
cmdWaitEvents2KHR = (FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> CommandBuffer
-> ("events" ::: Vector Event)
-> ("dependencyInfos" ::: Vector DependencyInfoKHR)
-> io ()
forall (io :: * -> *).
MonadIO io =>
(FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> CommandBuffer
-> ("events" ::: Vector Event)
-> ("dependencyInfos" ::: Vector DependencyInfoKHR)
-> io ()
cmdWaitEvents2KHRSafeOrUnsafe FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ()
mkVkCmdWaitEvents2KHRUnsafe
cmdWaitEvents2KHRSafe :: forall io
. (MonadIO io)
=>
CommandBuffer
->
("events" ::: Vector Event)
->
("dependencyInfos" ::: Vector DependencyInfoKHR)
-> io ()
cmdWaitEvents2KHRSafe :: CommandBuffer
-> ("events" ::: Vector Event)
-> ("dependencyInfos" ::: Vector DependencyInfoKHR)
-> io ()
cmdWaitEvents2KHRSafe = (FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> CommandBuffer
-> ("events" ::: Vector Event)
-> ("dependencyInfos" ::: Vector DependencyInfoKHR)
-> io ()
forall (io :: * -> *).
MonadIO io =>
(FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> CommandBuffer
-> ("events" ::: Vector Event)
-> ("dependencyInfos" ::: Vector DependencyInfoKHR)
-> io ()
cmdWaitEvents2KHRSafeOrUnsafe FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ()
mkVkCmdWaitEvents2KHRSafe
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdPipelineBarrier2KHR
:: FunPtr (Ptr CommandBuffer_T -> Ptr DependencyInfoKHR -> IO ()) -> Ptr CommandBuffer_T -> Ptr DependencyInfoKHR -> IO ()
cmdPipelineBarrier2KHR :: forall io
. (MonadIO io)
=>
CommandBuffer
->
DependencyInfoKHR
-> io ()
cmdPipelineBarrier2KHR :: CommandBuffer -> DependencyInfoKHR -> io ()
cmdPipelineBarrier2KHR CommandBuffer
commandBuffer DependencyInfoKHR
dependencyInfo = 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 vkCmdPipelineBarrier2KHRPtr :: FunPtr
(Ptr CommandBuffer_T
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
vkCmdPipelineBarrier2KHRPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
pVkCmdPipelineBarrier2KHR (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> 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
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
vkCmdPipelineBarrier2KHRPtr FunPtr
(Ptr CommandBuffer_T
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr CommandBuffer_T
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> 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 vkCmdPipelineBarrier2KHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdPipelineBarrier2KHR' :: Ptr CommandBuffer_T
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ()
vkCmdPipelineBarrier2KHR' = FunPtr
(Ptr CommandBuffer_T
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> Ptr CommandBuffer_T
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ()
mkVkCmdPipelineBarrier2KHR FunPtr
(Ptr CommandBuffer_T
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
vkCmdPipelineBarrier2KHRPtr
"pDependencyInfo" ::: Ptr DependencyInfoKHR
pDependencyInfo <- ((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ()) -> IO ())
-> ContT () IO ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> IO ())
-> ContT () IO ("pDependencyInfo" ::: Ptr DependencyInfoKHR))
-> ((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> IO ())
-> ContT () IO ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
forall a b. (a -> b) -> a -> b
$ DependencyInfoKHR
-> (("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DependencyInfoKHR
dependencyInfo)
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
"vkCmdPipelineBarrier2KHR" (Ptr CommandBuffer_T
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ()
vkCmdPipelineBarrier2KHR' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) "pDependencyInfo" ::: Ptr DependencyInfoKHR
pDependencyInfo)
() -> ContT () IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> ContT () IO ()) -> () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkQueueSubmit2KHR
:: FunPtr (Ptr Queue_T -> Word32 -> Ptr (SomeStruct SubmitInfo2KHR) -> Fence -> IO Result) -> Ptr Queue_T -> Word32 -> Ptr (SomeStruct SubmitInfo2KHR) -> Fence -> IO Result
queueSubmit2KHR :: forall io
. (MonadIO io)
=>
Queue
->
("submits" ::: Vector (SomeStruct SubmitInfo2KHR))
->
Fence
-> io ()
queueSubmit2KHR :: Queue
-> ("submits" ::: Vector (SomeStruct SubmitInfo2KHR))
-> Fence
-> io ()
queueSubmit2KHR Queue
queue "submits" ::: Vector (SomeStruct SubmitInfo2KHR)
submits Fence
fence = 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 vkQueueSubmit2KHRPtr :: FunPtr
(Ptr Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result)
vkQueueSubmit2KHRPtr = DeviceCmds
-> FunPtr
(Ptr Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result)
pVkQueueSubmit2KHR (case Queue
queue of Queue{DeviceCmds
$sel:deviceCmds:Queue :: Queue -> 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 Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result)
vkQueueSubmit2KHRPtr FunPtr
(Ptr Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result)
-> FunPtr
(Ptr Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result)
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 vkQueueSubmit2KHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkQueueSubmit2KHR' :: Ptr Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result
vkQueueSubmit2KHR' = FunPtr
(Ptr Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result)
-> Ptr Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result
mkVkQueueSubmit2KHR FunPtr
(Ptr Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result)
vkQueueSubmit2KHRPtr
Ptr (SubmitInfo2KHR Any)
pPSubmits <- ((Ptr (SubmitInfo2KHR Any) -> IO ()) -> IO ())
-> ContT () IO (Ptr (SubmitInfo2KHR Any))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (SubmitInfo2KHR Any) -> IO ()) -> IO ())
-> ContT () IO (Ptr (SubmitInfo2KHR Any)))
-> ((Ptr (SubmitInfo2KHR Any) -> IO ()) -> IO ())
-> ContT () IO (Ptr (SubmitInfo2KHR Any))
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr (SubmitInfo2KHR Any) -> IO ()) -> IO ()
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @(SubmitInfo2KHR _) ((("submits" ::: Vector (SomeStruct SubmitInfo2KHR)) -> Int
forall a. Vector a -> Int
Data.Vector.length ("submits" ::: Vector (SomeStruct SubmitInfo2KHR)
submits)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
64)
(Int -> SomeStruct SubmitInfo2KHR -> ContT () IO ())
-> ("submits" ::: Vector (SomeStruct SubmitInfo2KHR))
-> ContT () IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i SomeStruct SubmitInfo2KHR
e -> ((() -> IO ()) -> IO ()) -> ContT () IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO ()) -> IO ()) -> ContT () IO ())
-> ((() -> IO ()) -> IO ()) -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> SomeStruct SubmitInfo2KHR -> IO () -> IO ()
forall (a :: [*] -> *) b.
(forall (es :: [*]).
(Extendss a es, PokeChain es) =>
ToCStruct (a es)) =>
Ptr (SomeStruct a) -> SomeStruct a -> IO b -> IO b
pokeSomeCStruct (Ptr (SubmitInfo2KHR Any)
-> "pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions (Ptr (SubmitInfo2KHR Any)
pPSubmits Ptr (SubmitInfo2KHR Any) -> Int -> Ptr (SubmitInfo2KHR _)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
64 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr (SubmitInfo2KHR _))) (SomeStruct SubmitInfo2KHR
e) (IO () -> IO ())
-> ((() -> IO ()) -> IO ()) -> (() -> IO ()) -> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ())) ("submits" ::: Vector (SomeStruct SubmitInfo2KHR)
submits)
Result
r <- IO Result -> ContT () IO Result
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result -> ContT () IO Result)
-> IO Result -> ContT () IO Result
forall a b. (a -> b) -> a -> b
$ String -> IO Result -> IO Result
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkQueueSubmit2KHR" (Ptr Queue_T
-> Word32
-> ("pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR))
-> Fence
-> IO Result
vkQueueSubmit2KHR' (Queue -> Ptr Queue_T
queueHandle (Queue
queue)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (("submits" ::: Vector (SomeStruct SubmitInfo2KHR)) -> Int
forall a. Vector a -> Int
Data.Vector.length (("submits" ::: Vector (SomeStruct SubmitInfo2KHR)) -> Int)
-> ("submits" ::: Vector (SomeStruct SubmitInfo2KHR)) -> Int
forall a b. (a -> b) -> a -> b
$ ("submits" ::: Vector (SomeStruct SubmitInfo2KHR)
submits)) :: Word32)) (Ptr (SubmitInfo2KHR Any)
-> "pSubmits" ::: Ptr (SomeStruct SubmitInfo2KHR)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions (Ptr (SubmitInfo2KHR Any)
pPSubmits)) (Fence
fence))
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 ()
when (Result
r Result -> Result -> Bool
forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (VulkanException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (Result -> VulkanException
VulkanException Result
r))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdWriteTimestamp2KHR
:: FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2KHR -> QueryPool -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> PipelineStageFlags2KHR -> QueryPool -> Word32 -> IO ()
cmdWriteTimestamp2KHR :: forall io
. (MonadIO io)
=>
CommandBuffer
->
PipelineStageFlags2KHR
->
QueryPool
->
("query" ::: Word32)
-> io ()
cmdWriteTimestamp2KHR :: CommandBuffer
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> io ()
cmdWriteTimestamp2KHR CommandBuffer
commandBuffer "stageMask" ::: PipelineStageFlags2KHR
stage QueryPool
queryPool Word32
query = 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 vkCmdWriteTimestamp2KHRPtr :: FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> IO ())
vkCmdWriteTimestamp2KHRPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> IO ())
pVkCmdWriteTimestamp2KHR (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
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> IO ())
vkCmdWriteTimestamp2KHRPtr FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> 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 vkCmdWriteTimestamp2KHR is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdWriteTimestamp2KHR' :: Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> IO ()
vkCmdWriteTimestamp2KHR' = FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> IO ())
-> Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> IO ()
mkVkCmdWriteTimestamp2KHR FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> IO ())
vkCmdWriteTimestamp2KHRPtr
String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdWriteTimestamp2KHR" (Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> QueryPool
-> Word32
-> IO ()
vkCmdWriteTimestamp2KHR' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) ("stageMask" ::: PipelineStageFlags2KHR
stage) (QueryPool
queryPool) (Word32
query))
() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdWriteBufferMarker2AMD
:: FunPtr (Ptr CommandBuffer_T -> PipelineStageFlags2KHR -> Buffer -> DeviceSize -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> PipelineStageFlags2KHR -> Buffer -> DeviceSize -> Word32 -> IO ()
cmdWriteBufferMarker2AMD :: forall io
. (MonadIO io)
=>
CommandBuffer
->
PipelineStageFlags2KHR
->
("dstBuffer" ::: Buffer)
->
("dstOffset" ::: DeviceSize)
->
("marker" ::: Word32)
-> io ()
cmdWriteBufferMarker2AMD :: CommandBuffer
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> io ()
cmdWriteBufferMarker2AMD CommandBuffer
commandBuffer "stageMask" ::: PipelineStageFlags2KHR
stage "dstBuffer" ::: Buffer
dstBuffer "dstOffset" ::: DeviceSize
dstOffset Word32
marker = 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 vkCmdWriteBufferMarker2AMDPtr :: FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> IO ())
vkCmdWriteBufferMarker2AMDPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> IO ())
pVkCmdWriteBufferMarker2AMD (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
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> IO ())
vkCmdWriteBufferMarker2AMDPtr FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> 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 vkCmdWriteBufferMarker2AMD is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdWriteBufferMarker2AMD' :: Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> IO ()
vkCmdWriteBufferMarker2AMD' = FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> IO ())
-> Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> IO ()
mkVkCmdWriteBufferMarker2AMD FunPtr
(Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> IO ())
vkCmdWriteBufferMarker2AMDPtr
String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdWriteBufferMarker2AMD" (Ptr CommandBuffer_T
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> Word32
-> IO ()
vkCmdWriteBufferMarker2AMD' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) ("stageMask" ::: PipelineStageFlags2KHR
stage) ("dstBuffer" ::: Buffer
dstBuffer) ("dstOffset" ::: DeviceSize
dstOffset) (Word32
marker))
() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkGetQueueCheckpointData2NV
:: FunPtr (Ptr Queue_T -> Ptr Word32 -> Ptr CheckpointData2NV -> IO ()) -> Ptr Queue_T -> Ptr Word32 -> Ptr CheckpointData2NV -> IO ()
getQueueCheckpointData2NV :: forall io
. (MonadIO io)
=>
Queue
-> io (("checkpointData" ::: Vector CheckpointData2NV))
getQueueCheckpointData2NV :: Queue -> io ("checkpointData" ::: Vector CheckpointData2NV)
getQueueCheckpointData2NV Queue
queue = IO ("checkpointData" ::: Vector CheckpointData2NV)
-> io ("checkpointData" ::: Vector CheckpointData2NV)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ("checkpointData" ::: Vector CheckpointData2NV)
-> io ("checkpointData" ::: Vector CheckpointData2NV))
-> (ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV)
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV)
-> io ("checkpointData" ::: Vector CheckpointData2NV)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV)
-> IO ("checkpointData" ::: Vector CheckpointData2NV)
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV)
-> io ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV)
-> io ("checkpointData" ::: Vector CheckpointData2NV)
forall a b. (a -> b) -> a -> b
$ do
let vkGetQueueCheckpointData2NVPtr :: FunPtr
(Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ())
vkGetQueueCheckpointData2NVPtr = DeviceCmds
-> FunPtr
(Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ())
pVkGetQueueCheckpointData2NV (case Queue
queue of Queue{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:Queue :: Queue -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
IO ()
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ())
-> IO ()
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ())
vkGetQueueCheckpointData2NVPtr FunPtr
(Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ())
-> FunPtr
(Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> 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 vkGetQueueCheckpointData2NV is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkGetQueueCheckpointData2NV' :: Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ()
vkGetQueueCheckpointData2NV' = FunPtr
(Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ())
-> Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ()
mkVkGetQueueCheckpointData2NV FunPtr
(Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ())
vkGetQueueCheckpointData2NVPtr
let queue' :: Ptr Queue_T
queue' = Queue -> Ptr Queue_T
queueHandle (Queue
queue)
"pCheckpointDataCount" ::: Ptr Word32
pPCheckpointDataCount <- ((("pCheckpointDataCount" ::: Ptr Word32)
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("pCheckpointDataCount" ::: Ptr Word32)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pCheckpointDataCount" ::: Ptr Word32)
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("pCheckpointDataCount" ::: Ptr Word32))
-> ((("pCheckpointDataCount" ::: Ptr Word32)
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("pCheckpointDataCount" ::: Ptr Word32)
forall a b. (a -> b) -> a -> b
$ IO ("pCheckpointDataCount" ::: Ptr Word32)
-> (("pCheckpointDataCount" ::: Ptr Word32) -> IO ())
-> (("pCheckpointDataCount" ::: Ptr Word32)
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV)
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (Int -> IO ("pCheckpointDataCount" ::: Ptr Word32)
forall a. Int -> IO (Ptr a)
callocBytes @Word32 Int
4) ("pCheckpointDataCount" ::: Ptr Word32) -> IO ()
forall a. Ptr a -> IO ()
free
IO ()
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ())
-> IO ()
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetQueueCheckpointData2NV" (Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ()
vkGetQueueCheckpointData2NV' Ptr Queue_T
queue' ("pCheckpointDataCount" ::: Ptr Word32
pPCheckpointDataCount) ("pCheckpointData" ::: Ptr CheckpointData2NV
forall a. Ptr a
nullPtr))
Word32
pCheckpointDataCount <- IO Word32
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO Word32
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Word32
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO Word32)
-> IO Word32
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO Word32
forall a b. (a -> b) -> a -> b
$ ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 "pCheckpointDataCount" ::: Ptr Word32
pPCheckpointDataCount
"pCheckpointData" ::: Ptr CheckpointData2NV
pPCheckpointData <- ((("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("pCheckpointData" ::: Ptr CheckpointData2NV)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("pCheckpointData" ::: Ptr CheckpointData2NV))
-> ((("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("pCheckpointData" ::: Ptr CheckpointData2NV)
forall a b. (a -> b) -> a -> b
$ IO ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> (("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO ())
-> (("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV)
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (Int -> IO ("pCheckpointData" ::: Ptr CheckpointData2NV)
forall a. Int -> IO (Ptr a)
callocBytes @CheckpointData2NV ((Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Word32
pCheckpointDataCount)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
32)) ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO ()
forall a. Ptr a -> IO ()
free
[()]
_ <- (Int
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ())
-> [Int]
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO [()]
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse (\Int
i -> ((() -> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ())
-> ((() -> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ()
forall a b. (a -> b) -> a -> b
$ ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ("checkpointData" ::: Vector CheckpointData2NV)
-> IO ("checkpointData" ::: Vector CheckpointData2NV)
forall a b. ToCStruct a => Ptr a -> IO b -> IO b
pokeZeroCStruct ("pCheckpointData" ::: Ptr CheckpointData2NV
pPCheckpointData ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> "pCheckpointData" ::: Ptr CheckpointData2NV
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
32) :: Ptr CheckpointData2NV) (IO ("checkpointData" ::: Vector CheckpointData2NV)
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> ((() -> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> (() -> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO ("checkpointData" ::: Vector CheckpointData2NV))
-> () -> IO ("checkpointData" ::: Vector CheckpointData2NV)
forall a b. (a -> b) -> a -> b
$ ())) [Int
0..(Word32 -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Word32
pCheckpointDataCount)) Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1]
IO ()
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ()
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ())
-> IO ()
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO ()
forall a b. (a -> b) -> a -> b
$ String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkGetQueueCheckpointData2NV" (Ptr Queue_T
-> ("pCheckpointDataCount" ::: Ptr Word32)
-> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO ()
vkGetQueueCheckpointData2NV' Ptr Queue_T
queue' ("pCheckpointDataCount" ::: Ptr Word32
pPCheckpointDataCount) (("pCheckpointData" ::: Ptr CheckpointData2NV
pPCheckpointData)))
Word32
pCheckpointDataCount' <- IO Word32
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO Word32
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Word32
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO Word32)
-> IO Word32
-> ContT ("checkpointData" ::: Vector CheckpointData2NV) IO Word32
forall a b. (a -> b) -> a -> b
$ ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 "pCheckpointDataCount" ::: Ptr Word32
pPCheckpointDataCount
"checkpointData" ::: Vector CheckpointData2NV
pCheckpointData' <- IO ("checkpointData" ::: Vector CheckpointData2NV)
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO ("checkpointData" ::: Vector CheckpointData2NV)
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV))
-> IO ("checkpointData" ::: Vector CheckpointData2NV)
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV)
forall a b. (a -> b) -> a -> b
$ Int
-> (Int -> IO CheckpointData2NV)
-> IO ("checkpointData" ::: Vector CheckpointData2NV)
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
pCheckpointDataCount')) (\Int
i -> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO CheckpointData2NV
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @CheckpointData2NV ((("pCheckpointData" ::: Ptr CheckpointData2NV
pPCheckpointData) ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> "pCheckpointData" ::: Ptr CheckpointData2NV
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
32 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr CheckpointData2NV)))
("checkpointData" ::: Vector CheckpointData2NV)
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV)
forall (f :: * -> *) a. Applicative f => a -> f a
pure (("checkpointData" ::: Vector CheckpointData2NV)
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV))
-> ("checkpointData" ::: Vector CheckpointData2NV)
-> ContT
("checkpointData" ::: Vector CheckpointData2NV)
IO
("checkpointData" ::: Vector CheckpointData2NV)
forall a b. (a -> b) -> a -> b
$ ("checkpointData" ::: Vector CheckpointData2NV
pCheckpointData')
pattern $bPIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV = PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
pattern $bACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV :: AccessFlagBits2KHR
$mACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV = ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR
pattern $bPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV = PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
pattern $bPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV = PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR
pattern $bACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV :: AccessFlagBits2KHR
$mACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV = ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR
pattern $bACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV :: AccessFlagBits2KHR
$mACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR
pattern $bPIPELINE_STAGE_2_TRANSFER_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_TRANSFER_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_TRANSFER_BIT_KHR = PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR
data MemoryBarrier2KHR = MemoryBarrier2KHR
{
MemoryBarrier2KHR -> "stageMask" ::: PipelineStageFlags2KHR
srcStageMask :: PipelineStageFlags2KHR
,
MemoryBarrier2KHR -> AccessFlagBits2KHR
srcAccessMask :: AccessFlags2KHR
,
MemoryBarrier2KHR -> "stageMask" ::: PipelineStageFlags2KHR
dstStageMask :: PipelineStageFlags2KHR
,
MemoryBarrier2KHR -> AccessFlagBits2KHR
dstAccessMask :: AccessFlags2KHR
}
deriving (Typeable, MemoryBarrier2KHR -> MemoryBarrier2KHR -> Bool
(MemoryBarrier2KHR -> MemoryBarrier2KHR -> Bool)
-> (MemoryBarrier2KHR -> MemoryBarrier2KHR -> Bool)
-> Eq MemoryBarrier2KHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: MemoryBarrier2KHR -> MemoryBarrier2KHR -> Bool
$c/= :: MemoryBarrier2KHR -> MemoryBarrier2KHR -> Bool
== :: MemoryBarrier2KHR -> MemoryBarrier2KHR -> Bool
$c== :: MemoryBarrier2KHR -> MemoryBarrier2KHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (MemoryBarrier2KHR)
#endif
deriving instance Show MemoryBarrier2KHR
instance ToCStruct MemoryBarrier2KHR where
withCStruct :: MemoryBarrier2KHR -> (Ptr MemoryBarrier2KHR -> IO b) -> IO b
withCStruct MemoryBarrier2KHR
x Ptr MemoryBarrier2KHR -> IO b
f = Int -> (Ptr MemoryBarrier2KHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
48 ((Ptr MemoryBarrier2KHR -> IO b) -> IO b)
-> (Ptr MemoryBarrier2KHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr MemoryBarrier2KHR
p -> Ptr MemoryBarrier2KHR -> MemoryBarrier2KHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr MemoryBarrier2KHR
p MemoryBarrier2KHR
x (Ptr MemoryBarrier2KHR -> IO b
f Ptr MemoryBarrier2KHR
p)
pokeCStruct :: Ptr MemoryBarrier2KHR -> MemoryBarrier2KHR -> IO b -> IO b
pokeCStruct Ptr MemoryBarrier2KHR
p MemoryBarrier2KHR{"stageMask" ::: PipelineStageFlags2KHR
AccessFlagBits2KHR
dstAccessMask :: AccessFlagBits2KHR
dstStageMask :: "stageMask" ::: PipelineStageFlags2KHR
srcAccessMask :: AccessFlagBits2KHR
srcStageMask :: "stageMask" ::: PipelineStageFlags2KHR
$sel:dstAccessMask:MemoryBarrier2KHR :: MemoryBarrier2KHR -> AccessFlagBits2KHR
$sel:dstStageMask:MemoryBarrier2KHR :: MemoryBarrier2KHR -> "stageMask" ::: PipelineStageFlags2KHR
$sel:srcAccessMask:MemoryBarrier2KHR :: MemoryBarrier2KHR -> AccessFlagBits2KHR
$sel:srcStageMask:MemoryBarrier2KHR :: MemoryBarrier2KHR -> "stageMask" ::: PipelineStageFlags2KHR
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
srcStageMask)
Ptr AccessFlagBits2KHR -> AccessFlagBits2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr AccessFlags2KHR)) (AccessFlagBits2KHR
srcAccessMask)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
dstStageMask)
Ptr AccessFlagBits2KHR -> AccessFlagBits2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr AccessFlags2KHR)) (AccessFlagBits2KHR
dstAccessMask)
IO b
f
cStructSize :: Int
cStructSize = Int
48
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr MemoryBarrier2KHR -> IO b -> IO b
pokeZeroCStruct Ptr MemoryBarrier2KHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR -> 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 MemoryBarrier2KHR where
peekCStruct :: Ptr MemoryBarrier2KHR -> IO MemoryBarrier2KHR
peekCStruct Ptr MemoryBarrier2KHR
p = do
"stageMask" ::: PipelineStageFlags2KHR
srcStageMask <- Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
forall a. Storable a => Ptr a -> IO a
peek @PipelineStageFlags2KHR ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR))
AccessFlagBits2KHR
srcAccessMask <- Ptr AccessFlagBits2KHR -> IO AccessFlagBits2KHR
forall a. Storable a => Ptr a -> IO a
peek @AccessFlags2KHR ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr AccessFlags2KHR))
"stageMask" ::: PipelineStageFlags2KHR
dstStageMask <- Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
forall a. Storable a => Ptr a -> IO a
peek @PipelineStageFlags2KHR ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PipelineStageFlags2KHR))
AccessFlagBits2KHR
dstAccessMask <- Ptr AccessFlagBits2KHR -> IO AccessFlagBits2KHR
forall a. Storable a => Ptr a -> IO a
peek @AccessFlags2KHR ((Ptr MemoryBarrier2KHR
p Ptr MemoryBarrier2KHR -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr AccessFlags2KHR))
MemoryBarrier2KHR -> IO MemoryBarrier2KHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (MemoryBarrier2KHR -> IO MemoryBarrier2KHR)
-> MemoryBarrier2KHR -> IO MemoryBarrier2KHR
forall a b. (a -> b) -> a -> b
$ ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> MemoryBarrier2KHR
MemoryBarrier2KHR
"stageMask" ::: PipelineStageFlags2KHR
srcStageMask AccessFlagBits2KHR
srcAccessMask "stageMask" ::: PipelineStageFlags2KHR
dstStageMask AccessFlagBits2KHR
dstAccessMask
instance Storable MemoryBarrier2KHR where
sizeOf :: MemoryBarrier2KHR -> Int
sizeOf ~MemoryBarrier2KHR
_ = Int
48
alignment :: MemoryBarrier2KHR -> Int
alignment ~MemoryBarrier2KHR
_ = Int
8
peek :: Ptr MemoryBarrier2KHR -> IO MemoryBarrier2KHR
peek = Ptr MemoryBarrier2KHR -> IO MemoryBarrier2KHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr MemoryBarrier2KHR -> MemoryBarrier2KHR -> IO ()
poke Ptr MemoryBarrier2KHR
ptr MemoryBarrier2KHR
poked = Ptr MemoryBarrier2KHR -> MemoryBarrier2KHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr MemoryBarrier2KHR
ptr MemoryBarrier2KHR
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero MemoryBarrier2KHR where
zero :: MemoryBarrier2KHR
zero = ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> MemoryBarrier2KHR
MemoryBarrier2KHR
"stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero
AccessFlagBits2KHR
forall a. Zero a => a
zero
"stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero
AccessFlagBits2KHR
forall a. Zero a => a
zero
data ImageMemoryBarrier2KHR (es :: [Type]) = ImageMemoryBarrier2KHR
{
ImageMemoryBarrier2KHR es -> Chain es
next :: Chain es
,
ImageMemoryBarrier2KHR es -> "stageMask" ::: PipelineStageFlags2KHR
srcStageMask :: PipelineStageFlags2KHR
,
ImageMemoryBarrier2KHR es -> AccessFlagBits2KHR
srcAccessMask :: AccessFlags2KHR
,
ImageMemoryBarrier2KHR es -> "stageMask" ::: PipelineStageFlags2KHR
dstStageMask :: PipelineStageFlags2KHR
,
ImageMemoryBarrier2KHR es -> AccessFlagBits2KHR
dstAccessMask :: AccessFlags2KHR
,
ImageMemoryBarrier2KHR es -> ImageLayout
oldLayout :: ImageLayout
,
ImageMemoryBarrier2KHR es -> ImageLayout
newLayout :: ImageLayout
,
ImageMemoryBarrier2KHR es -> Word32
srcQueueFamilyIndex :: Word32
,
ImageMemoryBarrier2KHR es -> Word32
dstQueueFamilyIndex :: Word32
,
ImageMemoryBarrier2KHR es -> Image
image :: Image
,
ImageMemoryBarrier2KHR es -> ImageSubresourceRange
subresourceRange :: ImageSubresourceRange
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (ImageMemoryBarrier2KHR (es :: [Type]))
#endif
deriving instance Show (Chain es) => Show (ImageMemoryBarrier2KHR es)
instance Extensible ImageMemoryBarrier2KHR where
extensibleTypeName :: String
extensibleTypeName = String
"ImageMemoryBarrier2KHR"
setNext :: ImageMemoryBarrier2KHR ds -> Chain es -> ImageMemoryBarrier2KHR es
setNext ImageMemoryBarrier2KHR{Word32
Chain ds
ImageLayout
Image
ImageSubresourceRange
"stageMask" ::: PipelineStageFlags2KHR
AccessFlagBits2KHR
subresourceRange :: ImageSubresourceRange
image :: Image
dstQueueFamilyIndex :: Word32
srcQueueFamilyIndex :: Word32
newLayout :: ImageLayout
oldLayout :: ImageLayout
dstAccessMask :: AccessFlagBits2KHR
dstStageMask :: "stageMask" ::: PipelineStageFlags2KHR
srcAccessMask :: AccessFlagBits2KHR
srcStageMask :: "stageMask" ::: PipelineStageFlags2KHR
next :: Chain ds
$sel:subresourceRange:ImageMemoryBarrier2KHR :: forall (es :: [*]).
ImageMemoryBarrier2KHR es -> ImageSubresourceRange
$sel:image:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Image
$sel:dstQueueFamilyIndex:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Word32
$sel:srcQueueFamilyIndex:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Word32
$sel:newLayout:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> ImageLayout
$sel:oldLayout:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> ImageLayout
$sel:dstAccessMask:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> AccessFlagBits2KHR
$sel:dstStageMask:ImageMemoryBarrier2KHR :: forall (es :: [*]).
ImageMemoryBarrier2KHR es -> "stageMask" ::: PipelineStageFlags2KHR
$sel:srcAccessMask:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> AccessFlagBits2KHR
$sel:srcStageMask:ImageMemoryBarrier2KHR :: forall (es :: [*]).
ImageMemoryBarrier2KHR es -> "stageMask" ::: PipelineStageFlags2KHR
$sel:next:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Chain es
..} Chain es
next' = ImageMemoryBarrier2KHR :: forall (es :: [*]).
Chain es
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ImageLayout
-> ImageLayout
-> Word32
-> Word32
-> Image
-> ImageSubresourceRange
-> ImageMemoryBarrier2KHR es
ImageMemoryBarrier2KHR{$sel:next:ImageMemoryBarrier2KHR :: Chain es
next = Chain es
next', Word32
ImageLayout
Image
ImageSubresourceRange
"stageMask" ::: PipelineStageFlags2KHR
AccessFlagBits2KHR
subresourceRange :: ImageSubresourceRange
image :: Image
dstQueueFamilyIndex :: Word32
srcQueueFamilyIndex :: Word32
newLayout :: ImageLayout
oldLayout :: ImageLayout
dstAccessMask :: AccessFlagBits2KHR
dstStageMask :: "stageMask" ::: PipelineStageFlags2KHR
srcAccessMask :: AccessFlagBits2KHR
srcStageMask :: "stageMask" ::: PipelineStageFlags2KHR
$sel:subresourceRange:ImageMemoryBarrier2KHR :: ImageSubresourceRange
$sel:image:ImageMemoryBarrier2KHR :: Image
$sel:dstQueueFamilyIndex:ImageMemoryBarrier2KHR :: Word32
$sel:srcQueueFamilyIndex:ImageMemoryBarrier2KHR :: Word32
$sel:newLayout:ImageMemoryBarrier2KHR :: ImageLayout
$sel:oldLayout:ImageMemoryBarrier2KHR :: ImageLayout
$sel:dstAccessMask:ImageMemoryBarrier2KHR :: AccessFlagBits2KHR
$sel:dstStageMask:ImageMemoryBarrier2KHR :: "stageMask" ::: PipelineStageFlags2KHR
$sel:srcAccessMask:ImageMemoryBarrier2KHR :: AccessFlagBits2KHR
$sel:srcStageMask:ImageMemoryBarrier2KHR :: "stageMask" ::: PipelineStageFlags2KHR
..}
getNext :: ImageMemoryBarrier2KHR es -> Chain es
getNext ImageMemoryBarrier2KHR{Word32
Chain es
ImageLayout
Image
ImageSubresourceRange
"stageMask" ::: PipelineStageFlags2KHR
AccessFlagBits2KHR
subresourceRange :: ImageSubresourceRange
image :: Image
dstQueueFamilyIndex :: Word32
srcQueueFamilyIndex :: Word32
newLayout :: ImageLayout
oldLayout :: ImageLayout
dstAccessMask :: AccessFlagBits2KHR
dstStageMask :: "stageMask" ::: PipelineStageFlags2KHR
srcAccessMask :: AccessFlagBits2KHR
srcStageMask :: "stageMask" ::: PipelineStageFlags2KHR
next :: Chain es
$sel:subresourceRange:ImageMemoryBarrier2KHR :: forall (es :: [*]).
ImageMemoryBarrier2KHR es -> ImageSubresourceRange
$sel:image:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Image
$sel:dstQueueFamilyIndex:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Word32
$sel:srcQueueFamilyIndex:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Word32
$sel:newLayout:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> ImageLayout
$sel:oldLayout:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> ImageLayout
$sel:dstAccessMask:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> AccessFlagBits2KHR
$sel:dstStageMask:ImageMemoryBarrier2KHR :: forall (es :: [*]).
ImageMemoryBarrier2KHR es -> "stageMask" ::: PipelineStageFlags2KHR
$sel:srcAccessMask:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> AccessFlagBits2KHR
$sel:srcStageMask:ImageMemoryBarrier2KHR :: forall (es :: [*]).
ImageMemoryBarrier2KHR es -> "stageMask" ::: PipelineStageFlags2KHR
$sel:next:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Chain es
..} = Chain es
next
extends :: forall e b proxy. Typeable e => proxy e -> (Extends ImageMemoryBarrier2KHR e => b) -> Maybe b
extends :: proxy e -> (Extends ImageMemoryBarrier2KHR e => b) -> Maybe b
extends proxy e
_ Extends ImageMemoryBarrier2KHR e => b
f
| Just e :~: SampleLocationsInfoEXT
Refl <- (Typeable e, Typeable SampleLocationsInfoEXT) =>
Maybe (e :~: SampleLocationsInfoEXT)
forall k (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
eqT @e @SampleLocationsInfoEXT = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends ImageMemoryBarrier2KHR e => b
f
| Bool
otherwise = Maybe b
forall a. Maybe a
Nothing
instance (Extendss ImageMemoryBarrier2KHR es, PokeChain es) => ToCStruct (ImageMemoryBarrier2KHR es) where
withCStruct :: ImageMemoryBarrier2KHR es
-> (Ptr (ImageMemoryBarrier2KHR es) -> IO b) -> IO b
withCStruct ImageMemoryBarrier2KHR es
x Ptr (ImageMemoryBarrier2KHR es) -> IO b
f = Int -> (Ptr (ImageMemoryBarrier2KHR es) -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
96 ((Ptr (ImageMemoryBarrier2KHR es) -> IO b) -> IO b)
-> (Ptr (ImageMemoryBarrier2KHR es) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr (ImageMemoryBarrier2KHR es)
p -> Ptr (ImageMemoryBarrier2KHR es)
-> ImageMemoryBarrier2KHR es -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr (ImageMemoryBarrier2KHR es)
p ImageMemoryBarrier2KHR es
x (Ptr (ImageMemoryBarrier2KHR es) -> IO b
f Ptr (ImageMemoryBarrier2KHR es)
p)
pokeCStruct :: Ptr (ImageMemoryBarrier2KHR es)
-> ImageMemoryBarrier2KHR es -> IO b -> IO b
pokeCStruct Ptr (ImageMemoryBarrier2KHR es)
p ImageMemoryBarrier2KHR{Word32
Chain es
ImageLayout
Image
ImageSubresourceRange
"stageMask" ::: PipelineStageFlags2KHR
AccessFlagBits2KHR
subresourceRange :: ImageSubresourceRange
image :: Image
dstQueueFamilyIndex :: Word32
srcQueueFamilyIndex :: Word32
newLayout :: ImageLayout
oldLayout :: ImageLayout
dstAccessMask :: AccessFlagBits2KHR
dstStageMask :: "stageMask" ::: PipelineStageFlags2KHR
srcAccessMask :: AccessFlagBits2KHR
srcStageMask :: "stageMask" ::: PipelineStageFlags2KHR
next :: Chain es
$sel:subresourceRange:ImageMemoryBarrier2KHR :: forall (es :: [*]).
ImageMemoryBarrier2KHR es -> ImageSubresourceRange
$sel:image:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Image
$sel:dstQueueFamilyIndex:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Word32
$sel:srcQueueFamilyIndex:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> Word32
$sel:newLayout:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> ImageLayout
$sel:oldLayout:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> ImageLayout
$sel:dstAccessMask:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> AccessFlagBits2KHR
$sel:dstStageMask:ImageMemoryBarrier2KHR :: forall (es :: [*]).
ImageMemoryBarrier2KHR es -> "stageMask" ::: PipelineStageFlags2KHR
$sel:srcAccessMask:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR es -> AccessFlagBits2KHR
$sel:srcStageMask:ImageMemoryBarrier2KHR :: forall (es :: [*]).
ImageMemoryBarrier2KHR es -> "stageMask" ::: PipelineStageFlags2KHR
$sel:next:ImageMemoryBarrier2KHR :: forall (es :: [*]). ImageMemoryBarrier2KHR 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 (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_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 (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR 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 ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es)
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
srcStageMask)
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 AccessFlagBits2KHR -> AccessFlagBits2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr AccessFlags2KHR)) (AccessFlagBits2KHR
srcAccessMask)
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 ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es)
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
dstStageMask)
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 AccessFlagBits2KHR -> AccessFlagBits2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr AccessFlags2KHR)) (AccessFlagBits2KHR
dstAccessMask)
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 (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr ImageLayout)) (ImageLayout
oldLayout)
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 (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr ImageLayout)) (ImageLayout
newLayout)
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
$ ("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr Word32)) (Word32
srcQueueFamilyIndex)
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
$ ("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
60 :: Ptr Word32)) (Word32
dstQueueFamilyIndex)
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 Image -> Image -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr Image
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr Image)) (Image
image)
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 ImageSubresourceRange -> ImageSubresourceRange -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr ImageSubresourceRange
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr ImageSubresourceRange)) (ImageSubresourceRange
subresourceRange)
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
96
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr (ImageMemoryBarrier2KHR es) -> IO b -> IO b
pokeZeroCStruct Ptr (ImageMemoryBarrier2KHR 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 (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2_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 (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR 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 ImageLayout -> ImageLayout -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: 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 (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: 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
$ ("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: 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
$ ("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
60 :: 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 Image -> Image -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr Image
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr Image)) (Image
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 ImageSubresourceRange -> ImageSubresourceRange -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr ImageSubresourceRange
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr ImageSubresourceRange)) (ImageSubresourceRange
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 (Extendss ImageMemoryBarrier2KHR es, PeekChain es) => FromCStruct (ImageMemoryBarrier2KHR es) where
peekCStruct :: Ptr (ImageMemoryBarrier2KHR es) -> IO (ImageMemoryBarrier2KHR es)
peekCStruct Ptr (ImageMemoryBarrier2KHR es)
p = do
Ptr ()
pNext <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ())))
Chain es
next <- Ptr (Chain es) -> IO (Chain es)
forall (es :: [*]). PeekChain es => Ptr (Chain es) -> IO (Chain es)
peekChain (Ptr () -> Ptr (Chain es)
forall a b. Ptr a -> Ptr b
castPtr Ptr ()
pNext)
"stageMask" ::: PipelineStageFlags2KHR
srcStageMask <- Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
forall a. Storable a => Ptr a -> IO a
peek @PipelineStageFlags2KHR ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es)
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR))
AccessFlagBits2KHR
srcAccessMask <- Ptr AccessFlagBits2KHR -> IO AccessFlagBits2KHR
forall a. Storable a => Ptr a -> IO a
peek @AccessFlags2KHR ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr AccessFlags2KHR))
"stageMask" ::: PipelineStageFlags2KHR
dstStageMask <- Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
forall a. Storable a => Ptr a -> IO a
peek @PipelineStageFlags2KHR ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es)
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PipelineStageFlags2KHR))
AccessFlagBits2KHR
dstAccessMask <- Ptr AccessFlagBits2KHR -> IO AccessFlagBits2KHR
forall a. Storable a => Ptr a -> IO a
peek @AccessFlags2KHR ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr AccessFlags2KHR))
ImageLayout
oldLayout <- Ptr ImageLayout -> IO ImageLayout
forall a. Storable a => Ptr a -> IO a
peek @ImageLayout ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr ImageLayout))
ImageLayout
newLayout <- Ptr ImageLayout -> IO ImageLayout
forall a. Storable a => Ptr a -> IO a
peek @ImageLayout ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr ImageLayout
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr ImageLayout))
Word32
srcQueueFamilyIndex <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr Word32))
Word32
dstQueueFamilyIndex <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
60 :: Ptr Word32))
Image
image <- Ptr Image -> IO Image
forall a. Storable a => Ptr a -> IO a
peek @Image ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr Image
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr Image))
ImageSubresourceRange
subresourceRange <- Ptr ImageSubresourceRange -> IO ImageSubresourceRange
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ImageSubresourceRange ((Ptr (ImageMemoryBarrier2KHR es)
p Ptr (ImageMemoryBarrier2KHR es) -> Int -> Ptr ImageSubresourceRange
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr ImageSubresourceRange))
ImageMemoryBarrier2KHR es -> IO (ImageMemoryBarrier2KHR es)
forall (f :: * -> *) a. Applicative f => a -> f a
pure (ImageMemoryBarrier2KHR es -> IO (ImageMemoryBarrier2KHR es))
-> ImageMemoryBarrier2KHR es -> IO (ImageMemoryBarrier2KHR es)
forall a b. (a -> b) -> a -> b
$ Chain es
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ImageLayout
-> ImageLayout
-> Word32
-> Word32
-> Image
-> ImageSubresourceRange
-> ImageMemoryBarrier2KHR es
forall (es :: [*]).
Chain es
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ImageLayout
-> ImageLayout
-> Word32
-> Word32
-> Image
-> ImageSubresourceRange
-> ImageMemoryBarrier2KHR es
ImageMemoryBarrier2KHR
Chain es
next "stageMask" ::: PipelineStageFlags2KHR
srcStageMask AccessFlagBits2KHR
srcAccessMask "stageMask" ::: PipelineStageFlags2KHR
dstStageMask AccessFlagBits2KHR
dstAccessMask ImageLayout
oldLayout ImageLayout
newLayout Word32
srcQueueFamilyIndex Word32
dstQueueFamilyIndex Image
image ImageSubresourceRange
subresourceRange
instance es ~ '[] => Zero (ImageMemoryBarrier2KHR es) where
zero :: ImageMemoryBarrier2KHR es
zero = Chain es
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ImageLayout
-> ImageLayout
-> Word32
-> Word32
-> Image
-> ImageSubresourceRange
-> ImageMemoryBarrier2KHR es
forall (es :: [*]).
Chain es
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ImageLayout
-> ImageLayout
-> Word32
-> Word32
-> Image
-> ImageSubresourceRange
-> ImageMemoryBarrier2KHR es
ImageMemoryBarrier2KHR
()
"stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero
AccessFlagBits2KHR
forall a. Zero a => a
zero
"stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero
AccessFlagBits2KHR
forall a. Zero a => a
zero
ImageLayout
forall a. Zero a => a
zero
ImageLayout
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Image
forall a. Zero a => a
zero
ImageSubresourceRange
forall a. Zero a => a
zero
data BufferMemoryBarrier2KHR = BufferMemoryBarrier2KHR
{
BufferMemoryBarrier2KHR -> "stageMask" ::: PipelineStageFlags2KHR
srcStageMask :: PipelineStageFlags2KHR
,
BufferMemoryBarrier2KHR -> AccessFlagBits2KHR
srcAccessMask :: AccessFlags2KHR
,
BufferMemoryBarrier2KHR -> "stageMask" ::: PipelineStageFlags2KHR
dstStageMask :: PipelineStageFlags2KHR
,
BufferMemoryBarrier2KHR -> AccessFlagBits2KHR
dstAccessMask :: AccessFlags2KHR
,
BufferMemoryBarrier2KHR -> Word32
srcQueueFamilyIndex :: Word32
,
BufferMemoryBarrier2KHR -> Word32
dstQueueFamilyIndex :: Word32
,
BufferMemoryBarrier2KHR -> "dstBuffer" ::: Buffer
buffer :: Buffer
,
BufferMemoryBarrier2KHR -> "dstOffset" ::: DeviceSize
offset :: DeviceSize
,
BufferMemoryBarrier2KHR -> "dstOffset" ::: DeviceSize
size :: DeviceSize
}
deriving (Typeable, BufferMemoryBarrier2KHR -> BufferMemoryBarrier2KHR -> Bool
(BufferMemoryBarrier2KHR -> BufferMemoryBarrier2KHR -> Bool)
-> (BufferMemoryBarrier2KHR -> BufferMemoryBarrier2KHR -> Bool)
-> Eq BufferMemoryBarrier2KHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: BufferMemoryBarrier2KHR -> BufferMemoryBarrier2KHR -> Bool
$c/= :: BufferMemoryBarrier2KHR -> BufferMemoryBarrier2KHR -> Bool
== :: BufferMemoryBarrier2KHR -> BufferMemoryBarrier2KHR -> Bool
$c== :: BufferMemoryBarrier2KHR -> BufferMemoryBarrier2KHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (BufferMemoryBarrier2KHR)
#endif
deriving instance Show BufferMemoryBarrier2KHR
instance ToCStruct BufferMemoryBarrier2KHR where
withCStruct :: BufferMemoryBarrier2KHR
-> (Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b
withCStruct BufferMemoryBarrier2KHR
x Ptr BufferMemoryBarrier2KHR -> IO b
f = Int -> (Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
80 ((Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b)
-> (Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr BufferMemoryBarrier2KHR
p -> Ptr BufferMemoryBarrier2KHR
-> BufferMemoryBarrier2KHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr BufferMemoryBarrier2KHR
p BufferMemoryBarrier2KHR
x (Ptr BufferMemoryBarrier2KHR -> IO b
f Ptr BufferMemoryBarrier2KHR
p)
pokeCStruct :: Ptr BufferMemoryBarrier2KHR
-> BufferMemoryBarrier2KHR -> IO b -> IO b
pokeCStruct Ptr BufferMemoryBarrier2KHR
p BufferMemoryBarrier2KHR{Word32
"dstOffset" ::: DeviceSize
"dstBuffer" ::: Buffer
"stageMask" ::: PipelineStageFlags2KHR
AccessFlagBits2KHR
size :: "dstOffset" ::: DeviceSize
offset :: "dstOffset" ::: DeviceSize
buffer :: "dstBuffer" ::: Buffer
dstQueueFamilyIndex :: Word32
srcQueueFamilyIndex :: Word32
dstAccessMask :: AccessFlagBits2KHR
dstStageMask :: "stageMask" ::: PipelineStageFlags2KHR
srcAccessMask :: AccessFlagBits2KHR
srcStageMask :: "stageMask" ::: PipelineStageFlags2KHR
$sel:size:BufferMemoryBarrier2KHR :: BufferMemoryBarrier2KHR -> "dstOffset" ::: DeviceSize
$sel:offset:BufferMemoryBarrier2KHR :: BufferMemoryBarrier2KHR -> "dstOffset" ::: DeviceSize
$sel:buffer:BufferMemoryBarrier2KHR :: BufferMemoryBarrier2KHR -> "dstBuffer" ::: Buffer
$sel:dstQueueFamilyIndex:BufferMemoryBarrier2KHR :: BufferMemoryBarrier2KHR -> Word32
$sel:srcQueueFamilyIndex:BufferMemoryBarrier2KHR :: BufferMemoryBarrier2KHR -> Word32
$sel:dstAccessMask:BufferMemoryBarrier2KHR :: BufferMemoryBarrier2KHR -> AccessFlagBits2KHR
$sel:dstStageMask:BufferMemoryBarrier2KHR :: BufferMemoryBarrier2KHR -> "stageMask" ::: PipelineStageFlags2KHR
$sel:srcAccessMask:BufferMemoryBarrier2KHR :: BufferMemoryBarrier2KHR -> AccessFlagBits2KHR
$sel:srcStageMask:BufferMemoryBarrier2KHR :: BufferMemoryBarrier2KHR -> "stageMask" ::: PipelineStageFlags2KHR
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
srcStageMask)
Ptr AccessFlagBits2KHR -> AccessFlagBits2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr AccessFlags2KHR)) (AccessFlagBits2KHR
srcAccessMask)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
dstStageMask)
Ptr AccessFlagBits2KHR -> AccessFlagBits2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr AccessFlags2KHR)) (AccessFlagBits2KHR
dstAccessMask)
("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Word32)) (Word32
srcQueueFamilyIndex)
("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr Word32)) (Word32
dstQueueFamilyIndex)
Ptr ("dstBuffer" ::: Buffer) -> ("dstBuffer" ::: Buffer) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr ("dstBuffer" ::: Buffer)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr Buffer)) ("dstBuffer" ::: Buffer
buffer)
Ptr ("dstOffset" ::: DeviceSize)
-> ("dstOffset" ::: DeviceSize) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> Ptr ("dstOffset" ::: DeviceSize)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr DeviceSize)) ("dstOffset" ::: DeviceSize
offset)
Ptr ("dstOffset" ::: DeviceSize)
-> ("dstOffset" ::: DeviceSize) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> Ptr ("dstOffset" ::: DeviceSize)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr DeviceSize)) ("dstOffset" ::: DeviceSize
size)
IO b
f
cStructSize :: Int
cStructSize = Int
80
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr BufferMemoryBarrier2KHR -> IO b -> IO b
pokeZeroCStruct Ptr BufferMemoryBarrier2KHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr ("dstBuffer" ::: Buffer) -> ("dstBuffer" ::: Buffer) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr ("dstBuffer" ::: Buffer)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr Buffer)) ("dstBuffer" ::: Buffer
forall a. Zero a => a
zero)
Ptr ("dstOffset" ::: DeviceSize)
-> ("dstOffset" ::: DeviceSize) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> Ptr ("dstOffset" ::: DeviceSize)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr DeviceSize)) ("dstOffset" ::: DeviceSize
forall a. Zero a => a
zero)
Ptr ("dstOffset" ::: DeviceSize)
-> ("dstOffset" ::: DeviceSize) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> Ptr ("dstOffset" ::: DeviceSize)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr DeviceSize)) ("dstOffset" ::: DeviceSize
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct BufferMemoryBarrier2KHR where
peekCStruct :: Ptr BufferMemoryBarrier2KHR -> IO BufferMemoryBarrier2KHR
peekCStruct Ptr BufferMemoryBarrier2KHR
p = do
"stageMask" ::: PipelineStageFlags2KHR
srcStageMask <- Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
forall a. Storable a => Ptr a -> IO a
peek @PipelineStageFlags2KHR ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR))
AccessFlagBits2KHR
srcAccessMask <- Ptr AccessFlagBits2KHR -> IO AccessFlagBits2KHR
forall a. Storable a => Ptr a -> IO a
peek @AccessFlags2KHR ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr AccessFlags2KHR))
"stageMask" ::: PipelineStageFlags2KHR
dstStageMask <- Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
forall a. Storable a => Ptr a -> IO a
peek @PipelineStageFlags2KHR ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PipelineStageFlags2KHR))
AccessFlagBits2KHR
dstAccessMask <- Ptr AccessFlagBits2KHR -> IO AccessFlagBits2KHR
forall a. Storable a => Ptr a -> IO a
peek @AccessFlags2KHR ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr AccessFlagBits2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr AccessFlags2KHR))
Word32
srcQueueFamilyIndex <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Word32))
Word32
dstQueueFamilyIndex <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr Word32))
"dstBuffer" ::: Buffer
buffer <- Ptr ("dstBuffer" ::: Buffer) -> IO ("dstBuffer" ::: Buffer)
forall a. Storable a => Ptr a -> IO a
peek @Buffer ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR -> Int -> Ptr ("dstBuffer" ::: Buffer)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr Buffer))
"dstOffset" ::: DeviceSize
offset <- Ptr ("dstOffset" ::: DeviceSize) -> IO ("dstOffset" ::: DeviceSize)
forall a. Storable a => Ptr a -> IO a
peek @DeviceSize ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> Ptr ("dstOffset" ::: DeviceSize)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr DeviceSize))
"dstOffset" ::: DeviceSize
size <- Ptr ("dstOffset" ::: DeviceSize) -> IO ("dstOffset" ::: DeviceSize)
forall a. Storable a => Ptr a -> IO a
peek @DeviceSize ((Ptr BufferMemoryBarrier2KHR
p Ptr BufferMemoryBarrier2KHR
-> Int -> Ptr ("dstOffset" ::: DeviceSize)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr DeviceSize))
BufferMemoryBarrier2KHR -> IO BufferMemoryBarrier2KHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (BufferMemoryBarrier2KHR -> IO BufferMemoryBarrier2KHR)
-> BufferMemoryBarrier2KHR -> IO BufferMemoryBarrier2KHR
forall a b. (a -> b) -> a -> b
$ ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> Word32
-> Word32
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> ("dstOffset" ::: DeviceSize)
-> BufferMemoryBarrier2KHR
BufferMemoryBarrier2KHR
"stageMask" ::: PipelineStageFlags2KHR
srcStageMask AccessFlagBits2KHR
srcAccessMask "stageMask" ::: PipelineStageFlags2KHR
dstStageMask AccessFlagBits2KHR
dstAccessMask Word32
srcQueueFamilyIndex Word32
dstQueueFamilyIndex "dstBuffer" ::: Buffer
buffer "dstOffset" ::: DeviceSize
offset "dstOffset" ::: DeviceSize
size
instance Storable BufferMemoryBarrier2KHR where
sizeOf :: BufferMemoryBarrier2KHR -> Int
sizeOf ~BufferMemoryBarrier2KHR
_ = Int
80
alignment :: BufferMemoryBarrier2KHR -> Int
alignment ~BufferMemoryBarrier2KHR
_ = Int
8
peek :: Ptr BufferMemoryBarrier2KHR -> IO BufferMemoryBarrier2KHR
peek = Ptr BufferMemoryBarrier2KHR -> IO BufferMemoryBarrier2KHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr BufferMemoryBarrier2KHR -> BufferMemoryBarrier2KHR -> IO ()
poke Ptr BufferMemoryBarrier2KHR
ptr BufferMemoryBarrier2KHR
poked = Ptr BufferMemoryBarrier2KHR
-> BufferMemoryBarrier2KHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr BufferMemoryBarrier2KHR
ptr BufferMemoryBarrier2KHR
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero BufferMemoryBarrier2KHR where
zero :: BufferMemoryBarrier2KHR
zero = ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> AccessFlagBits2KHR
-> Word32
-> Word32
-> ("dstBuffer" ::: Buffer)
-> ("dstOffset" ::: DeviceSize)
-> ("dstOffset" ::: DeviceSize)
-> BufferMemoryBarrier2KHR
BufferMemoryBarrier2KHR
"stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero
AccessFlagBits2KHR
forall a. Zero a => a
zero
"stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero
AccessFlagBits2KHR
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
"dstBuffer" ::: Buffer
forall a. Zero a => a
zero
"dstOffset" ::: DeviceSize
forall a. Zero a => a
zero
"dstOffset" ::: DeviceSize
forall a. Zero a => a
zero
data DependencyInfoKHR = DependencyInfoKHR
{
DependencyInfoKHR -> DependencyFlags
dependencyFlags :: DependencyFlags
,
DependencyInfoKHR -> Vector MemoryBarrier2KHR
memoryBarriers :: Vector MemoryBarrier2KHR
,
DependencyInfoKHR -> Vector BufferMemoryBarrier2KHR
bufferMemoryBarriers :: Vector BufferMemoryBarrier2KHR
,
DependencyInfoKHR -> Vector (SomeStruct ImageMemoryBarrier2KHR)
imageMemoryBarriers :: Vector (SomeStruct ImageMemoryBarrier2KHR)
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DependencyInfoKHR)
#endif
deriving instance Show DependencyInfoKHR
instance ToCStruct DependencyInfoKHR where
withCStruct :: DependencyInfoKHR
-> (("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b) -> IO b
withCStruct DependencyInfoKHR
x ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b
f = Int
-> (("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
64 ((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b) -> IO b)
-> (("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \"pDependencyInfo" ::: Ptr DependencyInfoKHR
p -> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> DependencyInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pDependencyInfo" ::: Ptr DependencyInfoKHR
p DependencyInfoKHR
x (("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b
f "pDependencyInfo" ::: Ptr DependencyInfoKHR
p)
pokeCStruct :: ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> DependencyInfoKHR -> IO b -> IO b
pokeCStruct "pDependencyInfo" ::: Ptr DependencyInfoKHR
p DependencyInfoKHR{Vector MemoryBarrier2KHR
Vector BufferMemoryBarrier2KHR
Vector (SomeStruct ImageMemoryBarrier2KHR)
DependencyFlags
imageMemoryBarriers :: Vector (SomeStruct ImageMemoryBarrier2KHR)
bufferMemoryBarriers :: Vector BufferMemoryBarrier2KHR
memoryBarriers :: Vector MemoryBarrier2KHR
dependencyFlags :: DependencyFlags
$sel:imageMemoryBarriers:DependencyInfoKHR :: DependencyInfoKHR -> Vector (SomeStruct ImageMemoryBarrier2KHR)
$sel:bufferMemoryBarriers:DependencyInfoKHR :: DependencyInfoKHR -> Vector BufferMemoryBarrier2KHR
$sel:memoryBarriers:DependencyInfoKHR :: DependencyInfoKHR -> Vector MemoryBarrier2KHR
$sel:dependencyFlags:DependencyInfoKHR :: DependencyInfoKHR -> DependencyFlags
..} 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 (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEPENDENCY_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 (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> 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 DependencyFlags -> DependencyFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> Ptr DependencyFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DependencyFlags)) (DependencyFlags
dependencyFlags)
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
$ ("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> "pCheckpointDataCount" ::: 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 MemoryBarrier2KHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector MemoryBarrier2KHR -> Int)
-> Vector MemoryBarrier2KHR -> Int
forall a b. (a -> b) -> a -> b
$ (Vector MemoryBarrier2KHR
memoryBarriers)) :: Word32))
Ptr MemoryBarrier2KHR
pPMemoryBarriers' <- ((Ptr MemoryBarrier2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr MemoryBarrier2KHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr MemoryBarrier2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr MemoryBarrier2KHR))
-> ((Ptr MemoryBarrier2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr MemoryBarrier2KHR)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr MemoryBarrier2KHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @MemoryBarrier2KHR ((Vector MemoryBarrier2KHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector MemoryBarrier2KHR
memoryBarriers)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
48)
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 -> MemoryBarrier2KHR -> IO ())
-> Vector MemoryBarrier2KHR -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i MemoryBarrier2KHR
e -> Ptr MemoryBarrier2KHR -> MemoryBarrier2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr MemoryBarrier2KHR
pPMemoryBarriers' Ptr MemoryBarrier2KHR -> Int -> Ptr MemoryBarrier2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
48 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr MemoryBarrier2KHR) (MemoryBarrier2KHR
e)) (Vector MemoryBarrier2KHR
memoryBarriers)
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 MemoryBarrier2KHR) -> Ptr MemoryBarrier2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> Ptr (Ptr MemoryBarrier2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr MemoryBarrier2KHR))) (Ptr MemoryBarrier2KHR
pPMemoryBarriers')
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
$ ("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector BufferMemoryBarrier2KHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector BufferMemoryBarrier2KHR -> Int)
-> Vector BufferMemoryBarrier2KHR -> Int
forall a b. (a -> b) -> a -> b
$ (Vector BufferMemoryBarrier2KHR
bufferMemoryBarriers)) :: Word32))
Ptr BufferMemoryBarrier2KHR
pPBufferMemoryBarriers' <- ((Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr BufferMemoryBarrier2KHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr BufferMemoryBarrier2KHR))
-> ((Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b)
-> ContT b IO (Ptr BufferMemoryBarrier2KHR)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @BufferMemoryBarrier2KHR ((Vector BufferMemoryBarrier2KHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector BufferMemoryBarrier2KHR
bufferMemoryBarriers)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
80)
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 -> BufferMemoryBarrier2KHR -> IO ())
-> Vector BufferMemoryBarrier2KHR -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i BufferMemoryBarrier2KHR
e -> Ptr BufferMemoryBarrier2KHR -> BufferMemoryBarrier2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr BufferMemoryBarrier2KHR
pPBufferMemoryBarriers' Ptr BufferMemoryBarrier2KHR -> Int -> Ptr BufferMemoryBarrier2KHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
80 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr BufferMemoryBarrier2KHR) (BufferMemoryBarrier2KHR
e)) (Vector BufferMemoryBarrier2KHR
bufferMemoryBarriers)
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 BufferMemoryBarrier2KHR)
-> Ptr BufferMemoryBarrier2KHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> Ptr (Ptr BufferMemoryBarrier2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr (Ptr BufferMemoryBarrier2KHR))) (Ptr BufferMemoryBarrier2KHR
pPBufferMemoryBarriers')
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
$ ("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector (SomeStruct ImageMemoryBarrier2KHR) -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector (SomeStruct ImageMemoryBarrier2KHR) -> Int)
-> Vector (SomeStruct ImageMemoryBarrier2KHR) -> Int
forall a b. (a -> b) -> a -> b
$ (Vector (SomeStruct ImageMemoryBarrier2KHR)
imageMemoryBarriers)) :: Word32))
Ptr (ImageMemoryBarrier2KHR Any)
pPImageMemoryBarriers' <- ((Ptr (ImageMemoryBarrier2KHR Any) -> IO b) -> IO b)
-> ContT b IO (Ptr (ImageMemoryBarrier2KHR Any))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr (ImageMemoryBarrier2KHR Any) -> IO b) -> IO b)
-> ContT b IO (Ptr (ImageMemoryBarrier2KHR Any)))
-> ((Ptr (ImageMemoryBarrier2KHR Any) -> IO b) -> IO b)
-> ContT b IO (Ptr (ImageMemoryBarrier2KHR Any))
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr (ImageMemoryBarrier2KHR Any) -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @(ImageMemoryBarrier2KHR _) ((Vector (SomeStruct ImageMemoryBarrier2KHR) -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector (SomeStruct ImageMemoryBarrier2KHR)
imageMemoryBarriers)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
96)
(Int -> SomeStruct ImageMemoryBarrier2KHR -> ContT b IO ())
-> Vector (SomeStruct ImageMemoryBarrier2KHR) -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i SomeStruct ImageMemoryBarrier2KHR
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 (SomeStruct ImageMemoryBarrier2KHR)
-> SomeStruct ImageMemoryBarrier2KHR -> IO b -> IO b
forall (a :: [*] -> *) b.
(forall (es :: [*]).
(Extendss a es, PokeChain es) =>
ToCStruct (a es)) =>
Ptr (SomeStruct a) -> SomeStruct a -> IO b -> IO b
pokeSomeCStruct (Ptr (ImageMemoryBarrier2KHR Any)
-> Ptr (SomeStruct ImageMemoryBarrier2KHR)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions (Ptr (ImageMemoryBarrier2KHR Any)
pPImageMemoryBarriers' Ptr (ImageMemoryBarrier2KHR Any)
-> Int -> Ptr (ImageMemoryBarrier2KHR _)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
96 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr (ImageMemoryBarrier2KHR _))) (SomeStruct ImageMemoryBarrier2KHR
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 (SomeStruct ImageMemoryBarrier2KHR)
imageMemoryBarriers)
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 (ImageMemoryBarrier2KHR Any))
-> Ptr (ImageMemoryBarrier2KHR Any) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> Ptr (Ptr (ImageMemoryBarrier2KHR _))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr (Ptr (ImageMemoryBarrier2KHR _)))) (Ptr (ImageMemoryBarrier2KHR Any)
pPImageMemoryBarriers')
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
64
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b -> IO b
pokeZeroCStruct "pDependencyInfo" ::: Ptr DependencyInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEPENDENCY_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> 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 DependencyInfoKHR where
peekCStruct :: ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO DependencyInfoKHR
peekCStruct "pDependencyInfo" ::: Ptr DependencyInfoKHR
p = do
DependencyFlags
dependencyFlags <- Ptr DependencyFlags -> IO DependencyFlags
forall a. Storable a => Ptr a -> IO a
peek @DependencyFlags (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> Ptr DependencyFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DependencyFlags))
Word32
memoryBarrierCount <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
Ptr MemoryBarrier2KHR
pMemoryBarriers <- Ptr (Ptr MemoryBarrier2KHR) -> IO (Ptr MemoryBarrier2KHR)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr MemoryBarrier2KHR) (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> Ptr (Ptr MemoryBarrier2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr MemoryBarrier2KHR)))
Vector MemoryBarrier2KHR
pMemoryBarriers' <- Int
-> (Int -> IO MemoryBarrier2KHR) -> IO (Vector MemoryBarrier2KHR)
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
memoryBarrierCount) (\Int
i -> Ptr MemoryBarrier2KHR -> IO MemoryBarrier2KHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @MemoryBarrier2KHR ((Ptr MemoryBarrier2KHR
pMemoryBarriers Ptr MemoryBarrier2KHR -> Int -> Ptr MemoryBarrier2KHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
48 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr MemoryBarrier2KHR)))
Word32
bufferMemoryBarrierCount <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32))
Ptr BufferMemoryBarrier2KHR
pBufferMemoryBarriers <- Ptr (Ptr BufferMemoryBarrier2KHR)
-> IO (Ptr BufferMemoryBarrier2KHR)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr BufferMemoryBarrier2KHR) (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> Ptr (Ptr BufferMemoryBarrier2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr (Ptr BufferMemoryBarrier2KHR)))
Vector BufferMemoryBarrier2KHR
pBufferMemoryBarriers' <- Int
-> (Int -> IO BufferMemoryBarrier2KHR)
-> IO (Vector BufferMemoryBarrier2KHR)
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
bufferMemoryBarrierCount) (\Int
i -> Ptr BufferMemoryBarrier2KHR -> IO BufferMemoryBarrier2KHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @BufferMemoryBarrier2KHR ((Ptr BufferMemoryBarrier2KHR
pBufferMemoryBarriers Ptr BufferMemoryBarrier2KHR -> Int -> Ptr BufferMemoryBarrier2KHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
80 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr BufferMemoryBarrier2KHR)))
Word32
imageMemoryBarrierCount <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Word32))
Ptr (ImageMemoryBarrier2KHR Any)
pImageMemoryBarriers <- Ptr (Ptr (ImageMemoryBarrier2KHR Any))
-> IO (Ptr (ImageMemoryBarrier2KHR Any))
forall a. Storable a => Ptr a -> IO a
peek @(Ptr (ImageMemoryBarrier2KHR _)) (("pDependencyInfo" ::: Ptr DependencyInfoKHR
p ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> Int -> Ptr (Ptr (ImageMemoryBarrier2KHR _))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr (Ptr (ImageMemoryBarrier2KHR _))))
Vector (SomeStruct ImageMemoryBarrier2KHR)
pImageMemoryBarriers' <- Int
-> (Int -> IO (SomeStruct ImageMemoryBarrier2KHR))
-> IO (Vector (SomeStruct ImageMemoryBarrier2KHR))
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
imageMemoryBarrierCount) (\Int
i -> Ptr (SomeStruct ImageMemoryBarrier2KHR)
-> IO (SomeStruct ImageMemoryBarrier2KHR)
forall (a :: [*] -> *).
(Extensible a,
forall (es :: [*]).
(Extendss a es, PeekChain es) =>
FromCStruct (a es)) =>
Ptr (SomeStruct a) -> IO (SomeStruct a)
peekSomeCStruct (Ptr (ImageMemoryBarrier2KHR Any)
-> Ptr (SomeStruct ImageMemoryBarrier2KHR)
forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions ((Ptr (ImageMemoryBarrier2KHR Any)
pImageMemoryBarriers Ptr (ImageMemoryBarrier2KHR Any)
-> Int -> Ptr (ImageMemoryBarrier2KHR Any)
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
96 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr (ImageMemoryBarrier2KHR _)))))
DependencyInfoKHR -> IO DependencyInfoKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DependencyInfoKHR -> IO DependencyInfoKHR)
-> DependencyInfoKHR -> IO DependencyInfoKHR
forall a b. (a -> b) -> a -> b
$ DependencyFlags
-> Vector MemoryBarrier2KHR
-> Vector BufferMemoryBarrier2KHR
-> Vector (SomeStruct ImageMemoryBarrier2KHR)
-> DependencyInfoKHR
DependencyInfoKHR
DependencyFlags
dependencyFlags Vector MemoryBarrier2KHR
pMemoryBarriers' Vector BufferMemoryBarrier2KHR
pBufferMemoryBarriers' Vector (SomeStruct ImageMemoryBarrier2KHR)
pImageMemoryBarriers'
instance Zero DependencyInfoKHR where
zero :: DependencyInfoKHR
zero = DependencyFlags
-> Vector MemoryBarrier2KHR
-> Vector BufferMemoryBarrier2KHR
-> Vector (SomeStruct ImageMemoryBarrier2KHR)
-> DependencyInfoKHR
DependencyInfoKHR
DependencyFlags
forall a. Zero a => a
zero
Vector MemoryBarrier2KHR
forall a. Monoid a => a
mempty
Vector BufferMemoryBarrier2KHR
forall a. Monoid a => a
mempty
Vector (SomeStruct ImageMemoryBarrier2KHR)
forall a. Monoid a => a
mempty
data SemaphoreSubmitInfoKHR = SemaphoreSubmitInfoKHR
{
SemaphoreSubmitInfoKHR -> Semaphore
semaphore :: Semaphore
,
SemaphoreSubmitInfoKHR -> "dstOffset" ::: DeviceSize
value :: Word64
,
SemaphoreSubmitInfoKHR -> "stageMask" ::: PipelineStageFlags2KHR
stageMask :: PipelineStageFlags2KHR
,
SemaphoreSubmitInfoKHR -> Word32
deviceIndex :: Word32
}
deriving (Typeable, SemaphoreSubmitInfoKHR -> SemaphoreSubmitInfoKHR -> Bool
(SemaphoreSubmitInfoKHR -> SemaphoreSubmitInfoKHR -> Bool)
-> (SemaphoreSubmitInfoKHR -> SemaphoreSubmitInfoKHR -> Bool)
-> Eq SemaphoreSubmitInfoKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SemaphoreSubmitInfoKHR -> SemaphoreSubmitInfoKHR -> Bool
$c/= :: SemaphoreSubmitInfoKHR -> SemaphoreSubmitInfoKHR -> Bool
== :: SemaphoreSubmitInfoKHR -> SemaphoreSubmitInfoKHR -> Bool
$c== :: SemaphoreSubmitInfoKHR -> SemaphoreSubmitInfoKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (SemaphoreSubmitInfoKHR)
#endif
deriving instance Show SemaphoreSubmitInfoKHR
instance ToCStruct SemaphoreSubmitInfoKHR where
withCStruct :: SemaphoreSubmitInfoKHR
-> (Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b
withCStruct SemaphoreSubmitInfoKHR
x Ptr SemaphoreSubmitInfoKHR -> IO b
f = Int -> (Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
48 ((Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b)
-> (Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr SemaphoreSubmitInfoKHR
p -> Ptr SemaphoreSubmitInfoKHR
-> SemaphoreSubmitInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr SemaphoreSubmitInfoKHR
p SemaphoreSubmitInfoKHR
x (Ptr SemaphoreSubmitInfoKHR -> IO b
f Ptr SemaphoreSubmitInfoKHR
p)
pokeCStruct :: Ptr SemaphoreSubmitInfoKHR
-> SemaphoreSubmitInfoKHR -> IO b -> IO b
pokeCStruct Ptr SemaphoreSubmitInfoKHR
p SemaphoreSubmitInfoKHR{Word32
"dstOffset" ::: DeviceSize
Semaphore
"stageMask" ::: PipelineStageFlags2KHR
deviceIndex :: Word32
stageMask :: "stageMask" ::: PipelineStageFlags2KHR
value :: "dstOffset" ::: DeviceSize
semaphore :: Semaphore
$sel:deviceIndex:SemaphoreSubmitInfoKHR :: SemaphoreSubmitInfoKHR -> Word32
$sel:stageMask:SemaphoreSubmitInfoKHR :: SemaphoreSubmitInfoKHR -> "stageMask" ::: PipelineStageFlags2KHR
$sel:value:SemaphoreSubmitInfoKHR :: SemaphoreSubmitInfoKHR -> "dstOffset" ::: DeviceSize
$sel:semaphore:SemaphoreSubmitInfoKHR :: SemaphoreSubmitInfoKHR -> Semaphore
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Semaphore -> Semaphore -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr Semaphore
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Semaphore)) (Semaphore
semaphore)
Ptr ("dstOffset" ::: DeviceSize)
-> ("dstOffset" ::: DeviceSize) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR
-> Int -> Ptr ("dstOffset" ::: DeviceSize)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word64)) ("dstOffset" ::: DeviceSize
value)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
stageMask)
("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Word32)) (Word32
deviceIndex)
IO b
f
cStructSize :: Int
cStructSize = Int
48
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr SemaphoreSubmitInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr SemaphoreSubmitInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Semaphore -> Semaphore -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr Semaphore
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Semaphore)) (Semaphore
forall a. Zero a => a
zero)
Ptr ("dstOffset" ::: DeviceSize)
-> ("dstOffset" ::: DeviceSize) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR
-> Int -> Ptr ("dstOffset" ::: DeviceSize)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word64)) ("dstOffset" ::: DeviceSize
forall a. Zero a => a
zero)
("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct SemaphoreSubmitInfoKHR where
peekCStruct :: Ptr SemaphoreSubmitInfoKHR -> IO SemaphoreSubmitInfoKHR
peekCStruct Ptr SemaphoreSubmitInfoKHR
p = do
Semaphore
semaphore <- Ptr Semaphore -> IO Semaphore
forall a. Storable a => Ptr a -> IO a
peek @Semaphore ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr Semaphore
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Semaphore))
"dstOffset" ::: DeviceSize
value <- Ptr ("dstOffset" ::: DeviceSize) -> IO ("dstOffset" ::: DeviceSize)
forall a. Storable a => Ptr a -> IO a
peek @Word64 ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR
-> Int -> Ptr ("dstOffset" ::: DeviceSize)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word64))
"stageMask" ::: PipelineStageFlags2KHR
stageMask <- Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
forall a. Storable a => Ptr a -> IO a
peek @PipelineStageFlags2KHR ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PipelineStageFlags2KHR))
Word32
deviceIndex <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr SemaphoreSubmitInfoKHR
p Ptr SemaphoreSubmitInfoKHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Word32))
SemaphoreSubmitInfoKHR -> IO SemaphoreSubmitInfoKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SemaphoreSubmitInfoKHR -> IO SemaphoreSubmitInfoKHR)
-> SemaphoreSubmitInfoKHR -> IO SemaphoreSubmitInfoKHR
forall a b. (a -> b) -> a -> b
$ Semaphore
-> ("dstOffset" ::: DeviceSize)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> Word32
-> SemaphoreSubmitInfoKHR
SemaphoreSubmitInfoKHR
Semaphore
semaphore "dstOffset" ::: DeviceSize
value "stageMask" ::: PipelineStageFlags2KHR
stageMask Word32
deviceIndex
instance Storable SemaphoreSubmitInfoKHR where
sizeOf :: SemaphoreSubmitInfoKHR -> Int
sizeOf ~SemaphoreSubmitInfoKHR
_ = Int
48
alignment :: SemaphoreSubmitInfoKHR -> Int
alignment ~SemaphoreSubmitInfoKHR
_ = Int
8
peek :: Ptr SemaphoreSubmitInfoKHR -> IO SemaphoreSubmitInfoKHR
peek = Ptr SemaphoreSubmitInfoKHR -> IO SemaphoreSubmitInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr SemaphoreSubmitInfoKHR -> SemaphoreSubmitInfoKHR -> IO ()
poke Ptr SemaphoreSubmitInfoKHR
ptr SemaphoreSubmitInfoKHR
poked = Ptr SemaphoreSubmitInfoKHR
-> SemaphoreSubmitInfoKHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr SemaphoreSubmitInfoKHR
ptr SemaphoreSubmitInfoKHR
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero SemaphoreSubmitInfoKHR where
zero :: SemaphoreSubmitInfoKHR
zero = Semaphore
-> ("dstOffset" ::: DeviceSize)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> Word32
-> SemaphoreSubmitInfoKHR
SemaphoreSubmitInfoKHR
Semaphore
forall a. Zero a => a
zero
"dstOffset" ::: DeviceSize
forall a. Zero a => a
zero
"stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
data CommandBufferSubmitInfoKHR = CommandBufferSubmitInfoKHR
{
CommandBufferSubmitInfoKHR -> Ptr CommandBuffer_T
commandBuffer :: Ptr CommandBuffer_T
,
CommandBufferSubmitInfoKHR -> Word32
deviceMask :: Word32
}
deriving (Typeable, CommandBufferSubmitInfoKHR -> CommandBufferSubmitInfoKHR -> Bool
(CommandBufferSubmitInfoKHR -> CommandBufferSubmitInfoKHR -> Bool)
-> (CommandBufferSubmitInfoKHR
-> CommandBufferSubmitInfoKHR -> Bool)
-> Eq CommandBufferSubmitInfoKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CommandBufferSubmitInfoKHR -> CommandBufferSubmitInfoKHR -> Bool
$c/= :: CommandBufferSubmitInfoKHR -> CommandBufferSubmitInfoKHR -> Bool
== :: CommandBufferSubmitInfoKHR -> CommandBufferSubmitInfoKHR -> Bool
$c== :: CommandBufferSubmitInfoKHR -> CommandBufferSubmitInfoKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (CommandBufferSubmitInfoKHR)
#endif
deriving instance Show CommandBufferSubmitInfoKHR
instance ToCStruct CommandBufferSubmitInfoKHR where
withCStruct :: CommandBufferSubmitInfoKHR
-> (Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b
withCStruct CommandBufferSubmitInfoKHR
x Ptr CommandBufferSubmitInfoKHR -> IO b
f = Int -> (Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b)
-> (Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr CommandBufferSubmitInfoKHR
p -> Ptr CommandBufferSubmitInfoKHR
-> CommandBufferSubmitInfoKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr CommandBufferSubmitInfoKHR
p CommandBufferSubmitInfoKHR
x (Ptr CommandBufferSubmitInfoKHR -> IO b
f Ptr CommandBufferSubmitInfoKHR
p)
pokeCStruct :: Ptr CommandBufferSubmitInfoKHR
-> CommandBufferSubmitInfoKHR -> IO b -> IO b
pokeCStruct Ptr CommandBufferSubmitInfoKHR
p CommandBufferSubmitInfoKHR{Word32
Ptr CommandBuffer_T
deviceMask :: Word32
commandBuffer :: Ptr CommandBuffer_T
$sel:deviceMask:CommandBufferSubmitInfoKHR :: CommandBufferSubmitInfoKHR -> Word32
$sel:commandBuffer:CommandBufferSubmitInfoKHR :: CommandBufferSubmitInfoKHR -> Ptr CommandBuffer_T
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferSubmitInfoKHR
p Ptr CommandBufferSubmitInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferSubmitInfoKHR
p Ptr CommandBufferSubmitInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr (Ptr CommandBuffer_T) -> Ptr CommandBuffer_T -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferSubmitInfoKHR
p Ptr CommandBufferSubmitInfoKHR -> Int -> Ptr (Ptr CommandBuffer_T)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr CommandBuffer_T))) (Ptr CommandBuffer_T
commandBuffer)
("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferSubmitInfoKHR
p Ptr CommandBufferSubmitInfoKHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
deviceMask)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr CommandBufferSubmitInfoKHR -> IO b -> IO b
pokeZeroCStruct Ptr CommandBufferSubmitInfoKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferSubmitInfoKHR
p Ptr CommandBufferSubmitInfoKHR -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferSubmitInfoKHR
p Ptr CommandBufferSubmitInfoKHR -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr (Ptr CommandBuffer_T) -> Ptr CommandBuffer_T -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferSubmitInfoKHR
p Ptr CommandBufferSubmitInfoKHR -> Int -> Ptr (Ptr CommandBuffer_T)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr CommandBuffer_T))) (Ptr CommandBuffer_T
forall a. Zero a => a
zero)
("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr CommandBufferSubmitInfoKHR
p Ptr CommandBufferSubmitInfoKHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct CommandBufferSubmitInfoKHR where
peekCStruct :: Ptr CommandBufferSubmitInfoKHR -> IO CommandBufferSubmitInfoKHR
peekCStruct Ptr CommandBufferSubmitInfoKHR
p = do
Ptr CommandBuffer_T
commandBuffer <- Ptr (Ptr CommandBuffer_T) -> IO (Ptr CommandBuffer_T)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr CommandBuffer_T) ((Ptr CommandBufferSubmitInfoKHR
p Ptr CommandBufferSubmitInfoKHR -> Int -> Ptr (Ptr CommandBuffer_T)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr CommandBuffer_T)))
Word32
deviceMask <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr CommandBufferSubmitInfoKHR
p Ptr CommandBufferSubmitInfoKHR
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word32))
CommandBufferSubmitInfoKHR -> IO CommandBufferSubmitInfoKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (CommandBufferSubmitInfoKHR -> IO CommandBufferSubmitInfoKHR)
-> CommandBufferSubmitInfoKHR -> IO CommandBufferSubmitInfoKHR
forall a b. (a -> b) -> a -> b
$ Ptr CommandBuffer_T -> Word32 -> CommandBufferSubmitInfoKHR
CommandBufferSubmitInfoKHR
Ptr CommandBuffer_T
commandBuffer Word32
deviceMask
instance Storable CommandBufferSubmitInfoKHR where
sizeOf :: CommandBufferSubmitInfoKHR -> Int
sizeOf ~CommandBufferSubmitInfoKHR
_ = Int
32
alignment :: CommandBufferSubmitInfoKHR -> Int
alignment ~CommandBufferSubmitInfoKHR
_ = Int
8
peek :: Ptr CommandBufferSubmitInfoKHR -> IO CommandBufferSubmitInfoKHR
peek = Ptr CommandBufferSubmitInfoKHR -> IO CommandBufferSubmitInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr CommandBufferSubmitInfoKHR
-> CommandBufferSubmitInfoKHR -> IO ()
poke Ptr CommandBufferSubmitInfoKHR
ptr CommandBufferSubmitInfoKHR
poked = Ptr CommandBufferSubmitInfoKHR
-> CommandBufferSubmitInfoKHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr CommandBufferSubmitInfoKHR
ptr CommandBufferSubmitInfoKHR
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero CommandBufferSubmitInfoKHR where
zero :: CommandBufferSubmitInfoKHR
zero = Ptr CommandBuffer_T -> Word32 -> CommandBufferSubmitInfoKHR
CommandBufferSubmitInfoKHR
Ptr CommandBuffer_T
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
data SubmitInfo2KHR (es :: [Type]) = SubmitInfo2KHR
{
SubmitInfo2KHR es -> Chain es
next :: Chain es
,
SubmitInfo2KHR es -> SubmitFlagsKHR
flags :: SubmitFlagsKHR
,
SubmitInfo2KHR es -> Vector SemaphoreSubmitInfoKHR
waitSemaphoreInfos :: Vector SemaphoreSubmitInfoKHR
,
SubmitInfo2KHR es -> Vector CommandBufferSubmitInfoKHR
commandBufferInfos :: Vector CommandBufferSubmitInfoKHR
,
SubmitInfo2KHR es -> Vector SemaphoreSubmitInfoKHR
signalSemaphoreInfos :: Vector SemaphoreSubmitInfoKHR
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (SubmitInfo2KHR (es :: [Type]))
#endif
deriving instance Show (Chain es) => Show (SubmitInfo2KHR es)
instance Extensible SubmitInfo2KHR where
extensibleTypeName :: String
extensibleTypeName = String
"SubmitInfo2KHR"
setNext :: SubmitInfo2KHR ds -> Chain es -> SubmitInfo2KHR es
setNext SubmitInfo2KHR{Vector SemaphoreSubmitInfoKHR
Vector CommandBufferSubmitInfoKHR
Chain ds
SubmitFlagsKHR
signalSemaphoreInfos :: Vector SemaphoreSubmitInfoKHR
commandBufferInfos :: Vector CommandBufferSubmitInfoKHR
waitSemaphoreInfos :: Vector SemaphoreSubmitInfoKHR
flags :: SubmitFlagsKHR
next :: Chain ds
$sel:signalSemaphoreInfos:SubmitInfo2KHR :: forall (es :: [*]).
SubmitInfo2KHR es -> Vector SemaphoreSubmitInfoKHR
$sel:commandBufferInfos:SubmitInfo2KHR :: forall (es :: [*]).
SubmitInfo2KHR es -> Vector CommandBufferSubmitInfoKHR
$sel:waitSemaphoreInfos:SubmitInfo2KHR :: forall (es :: [*]).
SubmitInfo2KHR es -> Vector SemaphoreSubmitInfoKHR
$sel:flags:SubmitInfo2KHR :: forall (es :: [*]). SubmitInfo2KHR es -> SubmitFlagsKHR
$sel:next:SubmitInfo2KHR :: forall (es :: [*]). SubmitInfo2KHR es -> Chain es
..} Chain es
next' = SubmitInfo2KHR :: forall (es :: [*]).
Chain es
-> SubmitFlagsKHR
-> Vector SemaphoreSubmitInfoKHR
-> Vector CommandBufferSubmitInfoKHR
-> Vector SemaphoreSubmitInfoKHR
-> SubmitInfo2KHR es
SubmitInfo2KHR{$sel:next:SubmitInfo2KHR :: Chain es
next = Chain es
next', Vector SemaphoreSubmitInfoKHR
Vector CommandBufferSubmitInfoKHR
SubmitFlagsKHR
signalSemaphoreInfos :: Vector SemaphoreSubmitInfoKHR
commandBufferInfos :: Vector CommandBufferSubmitInfoKHR
waitSemaphoreInfos :: Vector SemaphoreSubmitInfoKHR
flags :: SubmitFlagsKHR
$sel:signalSemaphoreInfos:SubmitInfo2KHR :: Vector SemaphoreSubmitInfoKHR
$sel:commandBufferInfos:SubmitInfo2KHR :: Vector CommandBufferSubmitInfoKHR
$sel:waitSemaphoreInfos:SubmitInfo2KHR :: Vector SemaphoreSubmitInfoKHR
$sel:flags:SubmitInfo2KHR :: SubmitFlagsKHR
..}
getNext :: SubmitInfo2KHR es -> Chain es
getNext SubmitInfo2KHR{Vector SemaphoreSubmitInfoKHR
Vector CommandBufferSubmitInfoKHR
Chain es
SubmitFlagsKHR
signalSemaphoreInfos :: Vector SemaphoreSubmitInfoKHR
commandBufferInfos :: Vector CommandBufferSubmitInfoKHR
waitSemaphoreInfos :: Vector SemaphoreSubmitInfoKHR
flags :: SubmitFlagsKHR
next :: Chain es
$sel:signalSemaphoreInfos:SubmitInfo2KHR :: forall (es :: [*]).
SubmitInfo2KHR es -> Vector SemaphoreSubmitInfoKHR
$sel:commandBufferInfos:SubmitInfo2KHR :: forall (es :: [*]).
SubmitInfo2KHR es -> Vector CommandBufferSubmitInfoKHR
$sel:waitSemaphoreInfos:SubmitInfo2KHR :: forall (es :: [*]).
SubmitInfo2KHR es -> Vector SemaphoreSubmitInfoKHR
$sel:flags:SubmitInfo2KHR :: forall (es :: [*]). SubmitInfo2KHR es -> SubmitFlagsKHR
$sel:next:SubmitInfo2KHR :: forall (es :: [*]). SubmitInfo2KHR es -> Chain es
..} = Chain es
next
extends :: forall e b proxy. Typeable e => proxy e -> (Extends SubmitInfo2KHR e => b) -> Maybe b
extends :: proxy e -> (Extends SubmitInfo2KHR e => b) -> Maybe b
extends proxy e
_ Extends SubmitInfo2KHR e => b
f
| Just e :~: PerformanceQuerySubmitInfoKHR
Refl <- (Typeable e, Typeable PerformanceQuerySubmitInfoKHR) =>
Maybe (e :~: PerformanceQuerySubmitInfoKHR)
forall k (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
eqT @e @PerformanceQuerySubmitInfoKHR = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends SubmitInfo2KHR e => b
f
| Just e :~: Win32KeyedMutexAcquireReleaseInfoKHR
Refl <- (Typeable e, Typeable Win32KeyedMutexAcquireReleaseInfoKHR) =>
Maybe (e :~: Win32KeyedMutexAcquireReleaseInfoKHR)
forall k (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
eqT @e @Win32KeyedMutexAcquireReleaseInfoKHR = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends SubmitInfo2KHR e => b
f
| Just e :~: Win32KeyedMutexAcquireReleaseInfoNV
Refl <- (Typeable e, Typeable Win32KeyedMutexAcquireReleaseInfoNV) =>
Maybe (e :~: Win32KeyedMutexAcquireReleaseInfoNV)
forall k (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
eqT @e @Win32KeyedMutexAcquireReleaseInfoNV = b -> Maybe b
forall a. a -> Maybe a
Just b
Extends SubmitInfo2KHR e => b
f
| Bool
otherwise = Maybe b
forall a. Maybe a
Nothing
instance (Extendss SubmitInfo2KHR es, PokeChain es) => ToCStruct (SubmitInfo2KHR es) where
withCStruct :: SubmitInfo2KHR es -> (Ptr (SubmitInfo2KHR es) -> IO b) -> IO b
withCStruct SubmitInfo2KHR es
x Ptr (SubmitInfo2KHR es) -> IO b
f = Int -> (Ptr (SubmitInfo2KHR es) -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
64 ((Ptr (SubmitInfo2KHR es) -> IO b) -> IO b)
-> (Ptr (SubmitInfo2KHR es) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr (SubmitInfo2KHR es)
p -> Ptr (SubmitInfo2KHR es) -> SubmitInfo2KHR es -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr (SubmitInfo2KHR es)
p SubmitInfo2KHR es
x (Ptr (SubmitInfo2KHR es) -> IO b
f Ptr (SubmitInfo2KHR es)
p)
pokeCStruct :: Ptr (SubmitInfo2KHR es) -> SubmitInfo2KHR es -> IO b -> IO b
pokeCStruct Ptr (SubmitInfo2KHR es)
p SubmitInfo2KHR{Vector SemaphoreSubmitInfoKHR
Vector CommandBufferSubmitInfoKHR
Chain es
SubmitFlagsKHR
signalSemaphoreInfos :: Vector SemaphoreSubmitInfoKHR
commandBufferInfos :: Vector CommandBufferSubmitInfoKHR
waitSemaphoreInfos :: Vector SemaphoreSubmitInfoKHR
flags :: SubmitFlagsKHR
next :: Chain es
$sel:signalSemaphoreInfos:SubmitInfo2KHR :: forall (es :: [*]).
SubmitInfo2KHR es -> Vector SemaphoreSubmitInfoKHR
$sel:commandBufferInfos:SubmitInfo2KHR :: forall (es :: [*]).
SubmitInfo2KHR es -> Vector CommandBufferSubmitInfoKHR
$sel:waitSemaphoreInfos:SubmitInfo2KHR :: forall (es :: [*]).
SubmitInfo2KHR es -> Vector SemaphoreSubmitInfoKHR
$sel:flags:SubmitInfo2KHR :: forall (es :: [*]). SubmitInfo2KHR es -> SubmitFlagsKHR
$sel:next:SubmitInfo2KHR :: forall (es :: [*]). SubmitInfo2KHR 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 (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SUBMIT_INFO_2_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 (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR 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 SubmitFlagsKHR -> SubmitFlagsKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es) -> Int -> Ptr SubmitFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr SubmitFlagsKHR)) (SubmitFlagsKHR
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
$ ("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es)
-> Int -> "pCheckpointDataCount" ::: 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 SemaphoreSubmitInfoKHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector SemaphoreSubmitInfoKHR -> Int)
-> Vector SemaphoreSubmitInfoKHR -> Int
forall a b. (a -> b) -> a -> b
$ (Vector SemaphoreSubmitInfoKHR
waitSemaphoreInfos)) :: Word32))
Ptr SemaphoreSubmitInfoKHR
pPWaitSemaphoreInfos' <- ((Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr SemaphoreSubmitInfoKHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr SemaphoreSubmitInfoKHR))
-> ((Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr SemaphoreSubmitInfoKHR)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @SemaphoreSubmitInfoKHR ((Vector SemaphoreSubmitInfoKHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector SemaphoreSubmitInfoKHR
waitSemaphoreInfos)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
48)
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 -> SemaphoreSubmitInfoKHR -> IO ())
-> Vector SemaphoreSubmitInfoKHR -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i SemaphoreSubmitInfoKHR
e -> Ptr SemaphoreSubmitInfoKHR -> SemaphoreSubmitInfoKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr SemaphoreSubmitInfoKHR
pPWaitSemaphoreInfos' Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr SemaphoreSubmitInfoKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
48 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr SemaphoreSubmitInfoKHR) (SemaphoreSubmitInfoKHR
e)) (Vector SemaphoreSubmitInfoKHR
waitSemaphoreInfos)
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 SemaphoreSubmitInfoKHR)
-> Ptr SemaphoreSubmitInfoKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es) -> Int -> Ptr (Ptr SemaphoreSubmitInfoKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr SemaphoreSubmitInfoKHR))) (Ptr SemaphoreSubmitInfoKHR
pPWaitSemaphoreInfos')
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
$ ("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector CommandBufferSubmitInfoKHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector CommandBufferSubmitInfoKHR -> Int)
-> Vector CommandBufferSubmitInfoKHR -> Int
forall a b. (a -> b) -> a -> b
$ (Vector CommandBufferSubmitInfoKHR
commandBufferInfos)) :: Word32))
Ptr CommandBufferSubmitInfoKHR
pPCommandBufferInfos' <- ((Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr CommandBufferSubmitInfoKHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr CommandBufferSubmitInfoKHR))
-> ((Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr CommandBufferSubmitInfoKHR)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @CommandBufferSubmitInfoKHR ((Vector CommandBufferSubmitInfoKHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector CommandBufferSubmitInfoKHR
commandBufferInfos)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
32)
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 -> CommandBufferSubmitInfoKHR -> IO ())
-> Vector CommandBufferSubmitInfoKHR -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i CommandBufferSubmitInfoKHR
e -> Ptr CommandBufferSubmitInfoKHR
-> CommandBufferSubmitInfoKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CommandBufferSubmitInfoKHR
pPCommandBufferInfos' Ptr CommandBufferSubmitInfoKHR
-> Int -> Ptr CommandBufferSubmitInfoKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
32 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr CommandBufferSubmitInfoKHR) (CommandBufferSubmitInfoKHR
e)) (Vector CommandBufferSubmitInfoKHR
commandBufferInfos)
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 CommandBufferSubmitInfoKHR)
-> Ptr CommandBufferSubmitInfoKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es)
-> Int -> Ptr (Ptr CommandBufferSubmitInfoKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr (Ptr CommandBufferSubmitInfoKHR))) (Ptr CommandBufferSubmitInfoKHR
pPCommandBufferInfos')
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
$ ("pCheckpointDataCount" ::: Ptr Word32) -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector SemaphoreSubmitInfoKHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector SemaphoreSubmitInfoKHR -> Int)
-> Vector SemaphoreSubmitInfoKHR -> Int
forall a b. (a -> b) -> a -> b
$ (Vector SemaphoreSubmitInfoKHR
signalSemaphoreInfos)) :: Word32))
Ptr SemaphoreSubmitInfoKHR
pPSignalSemaphoreInfos' <- ((Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr SemaphoreSubmitInfoKHR)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr SemaphoreSubmitInfoKHR))
-> ((Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b)
-> ContT b IO (Ptr SemaphoreSubmitInfoKHR)
forall a b. (a -> b) -> a -> b
$ Int -> (Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @SemaphoreSubmitInfoKHR ((Vector SemaphoreSubmitInfoKHR -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector SemaphoreSubmitInfoKHR
signalSemaphoreInfos)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* Int
48)
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 -> SemaphoreSubmitInfoKHR -> IO ())
-> Vector SemaphoreSubmitInfoKHR -> IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i SemaphoreSubmitInfoKHR
e -> Ptr SemaphoreSubmitInfoKHR -> SemaphoreSubmitInfoKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr SemaphoreSubmitInfoKHR
pPSignalSemaphoreInfos' Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr SemaphoreSubmitInfoKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
48 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr SemaphoreSubmitInfoKHR) (SemaphoreSubmitInfoKHR
e)) (Vector SemaphoreSubmitInfoKHR
signalSemaphoreInfos)
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 SemaphoreSubmitInfoKHR)
-> Ptr SemaphoreSubmitInfoKHR -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es) -> Int -> Ptr (Ptr SemaphoreSubmitInfoKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr (Ptr SemaphoreSubmitInfoKHR))) (Ptr SemaphoreSubmitInfoKHR
pPSignalSemaphoreInfos')
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
64
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr (SubmitInfo2KHR es) -> IO b -> IO b
pokeZeroCStruct Ptr (SubmitInfo2KHR 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 (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es) -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_SUBMIT_INFO_2_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 (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) Ptr ()
pNext'
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 (Extendss SubmitInfo2KHR es, PeekChain es) => FromCStruct (SubmitInfo2KHR es) where
peekCStruct :: Ptr (SubmitInfo2KHR es) -> IO (SubmitInfo2KHR es)
peekCStruct Ptr (SubmitInfo2KHR es)
p = do
Ptr ()
pNext <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es) -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ())))
Chain es
next <- Ptr (Chain es) -> IO (Chain es)
forall (es :: [*]). PeekChain es => Ptr (Chain es) -> IO (Chain es)
peekChain (Ptr () -> Ptr (Chain es)
forall a b. Ptr a -> Ptr b
castPtr Ptr ()
pNext)
SubmitFlagsKHR
flags <- Ptr SubmitFlagsKHR -> IO SubmitFlagsKHR
forall a. Storable a => Ptr a -> IO a
peek @SubmitFlagsKHR ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es) -> Int -> Ptr SubmitFlagsKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr SubmitFlagsKHR))
Word32
waitSemaphoreInfoCount <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Word32))
Ptr SemaphoreSubmitInfoKHR
pWaitSemaphoreInfos <- Ptr (Ptr SemaphoreSubmitInfoKHR) -> IO (Ptr SemaphoreSubmitInfoKHR)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr SemaphoreSubmitInfoKHR) ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es) -> Int -> Ptr (Ptr SemaphoreSubmitInfoKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr SemaphoreSubmitInfoKHR)))
Vector SemaphoreSubmitInfoKHR
pWaitSemaphoreInfos' <- Int
-> (Int -> IO SemaphoreSubmitInfoKHR)
-> IO (Vector SemaphoreSubmitInfoKHR)
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
waitSemaphoreInfoCount) (\Int
i -> Ptr SemaphoreSubmitInfoKHR -> IO SemaphoreSubmitInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @SemaphoreSubmitInfoKHR ((Ptr SemaphoreSubmitInfoKHR
pWaitSemaphoreInfos Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr SemaphoreSubmitInfoKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
48 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr SemaphoreSubmitInfoKHR)))
Word32
commandBufferInfoCount <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word32))
Ptr CommandBufferSubmitInfoKHR
pCommandBufferInfos <- Ptr (Ptr CommandBufferSubmitInfoKHR)
-> IO (Ptr CommandBufferSubmitInfoKHR)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr CommandBufferSubmitInfoKHR) ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es)
-> Int -> Ptr (Ptr CommandBufferSubmitInfoKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr (Ptr CommandBufferSubmitInfoKHR)))
Vector CommandBufferSubmitInfoKHR
pCommandBufferInfos' <- Int
-> (Int -> IO CommandBufferSubmitInfoKHR)
-> IO (Vector CommandBufferSubmitInfoKHR)
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
commandBufferInfoCount) (\Int
i -> Ptr CommandBufferSubmitInfoKHR -> IO CommandBufferSubmitInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @CommandBufferSubmitInfoKHR ((Ptr CommandBufferSubmitInfoKHR
pCommandBufferInfos Ptr CommandBufferSubmitInfoKHR
-> Int -> Ptr CommandBufferSubmitInfoKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
32 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr CommandBufferSubmitInfoKHR)))
Word32
signalSemaphoreInfoCount <- ("pCheckpointDataCount" ::: Ptr Word32) -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es)
-> Int -> "pCheckpointDataCount" ::: Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Word32))
Ptr SemaphoreSubmitInfoKHR
pSignalSemaphoreInfos <- Ptr (Ptr SemaphoreSubmitInfoKHR) -> IO (Ptr SemaphoreSubmitInfoKHR)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr SemaphoreSubmitInfoKHR) ((Ptr (SubmitInfo2KHR es)
p Ptr (SubmitInfo2KHR es) -> Int -> Ptr (Ptr SemaphoreSubmitInfoKHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr (Ptr SemaphoreSubmitInfoKHR)))
Vector SemaphoreSubmitInfoKHR
pSignalSemaphoreInfos' <- Int
-> (Int -> IO SemaphoreSubmitInfoKHR)
-> IO (Vector SemaphoreSubmitInfoKHR)
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
signalSemaphoreInfoCount) (\Int
i -> Ptr SemaphoreSubmitInfoKHR -> IO SemaphoreSubmitInfoKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @SemaphoreSubmitInfoKHR ((Ptr SemaphoreSubmitInfoKHR
pSignalSemaphoreInfos Ptr SemaphoreSubmitInfoKHR -> Int -> Ptr SemaphoreSubmitInfoKHR
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
48 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr SemaphoreSubmitInfoKHR)))
SubmitInfo2KHR es -> IO (SubmitInfo2KHR es)
forall (f :: * -> *) a. Applicative f => a -> f a
pure (SubmitInfo2KHR es -> IO (SubmitInfo2KHR es))
-> SubmitInfo2KHR es -> IO (SubmitInfo2KHR es)
forall a b. (a -> b) -> a -> b
$ Chain es
-> SubmitFlagsKHR
-> Vector SemaphoreSubmitInfoKHR
-> Vector CommandBufferSubmitInfoKHR
-> Vector SemaphoreSubmitInfoKHR
-> SubmitInfo2KHR es
forall (es :: [*]).
Chain es
-> SubmitFlagsKHR
-> Vector SemaphoreSubmitInfoKHR
-> Vector CommandBufferSubmitInfoKHR
-> Vector SemaphoreSubmitInfoKHR
-> SubmitInfo2KHR es
SubmitInfo2KHR
Chain es
next SubmitFlagsKHR
flags Vector SemaphoreSubmitInfoKHR
pWaitSemaphoreInfos' Vector CommandBufferSubmitInfoKHR
pCommandBufferInfos' Vector SemaphoreSubmitInfoKHR
pSignalSemaphoreInfos'
instance es ~ '[] => Zero (SubmitInfo2KHR es) where
zero :: SubmitInfo2KHR es
zero = Chain es
-> SubmitFlagsKHR
-> Vector SemaphoreSubmitInfoKHR
-> Vector CommandBufferSubmitInfoKHR
-> Vector SemaphoreSubmitInfoKHR
-> SubmitInfo2KHR es
forall (es :: [*]).
Chain es
-> SubmitFlagsKHR
-> Vector SemaphoreSubmitInfoKHR
-> Vector CommandBufferSubmitInfoKHR
-> Vector SemaphoreSubmitInfoKHR
-> SubmitInfo2KHR es
SubmitInfo2KHR
()
SubmitFlagsKHR
forall a. Zero a => a
zero
Vector SemaphoreSubmitInfoKHR
forall a. Monoid a => a
mempty
Vector CommandBufferSubmitInfoKHR
forall a. Monoid a => a
mempty
Vector SemaphoreSubmitInfoKHR
forall a. Monoid a => a
mempty
data QueueFamilyCheckpointProperties2NV = QueueFamilyCheckpointProperties2NV
{
QueueFamilyCheckpointProperties2NV
-> "stageMask" ::: PipelineStageFlags2KHR
checkpointExecutionStageMask :: PipelineStageFlags2KHR }
deriving (Typeable, QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> Bool
(QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> Bool)
-> (QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> Bool)
-> Eq QueueFamilyCheckpointProperties2NV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> Bool
$c/= :: QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> Bool
== :: QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> Bool
$c== :: QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (QueueFamilyCheckpointProperties2NV)
#endif
deriving instance Show QueueFamilyCheckpointProperties2NV
instance ToCStruct QueueFamilyCheckpointProperties2NV where
withCStruct :: QueueFamilyCheckpointProperties2NV
-> (Ptr QueueFamilyCheckpointProperties2NV -> IO b) -> IO b
withCStruct QueueFamilyCheckpointProperties2NV
x Ptr QueueFamilyCheckpointProperties2NV -> IO b
f = Int -> (Ptr QueueFamilyCheckpointProperties2NV -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr QueueFamilyCheckpointProperties2NV -> IO b) -> IO b)
-> (Ptr QueueFamilyCheckpointProperties2NV -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr QueueFamilyCheckpointProperties2NV
p -> Ptr QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr QueueFamilyCheckpointProperties2NV
p QueueFamilyCheckpointProperties2NV
x (Ptr QueueFamilyCheckpointProperties2NV -> IO b
f Ptr QueueFamilyCheckpointProperties2NV
p)
pokeCStruct :: Ptr QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> IO b -> IO b
pokeCStruct Ptr QueueFamilyCheckpointProperties2NV
p QueueFamilyCheckpointProperties2NV{"stageMask" ::: PipelineStageFlags2KHR
checkpointExecutionStageMask :: "stageMask" ::: PipelineStageFlags2KHR
$sel:checkpointExecutionStageMask:QueueFamilyCheckpointProperties2NV :: QueueFamilyCheckpointProperties2NV
-> "stageMask" ::: PipelineStageFlags2KHR
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyCheckpointProperties2NV
p Ptr QueueFamilyCheckpointProperties2NV -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyCheckpointProperties2NV
p Ptr QueueFamilyCheckpointProperties2NV -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyCheckpointProperties2NV
p Ptr QueueFamilyCheckpointProperties2NV
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
checkpointExecutionStageMask)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr QueueFamilyCheckpointProperties2NV -> IO b -> IO b
pokeZeroCStruct Ptr QueueFamilyCheckpointProperties2NV
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyCheckpointProperties2NV
p Ptr QueueFamilyCheckpointProperties2NV -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyCheckpointProperties2NV
p Ptr QueueFamilyCheckpointProperties2NV -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr QueueFamilyCheckpointProperties2NV
p Ptr QueueFamilyCheckpointProperties2NV
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct QueueFamilyCheckpointProperties2NV where
peekCStruct :: Ptr QueueFamilyCheckpointProperties2NV
-> IO QueueFamilyCheckpointProperties2NV
peekCStruct Ptr QueueFamilyCheckpointProperties2NV
p = do
"stageMask" ::: PipelineStageFlags2KHR
checkpointExecutionStageMask <- Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
forall a. Storable a => Ptr a -> IO a
peek @PipelineStageFlags2KHR ((Ptr QueueFamilyCheckpointProperties2NV
p Ptr QueueFamilyCheckpointProperties2NV
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR))
QueueFamilyCheckpointProperties2NV
-> IO QueueFamilyCheckpointProperties2NV
forall (f :: * -> *) a. Applicative f => a -> f a
pure (QueueFamilyCheckpointProperties2NV
-> IO QueueFamilyCheckpointProperties2NV)
-> QueueFamilyCheckpointProperties2NV
-> IO QueueFamilyCheckpointProperties2NV
forall a b. (a -> b) -> a -> b
$ ("stageMask" ::: PipelineStageFlags2KHR)
-> QueueFamilyCheckpointProperties2NV
QueueFamilyCheckpointProperties2NV
"stageMask" ::: PipelineStageFlags2KHR
checkpointExecutionStageMask
instance Storable QueueFamilyCheckpointProperties2NV where
sizeOf :: QueueFamilyCheckpointProperties2NV -> Int
sizeOf ~QueueFamilyCheckpointProperties2NV
_ = Int
24
alignment :: QueueFamilyCheckpointProperties2NV -> Int
alignment ~QueueFamilyCheckpointProperties2NV
_ = Int
8
peek :: Ptr QueueFamilyCheckpointProperties2NV
-> IO QueueFamilyCheckpointProperties2NV
peek = Ptr QueueFamilyCheckpointProperties2NV
-> IO QueueFamilyCheckpointProperties2NV
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> IO ()
poke Ptr QueueFamilyCheckpointProperties2NV
ptr QueueFamilyCheckpointProperties2NV
poked = Ptr QueueFamilyCheckpointProperties2NV
-> QueueFamilyCheckpointProperties2NV -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr QueueFamilyCheckpointProperties2NV
ptr QueueFamilyCheckpointProperties2NV
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero QueueFamilyCheckpointProperties2NV where
zero :: QueueFamilyCheckpointProperties2NV
zero = ("stageMask" ::: PipelineStageFlags2KHR)
-> QueueFamilyCheckpointProperties2NV
QueueFamilyCheckpointProperties2NV
"stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero
data CheckpointData2NV = CheckpointData2NV
{
CheckpointData2NV -> "stageMask" ::: PipelineStageFlags2KHR
stage :: PipelineStageFlags2KHR
,
CheckpointData2NV -> Ptr ()
checkpointMarker :: Ptr ()
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (CheckpointData2NV)
#endif
deriving instance Show CheckpointData2NV
instance ToCStruct CheckpointData2NV where
withCStruct :: CheckpointData2NV
-> (("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b) -> IO b
withCStruct CheckpointData2NV
x ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b
f = Int
-> (("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
32 ((("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b) -> IO b)
-> (("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \"pCheckpointData" ::: Ptr CheckpointData2NV
p -> ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> CheckpointData2NV -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCheckpointData" ::: Ptr CheckpointData2NV
p CheckpointData2NV
x (("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b
f "pCheckpointData" ::: Ptr CheckpointData2NV
p)
pokeCStruct :: ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> CheckpointData2NV -> IO b -> IO b
pokeCStruct "pCheckpointData" ::: Ptr CheckpointData2NV
p CheckpointData2NV{Ptr ()
"stageMask" ::: PipelineStageFlags2KHR
checkpointMarker :: Ptr ()
stage :: "stageMask" ::: PipelineStageFlags2KHR
$sel:checkpointMarker:CheckpointData2NV :: CheckpointData2NV -> Ptr ()
$sel:stage:CheckpointData2NV :: CheckpointData2NV -> "stageMask" ::: PipelineStageFlags2KHR
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCheckpointData" ::: Ptr CheckpointData2NV
p ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCheckpointData" ::: Ptr CheckpointData2NV
p ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCheckpointData" ::: Ptr CheckpointData2NV
p ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
stage)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCheckpointData" ::: Ptr CheckpointData2NV
p ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ()))) (Ptr ()
checkpointMarker)
IO b
f
cStructSize :: Int
cStructSize = Int
32
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b -> IO b
pokeZeroCStruct "pCheckpointData" ::: Ptr CheckpointData2NV
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCheckpointData" ::: Ptr CheckpointData2NV
p ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCheckpointData" ::: Ptr CheckpointData2NV
p ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCheckpointData" ::: Ptr CheckpointData2NV
p ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCheckpointData" ::: Ptr CheckpointData2NV
p ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ()))) (Ptr ()
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct CheckpointData2NV where
peekCStruct :: ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO CheckpointData2NV
peekCStruct "pCheckpointData" ::: Ptr CheckpointData2NV
p = do
"stageMask" ::: PipelineStageFlags2KHR
stage <- Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
forall a. Storable a => Ptr a -> IO a
peek @PipelineStageFlags2KHR (("pCheckpointData" ::: Ptr CheckpointData2NV
p ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> Ptr ("stageMask" ::: PipelineStageFlags2KHR)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr PipelineStageFlags2KHR))
Ptr ()
pCheckpointMarker <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) (("pCheckpointData" ::: Ptr CheckpointData2NV
p ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr ())))
CheckpointData2NV -> IO CheckpointData2NV
forall (f :: * -> *) a. Applicative f => a -> f a
pure (CheckpointData2NV -> IO CheckpointData2NV)
-> CheckpointData2NV -> IO CheckpointData2NV
forall a b. (a -> b) -> a -> b
$ ("stageMask" ::: PipelineStageFlags2KHR)
-> Ptr () -> CheckpointData2NV
CheckpointData2NV
"stageMask" ::: PipelineStageFlags2KHR
stage Ptr ()
pCheckpointMarker
instance Storable CheckpointData2NV where
sizeOf :: CheckpointData2NV -> Int
sizeOf ~CheckpointData2NV
_ = Int
32
alignment :: CheckpointData2NV -> Int
alignment ~CheckpointData2NV
_ = Int
8
peek :: ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO CheckpointData2NV
peek = ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO CheckpointData2NV
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> CheckpointData2NV -> IO ()
poke "pCheckpointData" ::: Ptr CheckpointData2NV
ptr CheckpointData2NV
poked = ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> CheckpointData2NV -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCheckpointData" ::: Ptr CheckpointData2NV
ptr CheckpointData2NV
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero CheckpointData2NV where
zero :: CheckpointData2NV
zero = ("stageMask" ::: PipelineStageFlags2KHR)
-> Ptr () -> CheckpointData2NV
CheckpointData2NV
"stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero
Ptr ()
forall a. Zero a => a
zero
data PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2FeaturesKHR
{
PhysicalDeviceSynchronization2FeaturesKHR -> Bool
synchronization2 :: Bool }
deriving (Typeable, PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> Bool
(PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> Bool)
-> (PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> Bool)
-> Eq PhysicalDeviceSynchronization2FeaturesKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> Bool
$c/= :: PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> Bool
== :: PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> Bool
$c== :: PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceSynchronization2FeaturesKHR)
#endif
deriving instance Show PhysicalDeviceSynchronization2FeaturesKHR
instance ToCStruct PhysicalDeviceSynchronization2FeaturesKHR where
withCStruct :: PhysicalDeviceSynchronization2FeaturesKHR
-> (Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b) -> IO b
withCStruct PhysicalDeviceSynchronization2FeaturesKHR
x Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b
f = Int
-> (Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b) -> IO b)
-> (Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceSynchronization2FeaturesKHR
p -> Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceSynchronization2FeaturesKHR
p PhysicalDeviceSynchronization2FeaturesKHR
x (Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b
f Ptr PhysicalDeviceSynchronization2FeaturesKHR
p)
pokeCStruct :: Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceSynchronization2FeaturesKHR
p PhysicalDeviceSynchronization2FeaturesKHR{Bool
synchronization2 :: Bool
$sel:synchronization2:PhysicalDeviceSynchronization2FeaturesKHR :: PhysicalDeviceSynchronization2FeaturesKHR -> Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSynchronization2FeaturesKHR
p Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSynchronization2FeaturesKHR
p Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> 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 PhysicalDeviceSynchronization2FeaturesKHR
p Ptr PhysicalDeviceSynchronization2FeaturesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
synchronization2))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceSynchronization2FeaturesKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSynchronization2FeaturesKHR
p Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceSynchronization2FeaturesKHR
p Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> 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 PhysicalDeviceSynchronization2FeaturesKHR
p Ptr PhysicalDeviceSynchronization2FeaturesKHR -> 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 PhysicalDeviceSynchronization2FeaturesKHR where
peekCStruct :: Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> IO PhysicalDeviceSynchronization2FeaturesKHR
peekCStruct Ptr PhysicalDeviceSynchronization2FeaturesKHR
p = do
Bool32
synchronization2 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceSynchronization2FeaturesKHR
p Ptr PhysicalDeviceSynchronization2FeaturesKHR -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
PhysicalDeviceSynchronization2FeaturesKHR
-> IO PhysicalDeviceSynchronization2FeaturesKHR
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceSynchronization2FeaturesKHR
-> IO PhysicalDeviceSynchronization2FeaturesKHR)
-> PhysicalDeviceSynchronization2FeaturesKHR
-> IO PhysicalDeviceSynchronization2FeaturesKHR
forall a b. (a -> b) -> a -> b
$ Bool -> PhysicalDeviceSynchronization2FeaturesKHR
PhysicalDeviceSynchronization2FeaturesKHR
(Bool32 -> Bool
bool32ToBool Bool32
synchronization2)
instance Storable PhysicalDeviceSynchronization2FeaturesKHR where
sizeOf :: PhysicalDeviceSynchronization2FeaturesKHR -> Int
sizeOf ~PhysicalDeviceSynchronization2FeaturesKHR
_ = Int
24
alignment :: PhysicalDeviceSynchronization2FeaturesKHR -> Int
alignment ~PhysicalDeviceSynchronization2FeaturesKHR
_ = Int
8
peek :: Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> IO PhysicalDeviceSynchronization2FeaturesKHR
peek = Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> IO PhysicalDeviceSynchronization2FeaturesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> IO ()
poke Ptr PhysicalDeviceSynchronization2FeaturesKHR
ptr PhysicalDeviceSynchronization2FeaturesKHR
poked = Ptr PhysicalDeviceSynchronization2FeaturesKHR
-> PhysicalDeviceSynchronization2FeaturesKHR -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceSynchronization2FeaturesKHR
ptr PhysicalDeviceSynchronization2FeaturesKHR
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceSynchronization2FeaturesKHR where
zero :: PhysicalDeviceSynchronization2FeaturesKHR
zero = Bool -> PhysicalDeviceSynchronization2FeaturesKHR
PhysicalDeviceSynchronization2FeaturesKHR
Bool
forall a. Zero a => a
zero
type AccessFlags2KHR = AccessFlagBits2KHR
newtype AccessFlagBits2KHR = AccessFlagBits2KHR Flags64
deriving newtype (AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
(AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool)
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool)
-> Eq AccessFlagBits2KHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
$c/= :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
== :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
$c== :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
Eq, Eq AccessFlagBits2KHR
Eq AccessFlagBits2KHR
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> Ordering)
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool)
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool)
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool)
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool)
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR)
-> Ord AccessFlagBits2KHR
AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
AccessFlagBits2KHR -> AccessFlagBits2KHR -> Ordering
AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
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 :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
$cmin :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
max :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
$cmax :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
>= :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
$c>= :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
> :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
$c> :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
<= :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
$c<= :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
< :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
$c< :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Bool
compare :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Ordering
$ccompare :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> Ordering
$cp1Ord :: Eq AccessFlagBits2KHR
Ord, Ptr b -> Int -> IO AccessFlagBits2KHR
Ptr b -> Int -> AccessFlagBits2KHR -> IO ()
Ptr AccessFlagBits2KHR -> IO AccessFlagBits2KHR
Ptr AccessFlagBits2KHR -> Int -> IO AccessFlagBits2KHR
Ptr AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR -> IO ()
Ptr AccessFlagBits2KHR -> AccessFlagBits2KHR -> IO ()
AccessFlagBits2KHR -> Int
(AccessFlagBits2KHR -> Int)
-> (AccessFlagBits2KHR -> Int)
-> (Ptr AccessFlagBits2KHR -> Int -> IO AccessFlagBits2KHR)
-> (Ptr AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR -> IO ())
-> (forall b. Ptr b -> Int -> IO AccessFlagBits2KHR)
-> (forall b. Ptr b -> Int -> AccessFlagBits2KHR -> IO ())
-> (Ptr AccessFlagBits2KHR -> IO AccessFlagBits2KHR)
-> (Ptr AccessFlagBits2KHR -> AccessFlagBits2KHR -> IO ())
-> Storable AccessFlagBits2KHR
forall b. Ptr b -> Int -> IO AccessFlagBits2KHR
forall b. Ptr b -> Int -> AccessFlagBits2KHR -> 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 AccessFlagBits2KHR -> AccessFlagBits2KHR -> IO ()
$cpoke :: Ptr AccessFlagBits2KHR -> AccessFlagBits2KHR -> IO ()
peek :: Ptr AccessFlagBits2KHR -> IO AccessFlagBits2KHR
$cpeek :: Ptr AccessFlagBits2KHR -> IO AccessFlagBits2KHR
pokeByteOff :: Ptr b -> Int -> AccessFlagBits2KHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> AccessFlagBits2KHR -> IO ()
peekByteOff :: Ptr b -> Int -> IO AccessFlagBits2KHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO AccessFlagBits2KHR
pokeElemOff :: Ptr AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR -> IO ()
$cpokeElemOff :: Ptr AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR -> IO ()
peekElemOff :: Ptr AccessFlagBits2KHR -> Int -> IO AccessFlagBits2KHR
$cpeekElemOff :: Ptr AccessFlagBits2KHR -> Int -> IO AccessFlagBits2KHR
alignment :: AccessFlagBits2KHR -> Int
$calignment :: AccessFlagBits2KHR -> Int
sizeOf :: AccessFlagBits2KHR -> Int
$csizeOf :: AccessFlagBits2KHR -> Int
Storable, AccessFlagBits2KHR
AccessFlagBits2KHR -> Zero AccessFlagBits2KHR
forall a. a -> Zero a
zero :: AccessFlagBits2KHR
$czero :: AccessFlagBits2KHR
Zero, Eq AccessFlagBits2KHR
AccessFlagBits2KHR
Eq AccessFlagBits2KHR
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> AccessFlagBits2KHR
-> (Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> Bool)
-> (AccessFlagBits2KHR -> Maybe Int)
-> (AccessFlagBits2KHR -> Int)
-> (AccessFlagBits2KHR -> Bool)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR)
-> (AccessFlagBits2KHR -> Int)
-> Bits AccessFlagBits2KHR
Int -> AccessFlagBits2KHR
AccessFlagBits2KHR -> Bool
AccessFlagBits2KHR -> Int
AccessFlagBits2KHR -> Maybe Int
AccessFlagBits2KHR -> AccessFlagBits2KHR
AccessFlagBits2KHR -> Int -> Bool
AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
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 :: AccessFlagBits2KHR -> Int
$cpopCount :: AccessFlagBits2KHR -> Int
rotateR :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$crotateR :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
rotateL :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$crotateL :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
unsafeShiftR :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$cunsafeShiftR :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
shiftR :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$cshiftR :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
unsafeShiftL :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$cunsafeShiftL :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
shiftL :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$cshiftL :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
isSigned :: AccessFlagBits2KHR -> Bool
$cisSigned :: AccessFlagBits2KHR -> Bool
bitSize :: AccessFlagBits2KHR -> Int
$cbitSize :: AccessFlagBits2KHR -> Int
bitSizeMaybe :: AccessFlagBits2KHR -> Maybe Int
$cbitSizeMaybe :: AccessFlagBits2KHR -> Maybe Int
testBit :: AccessFlagBits2KHR -> Int -> Bool
$ctestBit :: AccessFlagBits2KHR -> Int -> Bool
complementBit :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$ccomplementBit :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
clearBit :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$cclearBit :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
setBit :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$csetBit :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
bit :: Int -> AccessFlagBits2KHR
$cbit :: Int -> AccessFlagBits2KHR
zeroBits :: AccessFlagBits2KHR
$czeroBits :: AccessFlagBits2KHR
rotate :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$crotate :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
shift :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
$cshift :: AccessFlagBits2KHR -> Int -> AccessFlagBits2KHR
complement :: AccessFlagBits2KHR -> AccessFlagBits2KHR
$ccomplement :: AccessFlagBits2KHR -> AccessFlagBits2KHR
xor :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
$cxor :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
.|. :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
$c.|. :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
.&. :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
$c.&. :: AccessFlagBits2KHR -> AccessFlagBits2KHR -> AccessFlagBits2KHR
$cp1Bits :: Eq AccessFlagBits2KHR
Bits, Bits AccessFlagBits2KHR
Bits AccessFlagBits2KHR
-> (AccessFlagBits2KHR -> Int)
-> (AccessFlagBits2KHR -> Int)
-> (AccessFlagBits2KHR -> Int)
-> FiniteBits AccessFlagBits2KHR
AccessFlagBits2KHR -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: AccessFlagBits2KHR -> Int
$ccountTrailingZeros :: AccessFlagBits2KHR -> Int
countLeadingZeros :: AccessFlagBits2KHR -> Int
$ccountLeadingZeros :: AccessFlagBits2KHR -> Int
finiteBitSize :: AccessFlagBits2KHR -> Int
$cfiniteBitSize :: AccessFlagBits2KHR -> Int
$cp1FiniteBits :: Bits AccessFlagBits2KHR
FiniteBits)
pattern $bACCESS_2_NONE_KHR :: AccessFlagBits2KHR
$mACCESS_2_NONE_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_NONE_KHR = AccessFlagBits2KHR 0x0000000000000000
pattern $bACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000000001
pattern $bACCESS_2_INDEX_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_INDEX_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_INDEX_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000000002
pattern $bACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000000004
pattern $bACCESS_2_UNIFORM_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_UNIFORM_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_UNIFORM_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000000008
pattern $bACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000000010
pattern $bACCESS_2_SHADER_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_SHADER_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_SHADER_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000000020
pattern $bACCESS_2_SHADER_WRITE_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_SHADER_WRITE_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_SHADER_WRITE_BIT_KHR = AccessFlagBits2KHR 0x0000000000000040
pattern $bACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000000080
pattern $bACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR = AccessFlagBits2KHR 0x0000000000000100
pattern $bACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000000200
pattern $bACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR = AccessFlagBits2KHR 0x0000000000000400
pattern $bACCESS_2_TRANSFER_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_TRANSFER_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_TRANSFER_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000000800
pattern $bACCESS_2_TRANSFER_WRITE_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_TRANSFER_WRITE_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_TRANSFER_WRITE_BIT_KHR = AccessFlagBits2KHR 0x0000000000001000
pattern $bACCESS_2_HOST_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_HOST_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_HOST_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000002000
pattern $bACCESS_2_HOST_WRITE_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_HOST_WRITE_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_HOST_WRITE_BIT_KHR = AccessFlagBits2KHR 0x0000000000004000
pattern $bACCESS_2_MEMORY_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_MEMORY_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_MEMORY_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000008000
pattern $bACCESS_2_MEMORY_WRITE_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_MEMORY_WRITE_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_MEMORY_WRITE_BIT_KHR = AccessFlagBits2KHR 0x0000000000010000
pattern $bACCESS_2_SHADER_SAMPLED_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_SHADER_SAMPLED_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000100000000
pattern $bACCESS_2_SHADER_STORAGE_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_SHADER_STORAGE_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000200000000
pattern $bACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = AccessFlagBits2KHR 0x0000000400000000
pattern $bACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI :: AccessFlagBits2KHR
$mACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = AccessFlagBits2KHR 0x0000008000000000
pattern $bACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: AccessFlagBits2KHR
$mACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = AccessFlagBits2KHR 0x0000000000080000
pattern $bACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: AccessFlagBits2KHR
$mACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = AccessFlagBits2KHR 0x0000000001000000
pattern $bACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = AccessFlagBits2KHR 0x0000000000400000
pattern $bACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000200000
pattern $bACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR :: AccessFlagBits2KHR
$mACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR = AccessFlagBits2KHR 0x0000000000800000
pattern $bACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV :: AccessFlagBits2KHR
$mACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV = AccessFlagBits2KHR 0x0000000000040000
pattern $bACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV :: AccessFlagBits2KHR
$mACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV = AccessFlagBits2KHR 0x0000000000020000
pattern $bACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT :: AccessFlagBits2KHR
$mACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT = AccessFlagBits2KHR 0x0000000000100000
pattern $bACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT :: AccessFlagBits2KHR
$mACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = AccessFlagBits2KHR 0x0000000008000000
pattern $bACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT :: AccessFlagBits2KHR
$mACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = AccessFlagBits2KHR 0x0000000004000000
pattern $bACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT :: AccessFlagBits2KHR
$mACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT :: forall r. AccessFlagBits2KHR -> (Void# -> r) -> (Void# -> r) -> r
ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = AccessFlagBits2KHR 0x0000000002000000
conNameAccessFlagBits2KHR :: String
conNameAccessFlagBits2KHR :: String
conNameAccessFlagBits2KHR = String
"AccessFlagBits2KHR"
enumPrefixAccessFlagBits2KHR :: String
enumPrefixAccessFlagBits2KHR :: String
enumPrefixAccessFlagBits2KHR = String
"ACCESS_2_"
showTableAccessFlagBits2KHR :: [(AccessFlagBits2KHR, String)]
showTableAccessFlagBits2KHR :: [(AccessFlagBits2KHR, String)]
showTableAccessFlagBits2KHR =
[ (AccessFlagBits2KHR
ACCESS_2_NONE_KHR , String
"NONE_KHR")
, (AccessFlagBits2KHR
ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR , String
"INDIRECT_COMMAND_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_INDEX_READ_BIT_KHR , String
"INDEX_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR , String
"VERTEX_ATTRIBUTE_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_UNIFORM_READ_BIT_KHR , String
"UNIFORM_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR , String
"INPUT_ATTACHMENT_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_SHADER_READ_BIT_KHR , String
"SHADER_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_SHADER_WRITE_BIT_KHR , String
"SHADER_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR , String
"COLOR_ATTACHMENT_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR , String
"COLOR_ATTACHMENT_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR , String
"DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR, String
"DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_TRANSFER_READ_BIT_KHR , String
"TRANSFER_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_TRANSFER_WRITE_BIT_KHR , String
"TRANSFER_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_HOST_READ_BIT_KHR , String
"HOST_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_HOST_WRITE_BIT_KHR , String
"HOST_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_MEMORY_READ_BIT_KHR , String
"MEMORY_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_MEMORY_WRITE_BIT_KHR , String
"MEMORY_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR , String
"SHADER_SAMPLED_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_SHADER_STORAGE_READ_BIT_KHR , String
"SHADER_STORAGE_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR , String
"SHADER_STORAGE_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI , String
"INVOCATION_MASK_READ_BIT_HUAWEI")
, (AccessFlagBits2KHR
ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT, String
"COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT")
, (AccessFlagBits2KHR
ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT , String
"FRAGMENT_DENSITY_MAP_READ_BIT_EXT")
, (AccessFlagBits2KHR
ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR , String
"ACCELERATION_STRUCTURE_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR , String
"ACCELERATION_STRUCTURE_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, String
"FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV , String
"COMMAND_PREPROCESS_WRITE_BIT_NV")
, (AccessFlagBits2KHR
ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV , String
"COMMAND_PREPROCESS_READ_BIT_NV")
, (AccessFlagBits2KHR
ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT , String
"CONDITIONAL_RENDERING_READ_BIT_EXT")
, (AccessFlagBits2KHR
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT, String
"TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT")
, (AccessFlagBits2KHR
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT, String
"TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT")
, (AccessFlagBits2KHR
ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT , String
"TRANSFORM_FEEDBACK_WRITE_BIT_EXT")
]
instance Show AccessFlagBits2KHR where
showsPrec :: Int -> AccessFlagBits2KHR -> ShowS
showsPrec = String
-> [(AccessFlagBits2KHR, String)]
-> String
-> (AccessFlagBits2KHR -> "dstOffset" ::: DeviceSize)
-> (("dstOffset" ::: DeviceSize) -> ShowS)
-> Int
-> AccessFlagBits2KHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixAccessFlagBits2KHR
[(AccessFlagBits2KHR, String)]
showTableAccessFlagBits2KHR
String
conNameAccessFlagBits2KHR
(\(AccessFlagBits2KHR "dstOffset" ::: DeviceSize
x) -> "dstOffset" ::: DeviceSize
x)
(\"dstOffset" ::: DeviceSize
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ("dstOffset" ::: DeviceSize) -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex "dstOffset" ::: DeviceSize
x)
instance Read AccessFlagBits2KHR where
readPrec :: ReadPrec AccessFlagBits2KHR
readPrec =
String
-> [(AccessFlagBits2KHR, String)]
-> String
-> (("dstOffset" ::: DeviceSize) -> AccessFlagBits2KHR)
-> ReadPrec AccessFlagBits2KHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixAccessFlagBits2KHR [(AccessFlagBits2KHR, String)]
showTableAccessFlagBits2KHR String
conNameAccessFlagBits2KHR ("dstOffset" ::: DeviceSize) -> AccessFlagBits2KHR
AccessFlagBits2KHR
type PipelineStageFlags2KHR = PipelineStageFlagBits2KHR
newtype PipelineStageFlagBits2KHR = PipelineStageFlagBits2KHR Flags64
deriving newtype (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
(("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool)
-> Eq ("stageMask" ::: PipelineStageFlags2KHR)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
$c/= :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
== :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
$c== :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
Eq, Eq ("stageMask" ::: PipelineStageFlags2KHR)
Eq ("stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Ordering)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR)
-> Ord ("stageMask" ::: PipelineStageFlags2KHR)
("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Ordering
("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
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 :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
$cmin :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
max :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
$cmax :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
>= :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
$c>= :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
> :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
$c> :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
<= :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
$c<= :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
< :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
$c< :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
compare :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Ordering
$ccompare :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> Ordering
$cp1Ord :: Eq ("stageMask" ::: PipelineStageFlags2KHR)
Ord, Ptr b -> Int -> IO ("stageMask" ::: PipelineStageFlags2KHR)
Ptr b -> Int -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> IO ("stageMask" ::: PipelineStageFlags2KHR)
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
("stageMask" ::: PipelineStageFlags2KHR) -> Int
(("stageMask" ::: PipelineStageFlags2KHR) -> Int)
-> (("stageMask" ::: PipelineStageFlags2KHR) -> Int)
-> (Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> IO ("stageMask" ::: PipelineStageFlags2KHR))
-> (Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
-> (forall b.
Ptr b -> Int -> IO ("stageMask" ::: PipelineStageFlags2KHR))
-> (forall b.
Ptr b -> Int -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
-> (Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR))
-> (Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ())
-> Storable ("stageMask" ::: PipelineStageFlags2KHR)
forall b.
Ptr b -> Int -> IO ("stageMask" ::: PipelineStageFlags2KHR)
forall b.
Ptr b -> Int -> ("stageMask" ::: PipelineStageFlags2KHR) -> 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 ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
$cpoke :: Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
peek :: Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
$cpeek :: Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> IO ("stageMask" ::: PipelineStageFlags2KHR)
pokeByteOff :: Ptr b -> Int -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
peekByteOff :: Ptr b -> Int -> IO ("stageMask" ::: PipelineStageFlags2KHR)
$cpeekByteOff :: forall b.
Ptr b -> Int -> IO ("stageMask" ::: PipelineStageFlags2KHR)
pokeElemOff :: Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
$cpokeElemOff :: Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> ("stageMask" ::: PipelineStageFlags2KHR) -> IO ()
peekElemOff :: Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> IO ("stageMask" ::: PipelineStageFlags2KHR)
$cpeekElemOff :: Ptr ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> IO ("stageMask" ::: PipelineStageFlags2KHR)
alignment :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
$calignment :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
sizeOf :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
$csizeOf :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
Storable, "stageMask" ::: PipelineStageFlags2KHR
("stageMask" ::: PipelineStageFlags2KHR)
-> Zero ("stageMask" ::: PipelineStageFlags2KHR)
forall a. a -> Zero a
zero :: "stageMask" ::: PipelineStageFlags2KHR
$czero :: "stageMask" ::: PipelineStageFlags2KHR
Zero, Eq ("stageMask" ::: PipelineStageFlags2KHR)
"stageMask" ::: PipelineStageFlags2KHR
Eq ("stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> (Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR) -> Int -> Bool)
-> (("stageMask" ::: PipelineStageFlags2KHR) -> Maybe Int)
-> (("stageMask" ::: PipelineStageFlags2KHR) -> Int)
-> (("stageMask" ::: PipelineStageFlags2KHR) -> Bool)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR) -> Int)
-> Bits ("stageMask" ::: PipelineStageFlags2KHR)
Int -> "stageMask" ::: PipelineStageFlags2KHR
("stageMask" ::: PipelineStageFlags2KHR) -> Bool
("stageMask" ::: PipelineStageFlags2KHR) -> Int
("stageMask" ::: PipelineStageFlags2KHR) -> Maybe Int
("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
("stageMask" ::: PipelineStageFlags2KHR) -> Int -> Bool
("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
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 :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
$cpopCount :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
rotateR :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$crotateR :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
rotateL :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$crotateL :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
unsafeShiftR :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$cunsafeShiftR :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
shiftR :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$cshiftR :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
unsafeShiftL :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$cunsafeShiftL :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
shiftL :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$cshiftL :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
isSigned :: ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
$cisSigned :: ("stageMask" ::: PipelineStageFlags2KHR) -> Bool
bitSize :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
$cbitSize :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
bitSizeMaybe :: ("stageMask" ::: PipelineStageFlags2KHR) -> Maybe Int
$cbitSizeMaybe :: ("stageMask" ::: PipelineStageFlags2KHR) -> Maybe Int
testBit :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int -> Bool
$ctestBit :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int -> Bool
complementBit :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$ccomplementBit :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
clearBit :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$cclearBit :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
setBit :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$csetBit :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
bit :: Int -> "stageMask" ::: PipelineStageFlags2KHR
$cbit :: Int -> "stageMask" ::: PipelineStageFlags2KHR
zeroBits :: "stageMask" ::: PipelineStageFlags2KHR
$czeroBits :: "stageMask" ::: PipelineStageFlags2KHR
rotate :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$crotate :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
shift :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
$cshift :: ("stageMask" ::: PipelineStageFlags2KHR)
-> Int -> "stageMask" ::: PipelineStageFlags2KHR
complement :: ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
$ccomplement :: ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
xor :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
$cxor :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
.|. :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
$c.|. :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
.&. :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
$c.&. :: ("stageMask" ::: PipelineStageFlags2KHR)
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> "stageMask" ::: PipelineStageFlags2KHR
$cp1Bits :: Eq ("stageMask" ::: PipelineStageFlags2KHR)
Bits, Bits ("stageMask" ::: PipelineStageFlags2KHR)
Bits ("stageMask" ::: PipelineStageFlags2KHR)
-> (("stageMask" ::: PipelineStageFlags2KHR) -> Int)
-> (("stageMask" ::: PipelineStageFlags2KHR) -> Int)
-> (("stageMask" ::: PipelineStageFlags2KHR) -> Int)
-> FiniteBits ("stageMask" ::: PipelineStageFlags2KHR)
("stageMask" ::: PipelineStageFlags2KHR) -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
$ccountTrailingZeros :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
countLeadingZeros :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
$ccountLeadingZeros :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
finiteBitSize :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
$cfiniteBitSize :: ("stageMask" ::: PipelineStageFlags2KHR) -> Int
$cp1FiniteBits :: Bits ("stageMask" ::: PipelineStageFlags2KHR)
FiniteBits)
pattern $bPIPELINE_STAGE_2_NONE_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_NONE_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_NONE_KHR = PipelineStageFlagBits2KHR 0x0000000000000000
pattern $bPIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000001
pattern $bPIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000002
pattern $bPIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000004
pattern $bPIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000008
pattern $bPIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000010
pattern $bPIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000020
pattern $bPIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000040
pattern $bPIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000080
pattern $bPIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000100
pattern $bPIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000200
pattern $bPIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000400
pattern $bPIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000000800
pattern $bPIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000001000
pattern $bPIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000002000
pattern $bPIPELINE_STAGE_2_HOST_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_HOST_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_HOST_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000004000
pattern $bPIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000008000
pattern $bPIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000010000
pattern $bPIPELINE_STAGE_2_COPY_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_COPY_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_COPY_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000100000000
pattern $bPIPELINE_STAGE_2_RESOLVE_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_RESOLVE_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_RESOLVE_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000200000000
pattern $bPIPELINE_STAGE_2_BLIT_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_BLIT_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_BLIT_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000400000000
pattern $bPIPELINE_STAGE_2_CLEAR_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_CLEAR_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_CLEAR_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000800000000
pattern $bPIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR = PipelineStageFlagBits2KHR 0x0000001000000000
pattern $bPIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = PipelineStageFlagBits2KHR 0x0000002000000000
pattern $bPIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = PipelineStageFlagBits2KHR 0x0000004000000000
pattern $bPIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = PipelineStageFlagBits2KHR 0x0000010000000000
pattern $bPIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = PipelineStageFlagBits2KHR 0x0000008000000000
pattern $bPIPELINE_STAGE_2_MESH_SHADER_BIT_NV :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_MESH_SHADER_BIT_NV :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = PipelineStageFlagBits2KHR 0x0000000000100000
pattern $bPIPELINE_STAGE_2_TASK_SHADER_BIT_NV :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_TASK_SHADER_BIT_NV :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_TASK_SHADER_BIT_NV = PipelineStageFlagBits2KHR 0x0000000000080000
pattern $bPIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT = PipelineStageFlagBits2KHR 0x0000000000800000
pattern $bPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000200000
pattern $bPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000002000000
pattern $bPIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = PipelineStageFlagBits2KHR 0x0000000000400000
pattern $bPIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = PipelineStageFlagBits2KHR 0x0000000000020000
pattern $bPIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = PipelineStageFlagBits2KHR 0x0000000000040000
pattern $bPIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT :: "stageMask" ::: PipelineStageFlags2KHR
$mPIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT :: forall r.
("stageMask" ::: PipelineStageFlags2KHR)
-> (Void# -> r) -> (Void# -> r) -> r
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = PipelineStageFlagBits2KHR 0x0000000001000000
conNamePipelineStageFlagBits2KHR :: String
conNamePipelineStageFlagBits2KHR :: String
conNamePipelineStageFlagBits2KHR = String
"PipelineStageFlagBits2KHR"
enumPrefixPipelineStageFlagBits2KHR :: String
enumPrefixPipelineStageFlagBits2KHR :: String
enumPrefixPipelineStageFlagBits2KHR = String
"PIPELINE_STAGE_2_"
showTablePipelineStageFlagBits2KHR :: [(PipelineStageFlagBits2KHR, String)]
showTablePipelineStageFlagBits2KHR :: [("stageMask" ::: PipelineStageFlags2KHR, String)]
showTablePipelineStageFlagBits2KHR =
[ ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_NONE_KHR , String
"NONE_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR , String
"TOP_OF_PIPE_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR , String
"DRAW_INDIRECT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR , String
"VERTEX_INPUT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR , String
"VERTEX_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR , String
"TESSELLATION_CONTROL_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR, String
"TESSELLATION_EVALUATION_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR , String
"GEOMETRY_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR , String
"FRAGMENT_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR , String
"EARLY_FRAGMENT_TESTS_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR , String
"LATE_FRAGMENT_TESTS_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR , String
"COLOR_ATTACHMENT_OUTPUT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR , String
"COMPUTE_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR , String
"ALL_TRANSFER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR , String
"BOTTOM_OF_PIPE_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_HOST_BIT_KHR , String
"HOST_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR , String
"ALL_GRAPHICS_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR , String
"ALL_COMMANDS_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_COPY_BIT_KHR , String
"COPY_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_RESOLVE_BIT_KHR , String
"RESOLVE_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_BLIT_BIT_KHR , String
"BLIT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_CLEAR_BIT_KHR , String
"CLEAR_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR , String
"INDEX_INPUT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR , String
"VERTEX_ATTRIBUTE_INPUT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR , String
"PRE_RASTERIZATION_SHADERS_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI , String
"INVOCATION_MASK_BIT_HUAWEI")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI , String
"SUBPASS_SHADING_BIT_HUAWEI")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_MESH_SHADER_BIT_NV , String
"MESH_SHADER_BIT_NV")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_TASK_SHADER_BIT_NV , String
"TASK_SHADER_BIT_NV")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT , String
"FRAGMENT_DENSITY_PROCESS_BIT_EXT")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR , String
"RAY_TRACING_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR , String
"ACCELERATION_STRUCTURE_BUILD_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, String
"FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV , String
"COMMAND_PREPROCESS_BIT_NV")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT , String
"CONDITIONAL_RENDERING_BIT_EXT")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT , String
"TRANSFORM_FEEDBACK_BIT_EXT")
]
instance Show PipelineStageFlagBits2KHR where
showsPrec :: Int -> ("stageMask" ::: PipelineStageFlags2KHR) -> ShowS
showsPrec = String
-> [("stageMask" ::: PipelineStageFlags2KHR, String)]
-> String
-> (("stageMask" ::: PipelineStageFlags2KHR)
-> "dstOffset" ::: DeviceSize)
-> (("dstOffset" ::: DeviceSize) -> ShowS)
-> Int
-> ("stageMask" ::: PipelineStageFlags2KHR)
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixPipelineStageFlagBits2KHR
[("stageMask" ::: PipelineStageFlags2KHR, String)]
showTablePipelineStageFlagBits2KHR
String
conNamePipelineStageFlagBits2KHR
(\(PipelineStageFlagBits2KHR "dstOffset" ::: DeviceSize
x) -> "dstOffset" ::: DeviceSize
x)
(\"dstOffset" ::: DeviceSize
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ("dstOffset" ::: DeviceSize) -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex "dstOffset" ::: DeviceSize
x)
instance Read PipelineStageFlagBits2KHR where
readPrec :: ReadPrec ("stageMask" ::: PipelineStageFlags2KHR)
readPrec = String
-> [("stageMask" ::: PipelineStageFlags2KHR, String)]
-> String
-> (("dstOffset" ::: DeviceSize)
-> "stageMask" ::: PipelineStageFlags2KHR)
-> ReadPrec ("stageMask" ::: PipelineStageFlags2KHR)
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixPipelineStageFlagBits2KHR
[("stageMask" ::: PipelineStageFlags2KHR, String)]
showTablePipelineStageFlagBits2KHR
String
conNamePipelineStageFlagBits2KHR
("dstOffset" ::: DeviceSize)
-> "stageMask" ::: PipelineStageFlags2KHR
PipelineStageFlagBits2KHR
type SubmitFlagsKHR = SubmitFlagBitsKHR
newtype SubmitFlagBitsKHR = SubmitFlagBitsKHR Flags
deriving newtype (SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
(SubmitFlagsKHR -> SubmitFlagsKHR -> Bool)
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> Bool) -> Eq SubmitFlagsKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
$c/= :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
== :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
$c== :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
Eq, Eq SubmitFlagsKHR
Eq SubmitFlagsKHR
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> Ordering)
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> Bool)
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> Bool)
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> Bool)
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> Bool)
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR)
-> Ord SubmitFlagsKHR
SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
SubmitFlagsKHR -> SubmitFlagsKHR -> Ordering
SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
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 :: SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
$cmin :: SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
max :: SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
$cmax :: SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
>= :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
$c>= :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
> :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
$c> :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
<= :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
$c<= :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
< :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
$c< :: SubmitFlagsKHR -> SubmitFlagsKHR -> Bool
compare :: SubmitFlagsKHR -> SubmitFlagsKHR -> Ordering
$ccompare :: SubmitFlagsKHR -> SubmitFlagsKHR -> Ordering
$cp1Ord :: Eq SubmitFlagsKHR
Ord, Ptr b -> Int -> IO SubmitFlagsKHR
Ptr b -> Int -> SubmitFlagsKHR -> IO ()
Ptr SubmitFlagsKHR -> IO SubmitFlagsKHR
Ptr SubmitFlagsKHR -> Int -> IO SubmitFlagsKHR
Ptr SubmitFlagsKHR -> Int -> SubmitFlagsKHR -> IO ()
Ptr SubmitFlagsKHR -> SubmitFlagsKHR -> IO ()
SubmitFlagsKHR -> Int
(SubmitFlagsKHR -> Int)
-> (SubmitFlagsKHR -> Int)
-> (Ptr SubmitFlagsKHR -> Int -> IO SubmitFlagsKHR)
-> (Ptr SubmitFlagsKHR -> Int -> SubmitFlagsKHR -> IO ())
-> (forall b. Ptr b -> Int -> IO SubmitFlagsKHR)
-> (forall b. Ptr b -> Int -> SubmitFlagsKHR -> IO ())
-> (Ptr SubmitFlagsKHR -> IO SubmitFlagsKHR)
-> (Ptr SubmitFlagsKHR -> SubmitFlagsKHR -> IO ())
-> Storable SubmitFlagsKHR
forall b. Ptr b -> Int -> IO SubmitFlagsKHR
forall b. Ptr b -> Int -> SubmitFlagsKHR -> 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 SubmitFlagsKHR -> SubmitFlagsKHR -> IO ()
$cpoke :: Ptr SubmitFlagsKHR -> SubmitFlagsKHR -> IO ()
peek :: Ptr SubmitFlagsKHR -> IO SubmitFlagsKHR
$cpeek :: Ptr SubmitFlagsKHR -> IO SubmitFlagsKHR
pokeByteOff :: Ptr b -> Int -> SubmitFlagsKHR -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> SubmitFlagsKHR -> IO ()
peekByteOff :: Ptr b -> Int -> IO SubmitFlagsKHR
$cpeekByteOff :: forall b. Ptr b -> Int -> IO SubmitFlagsKHR
pokeElemOff :: Ptr SubmitFlagsKHR -> Int -> SubmitFlagsKHR -> IO ()
$cpokeElemOff :: Ptr SubmitFlagsKHR -> Int -> SubmitFlagsKHR -> IO ()
peekElemOff :: Ptr SubmitFlagsKHR -> Int -> IO SubmitFlagsKHR
$cpeekElemOff :: Ptr SubmitFlagsKHR -> Int -> IO SubmitFlagsKHR
alignment :: SubmitFlagsKHR -> Int
$calignment :: SubmitFlagsKHR -> Int
sizeOf :: SubmitFlagsKHR -> Int
$csizeOf :: SubmitFlagsKHR -> Int
Storable, SubmitFlagsKHR
SubmitFlagsKHR -> Zero SubmitFlagsKHR
forall a. a -> Zero a
zero :: SubmitFlagsKHR
$czero :: SubmitFlagsKHR
Zero, Eq SubmitFlagsKHR
SubmitFlagsKHR
Eq SubmitFlagsKHR
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> SubmitFlagsKHR
-> (Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> Bool)
-> (SubmitFlagsKHR -> Maybe Int)
-> (SubmitFlagsKHR -> Int)
-> (SubmitFlagsKHR -> Bool)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int -> SubmitFlagsKHR)
-> (SubmitFlagsKHR -> Int)
-> Bits SubmitFlagsKHR
Int -> SubmitFlagsKHR
SubmitFlagsKHR -> Bool
SubmitFlagsKHR -> Int
SubmitFlagsKHR -> Maybe Int
SubmitFlagsKHR -> SubmitFlagsKHR
SubmitFlagsKHR -> Int -> Bool
SubmitFlagsKHR -> Int -> SubmitFlagsKHR
SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
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 :: SubmitFlagsKHR -> Int
$cpopCount :: SubmitFlagsKHR -> Int
rotateR :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$crotateR :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
rotateL :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$crotateL :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
unsafeShiftR :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$cunsafeShiftR :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
shiftR :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$cshiftR :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
unsafeShiftL :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$cunsafeShiftL :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
shiftL :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$cshiftL :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
isSigned :: SubmitFlagsKHR -> Bool
$cisSigned :: SubmitFlagsKHR -> Bool
bitSize :: SubmitFlagsKHR -> Int
$cbitSize :: SubmitFlagsKHR -> Int
bitSizeMaybe :: SubmitFlagsKHR -> Maybe Int
$cbitSizeMaybe :: SubmitFlagsKHR -> Maybe Int
testBit :: SubmitFlagsKHR -> Int -> Bool
$ctestBit :: SubmitFlagsKHR -> Int -> Bool
complementBit :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$ccomplementBit :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
clearBit :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$cclearBit :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
setBit :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$csetBit :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
bit :: Int -> SubmitFlagsKHR
$cbit :: Int -> SubmitFlagsKHR
zeroBits :: SubmitFlagsKHR
$czeroBits :: SubmitFlagsKHR
rotate :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$crotate :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
shift :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
$cshift :: SubmitFlagsKHR -> Int -> SubmitFlagsKHR
complement :: SubmitFlagsKHR -> SubmitFlagsKHR
$ccomplement :: SubmitFlagsKHR -> SubmitFlagsKHR
xor :: SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
$cxor :: SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
.|. :: SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
$c.|. :: SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
.&. :: SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
$c.&. :: SubmitFlagsKHR -> SubmitFlagsKHR -> SubmitFlagsKHR
$cp1Bits :: Eq SubmitFlagsKHR
Bits, Bits SubmitFlagsKHR
Bits SubmitFlagsKHR
-> (SubmitFlagsKHR -> Int)
-> (SubmitFlagsKHR -> Int)
-> (SubmitFlagsKHR -> Int)
-> FiniteBits SubmitFlagsKHR
SubmitFlagsKHR -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: SubmitFlagsKHR -> Int
$ccountTrailingZeros :: SubmitFlagsKHR -> Int
countLeadingZeros :: SubmitFlagsKHR -> Int
$ccountLeadingZeros :: SubmitFlagsKHR -> Int
finiteBitSize :: SubmitFlagsKHR -> Int
$cfiniteBitSize :: SubmitFlagsKHR -> Int
$cp1FiniteBits :: Bits SubmitFlagsKHR
FiniteBits)
pattern $bSUBMIT_PROTECTED_BIT_KHR :: SubmitFlagsKHR
$mSUBMIT_PROTECTED_BIT_KHR :: forall r. SubmitFlagsKHR -> (Void# -> r) -> (Void# -> r) -> r
SUBMIT_PROTECTED_BIT_KHR = SubmitFlagBitsKHR 0x00000001
conNameSubmitFlagBitsKHR :: String
conNameSubmitFlagBitsKHR :: String
conNameSubmitFlagBitsKHR = String
"SubmitFlagBitsKHR"
enumPrefixSubmitFlagBitsKHR :: String
enumPrefixSubmitFlagBitsKHR :: String
enumPrefixSubmitFlagBitsKHR = String
"SUBMIT_PROTECTED_BIT_KHR"
showTableSubmitFlagBitsKHR :: [(SubmitFlagBitsKHR, String)]
showTableSubmitFlagBitsKHR :: [(SubmitFlagsKHR, String)]
showTableSubmitFlagBitsKHR = [(SubmitFlagsKHR
SUBMIT_PROTECTED_BIT_KHR, String
"")]
instance Show SubmitFlagBitsKHR where
showsPrec :: Int -> SubmitFlagsKHR -> ShowS
showsPrec = String
-> [(SubmitFlagsKHR, String)]
-> String
-> (SubmitFlagsKHR -> Word32)
-> (Word32 -> ShowS)
-> Int
-> SubmitFlagsKHR
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixSubmitFlagBitsKHR
[(SubmitFlagsKHR, String)]
showTableSubmitFlagBitsKHR
String
conNameSubmitFlagBitsKHR
(\(SubmitFlagBitsKHR 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 SubmitFlagBitsKHR where
readPrec :: ReadPrec SubmitFlagsKHR
readPrec =
String
-> [(SubmitFlagsKHR, String)]
-> String
-> (Word32 -> SubmitFlagsKHR)
-> ReadPrec SubmitFlagsKHR
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixSubmitFlagBitsKHR [(SubmitFlagsKHR, String)]
showTableSubmitFlagBitsKHR String
conNameSubmitFlagBitsKHR Word32 -> SubmitFlagsKHR
SubmitFlagBitsKHR
type KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1
pattern KHR_SYNCHRONIZATION_2_SPEC_VERSION :: forall a . Integral a => a
pattern $bKHR_SYNCHRONIZATION_2_SPEC_VERSION :: a
$mKHR_SYNCHRONIZATION_2_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
KHR_SYNCHRONIZATION_2_SPEC_VERSION = 1
type KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2"
pattern KHR_SYNCHRONIZATION_2_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bKHR_SYNCHRONIZATION_2_EXTENSION_NAME :: a
$mKHR_SYNCHRONIZATION_2_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
KHR_SYNCHRONIZATION_2_EXTENSION_NAME = "VK_KHR_synchronization2"