{-# 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_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_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 (allocaBytesAligned)
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_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_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
commandBuffer event :: Event
event dependencyInfo :: 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 (CommandBuffer -> DeviceCmds
deviceCmds (CommandBuffer
commandBuffer :: CommandBuffer))
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 "" "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 "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
commandBuffer event :: Event
event stageMask :: "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 (CommandBuffer -> DeviceCmds
deviceCmds (CommandBuffer
commandBuffer :: CommandBuffer))
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 "" "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 "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 mkVkCmdWaitEvents2KHR :: FunPtr
(Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ())
-> Ptr CommandBuffer_T
-> Word32
-> Ptr Event
-> ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO ()
mkVkCmdWaitEvents2KHR commandBuffer :: CommandBuffer
commandBuffer events :: "events" ::: Vector Event
events dependencyInfos :: "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 (CommandBuffer -> DeviceCmds
deviceCmds (CommandBuffer
commandBuffer :: CommandBuffer))
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 "" "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 "" "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 -> Int -> (Ptr Event -> IO ()) -> IO ()
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @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
* 8) 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_ (\i :: Int
i e :: 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` (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
-> Int
-> (("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO ())
-> IO ()
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @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
* 64) 8
(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_ (\i :: Int
i e :: 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` (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 "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
commandBuffer dependencyInfo :: 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 (CommandBuffer -> DeviceCmds
deviceCmds (CommandBuffer
commandBuffer :: CommandBuffer))
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 "" "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 "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
queue submits :: "submits" ::: Vector (SomeStruct SubmitInfo2KHR)
submits fence :: 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 (Queue -> DeviceCmds
deviceCmds (Queue
queue :: Queue))
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 "" "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 -> Int -> (Ptr (SubmitInfo2KHR Any) -> IO ()) -> IO ()
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @(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
* 64) 8
(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_ (\i :: Int
i e :: 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` (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 "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
commandBuffer stage :: "stageMask" ::: PipelineStageFlags2KHR
stage queryPool :: QueryPool
queryPool query :: 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 (CommandBuffer -> DeviceCmds
deviceCmds (CommandBuffer
commandBuffer :: CommandBuffer))
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 "" "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 "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
commandBuffer stage :: "stageMask" ::: PipelineStageFlags2KHR
stage dstBuffer :: "dstBuffer" ::: Buffer
dstBuffer dstOffset :: "dstOffset" ::: DeviceSize
dstOffset marker :: 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 (CommandBuffer -> DeviceCmds
deviceCmds (CommandBuffer
commandBuffer :: CommandBuffer))
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 "" "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 "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
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 (Queue -> DeviceCmds
deviceCmds (Queue
queue :: Queue))
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 "" "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 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 "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
* 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 (\i :: 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
* 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
$ ())) [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
- 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 "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')) (\i :: 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` (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 x :: MemoryBarrier2KHR
x f :: Ptr MemoryBarrier2KHR -> IO b
f = Int -> Int -> (Ptr MemoryBarrier2KHR -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 48 8 ((Ptr MemoryBarrier2KHR -> IO b) -> IO b)
-> (Ptr MemoryBarrier2KHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: 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 p :: Ptr MemoryBarrier2KHR
p MemoryBarrier2KHR{..} f :: 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` 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` 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` 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` 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` 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` 40 :: Ptr AccessFlags2KHR)) (AccessFlagBits2KHR
dstAccessMask)
IO b
f
cStructSize :: Int
cStructSize = 48
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr MemoryBarrier2KHR -> IO b -> IO b
pokeZeroCStruct p :: Ptr MemoryBarrier2KHR
p f :: 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` 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` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO b
f
instance FromCStruct MemoryBarrier2KHR where
peekCStruct :: Ptr MemoryBarrier2KHR -> IO MemoryBarrier2KHR
peekCStruct p :: 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` 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` 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` 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` 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
_ = 48
alignment :: MemoryBarrier2KHR -> Int
alignment ~MemoryBarrier2KHR
_ = 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 :: Ptr MemoryBarrier2KHR
ptr poked :: 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 = "ImageMemoryBarrier2KHR"
setNext :: ImageMemoryBarrier2KHR ds -> Chain es -> ImageMemoryBarrier2KHR es
setNext x :: ImageMemoryBarrier2KHR ds
x next :: Chain es
next = ImageMemoryBarrier2KHR ds
x{$sel:next:ImageMemoryBarrier2KHR :: Chain es
next = Chain es
next}
getNext :: ImageMemoryBarrier2KHR es -> Chain es
getNext ImageMemoryBarrier2KHR{..} = 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 _ f :: Extends ImageMemoryBarrier2KHR e => b
f
| Just 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 x :: ImageMemoryBarrier2KHR es
x f :: Ptr (ImageMemoryBarrier2KHR es) -> IO b
f = Int -> Int -> (Ptr (ImageMemoryBarrier2KHR es) -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 96 8 ((Ptr (ImageMemoryBarrier2KHR es) -> IO b) -> IO b)
-> (Ptr (ImageMemoryBarrier2KHR es) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: 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 p :: Ptr (ImageMemoryBarrier2KHR es)
p ImageMemoryBarrier2KHR{..} f :: 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` 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` 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` 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` 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` 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` 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` 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` 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` 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` 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` 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` 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 = 96
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr (ImageMemoryBarrier2KHR es) -> IO b -> IO b
pokeZeroCStruct p :: Ptr (ImageMemoryBarrier2KHR es)
p f :: 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` 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` 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` 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` 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` 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` 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` 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` 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 p :: 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` 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` 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` 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` 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` 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` 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` 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` 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` 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` 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` 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 x :: BufferMemoryBarrier2KHR
x f :: Ptr BufferMemoryBarrier2KHR -> IO b
f = Int -> Int -> (Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 80 8 ((Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b)
-> (Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: 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 p :: Ptr BufferMemoryBarrier2KHR
p BufferMemoryBarrier2KHR{..} f :: 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` 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` 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` 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` 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` 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` 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` 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` 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` 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` 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` 72 :: Ptr DeviceSize)) ("dstOffset" ::: DeviceSize
size)
IO b
f
cStructSize :: Int
cStructSize = 80
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr BufferMemoryBarrier2KHR -> IO b -> IO b
pokeZeroCStruct p :: Ptr BufferMemoryBarrier2KHR
p f :: 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` 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` 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` 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` 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` 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` 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` 72 :: Ptr DeviceSize)) ("dstOffset" ::: DeviceSize
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct BufferMemoryBarrier2KHR where
peekCStruct :: Ptr BufferMemoryBarrier2KHR -> IO BufferMemoryBarrier2KHR
peekCStruct p :: 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` 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` 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` 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` 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` 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` 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` 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` 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` 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
_ = 80
alignment :: BufferMemoryBarrier2KHR -> Int
alignment ~BufferMemoryBarrier2KHR
_ = 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 :: Ptr BufferMemoryBarrier2KHR
ptr poked :: 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 x :: DependencyInfoKHR
x f :: ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b
f = Int
-> Int
-> (("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 64 8 ((("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b) -> IO b)
-> (("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: "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 p :: "pDependencyInfo" ::: Ptr DependencyInfoKHR
p DependencyInfoKHR{..} f :: 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` 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` 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` 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` 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 -> Int -> (Ptr MemoryBarrier2KHR -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @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
* 48) 8
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_ (\i :: Int
i e :: 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` (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` 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` 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 -> Int -> (Ptr BufferMemoryBarrier2KHR -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @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
* 80) 8
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_ (\i :: Int
i e :: 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` (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` 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` 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 -> Int -> (Ptr (ImageMemoryBarrier2KHR Any) -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @(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
* 96) 8
(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_ (\i :: Int
i e :: 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` (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` 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 = 64
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: ("pDependencyInfo" ::: Ptr DependencyInfoKHR) -> IO b -> IO b
pokeZeroCStruct p :: "pDependencyInfo" ::: Ptr DependencyInfoKHR
p f :: 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` 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` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO b
f
instance FromCStruct DependencyInfoKHR where
peekCStruct :: ("pDependencyInfo" ::: Ptr DependencyInfoKHR)
-> IO DependencyInfoKHR
peekCStruct p :: "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` 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` 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` 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) (\i :: 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` (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` 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` 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) (\i :: 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` (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` 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` 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) (\i :: 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` (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 x :: SemaphoreSubmitInfoKHR
x f :: Ptr SemaphoreSubmitInfoKHR -> IO b
f = Int -> Int -> (Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 48 8 ((Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b)
-> (Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: 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 p :: Ptr SemaphoreSubmitInfoKHR
p SemaphoreSubmitInfoKHR{..} f :: 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` 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` 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` 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` 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` 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` 40 :: Ptr Word32)) (Word32
deviceIndex)
IO b
f
cStructSize :: Int
cStructSize = 48
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr SemaphoreSubmitInfoKHR -> IO b -> IO b
pokeZeroCStruct p :: Ptr SemaphoreSubmitInfoKHR
p f :: 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` 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` 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` 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` 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` 40 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct SemaphoreSubmitInfoKHR where
peekCStruct :: Ptr SemaphoreSubmitInfoKHR -> IO SemaphoreSubmitInfoKHR
peekCStruct p :: 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` 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` 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` 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` 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
_ = 48
alignment :: SemaphoreSubmitInfoKHR -> Int
alignment ~SemaphoreSubmitInfoKHR
_ = 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 :: Ptr SemaphoreSubmitInfoKHR
ptr poked :: 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 x :: CommandBufferSubmitInfoKHR
x f :: Ptr CommandBufferSubmitInfoKHR -> IO b
f = Int -> Int -> (Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 32 8 ((Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b)
-> (Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: 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 p :: Ptr CommandBufferSubmitInfoKHR
p CommandBufferSubmitInfoKHR{..} f :: 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` 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` 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` 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` 24 :: Ptr Word32)) (Word32
deviceMask)
IO b
f
cStructSize :: Int
cStructSize = 32
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr CommandBufferSubmitInfoKHR -> IO b -> IO b
pokeZeroCStruct p :: Ptr CommandBufferSubmitInfoKHR
p f :: 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` 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` 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` 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` 24 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct CommandBufferSubmitInfoKHR where
peekCStruct :: Ptr CommandBufferSubmitInfoKHR -> IO CommandBufferSubmitInfoKHR
peekCStruct p :: 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` 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` 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
_ = 32
alignment :: CommandBufferSubmitInfoKHR -> Int
alignment ~CommandBufferSubmitInfoKHR
_ = 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 :: Ptr CommandBufferSubmitInfoKHR
ptr poked :: 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 = "SubmitInfo2KHR"
setNext :: SubmitInfo2KHR ds -> Chain es -> SubmitInfo2KHR es
setNext x :: SubmitInfo2KHR ds
x next :: Chain es
next = SubmitInfo2KHR ds
x{$sel:next:SubmitInfo2KHR :: Chain es
next = Chain es
next}
getNext :: SubmitInfo2KHR es -> Chain es
getNext SubmitInfo2KHR{..} = 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 _ f :: Extends SubmitInfo2KHR e => b
f
| Just 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 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 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 x :: SubmitInfo2KHR es
x f :: Ptr (SubmitInfo2KHR es) -> IO b
f = Int -> Int -> (Ptr (SubmitInfo2KHR es) -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 64 8 ((Ptr (SubmitInfo2KHR es) -> IO b) -> IO b)
-> (Ptr (SubmitInfo2KHR es) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: 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 p :: Ptr (SubmitInfo2KHR es)
p SubmitInfo2KHR{..} f :: 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` 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` 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` 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` 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 -> Int -> (Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @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
* 48) 8
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_ (\i :: Int
i e :: 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` (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` 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` 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 -> Int -> (Ptr CommandBufferSubmitInfoKHR -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @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
* 32) 8
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_ (\i :: Int
i e :: 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` (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` 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` 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 -> Int -> (Ptr SemaphoreSubmitInfoKHR -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @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
* 48) 8
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_ (\i :: Int
i e :: 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` (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` 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 = 64
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr (SubmitInfo2KHR es) -> IO b -> IO b
pokeZeroCStruct p :: Ptr (SubmitInfo2KHR es)
p f :: 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` 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` 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 p :: 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` 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` 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` 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` 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) (\i :: 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` (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` 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` 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) (\i :: 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` (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` 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` 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) (\i :: 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` (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 x :: QueueFamilyCheckpointProperties2NV
x f :: Ptr QueueFamilyCheckpointProperties2NV -> IO b
f = Int
-> Int -> (Ptr QueueFamilyCheckpointProperties2NV -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 24 8 ((Ptr QueueFamilyCheckpointProperties2NV -> IO b) -> IO b)
-> (Ptr QueueFamilyCheckpointProperties2NV -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: 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 p :: Ptr QueueFamilyCheckpointProperties2NV
p QueueFamilyCheckpointProperties2NV{..} f :: 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` 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` 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` 16 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
checkpointExecutionStageMask)
IO b
f
cStructSize :: Int
cStructSize = 24
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr QueueFamilyCheckpointProperties2NV -> IO b -> IO b
pokeZeroCStruct p :: Ptr QueueFamilyCheckpointProperties2NV
p f :: 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` 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` 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` 16 :: Ptr PipelineStageFlags2KHR)) ("stageMask" ::: PipelineStageFlags2KHR
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct QueueFamilyCheckpointProperties2NV where
peekCStruct :: Ptr QueueFamilyCheckpointProperties2NV
-> IO QueueFamilyCheckpointProperties2NV
peekCStruct p :: 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` 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
_ = 24
alignment :: QueueFamilyCheckpointProperties2NV -> Int
alignment ~QueueFamilyCheckpointProperties2NV
_ = 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 :: Ptr QueueFamilyCheckpointProperties2NV
ptr poked :: 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 x :: CheckpointData2NV
x f :: ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b
f = Int
-> Int
-> (("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 32 8 ((("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b) -> IO b)
-> (("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: "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 p :: "pCheckpointData" ::: Ptr CheckpointData2NV
p CheckpointData2NV{..} f :: 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` 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` 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` 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` 24 :: Ptr (Ptr ()))) (Ptr ()
checkpointMarker)
IO b
f
cStructSize :: Int
cStructSize = 32
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: ("pCheckpointData" ::: Ptr CheckpointData2NV) -> IO b -> IO b
pokeZeroCStruct p :: "pCheckpointData" ::: Ptr CheckpointData2NV
p f :: 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` 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` 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` 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` 24 :: Ptr (Ptr ()))) (Ptr ()
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct CheckpointData2NV where
peekCStruct :: ("pCheckpointData" ::: Ptr CheckpointData2NV)
-> IO CheckpointData2NV
peekCStruct p :: "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` 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` 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
_ = 32
alignment :: CheckpointData2NV -> Int
alignment ~CheckpointData2NV
_ = 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 ptr :: "pCheckpointData" ::: Ptr CheckpointData2NV
ptr poked :: 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 x :: PhysicalDeviceSynchronization2FeaturesKHR
x f :: Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b
f = Int
-> Int
-> (Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 24 8 ((Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b) -> IO b)
-> (Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: 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 p :: Ptr PhysicalDeviceSynchronization2FeaturesKHR
p PhysicalDeviceSynchronization2FeaturesKHR{..} f :: 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` 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` 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` 16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
synchronization2))
IO b
f
cStructSize :: Int
cStructSize = 24
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PhysicalDeviceSynchronization2FeaturesKHR -> IO b -> IO b
pokeZeroCStruct p :: Ptr PhysicalDeviceSynchronization2FeaturesKHR
p f :: 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` 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` 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` 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 p :: 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` 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
_ = 24
alignment :: PhysicalDeviceSynchronization2FeaturesKHR -> Int
alignment ~PhysicalDeviceSynchronization2FeaturesKHR
_ = 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 :: Ptr PhysicalDeviceSynchronization2FeaturesKHR
ptr poked :: 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_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 = "AccessFlagBits2KHR"
enumPrefixAccessFlagBits2KHR :: String
enumPrefixAccessFlagBits2KHR :: String
enumPrefixAccessFlagBits2KHR = "ACCESS_2_"
showTableAccessFlagBits2KHR :: [(AccessFlagBits2KHR, String)]
showTableAccessFlagBits2KHR :: [(AccessFlagBits2KHR, String)]
showTableAccessFlagBits2KHR =
[ (AccessFlagBits2KHR
ACCESS_2_NONE_KHR , "NONE_KHR")
, (AccessFlagBits2KHR
ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR , "INDIRECT_COMMAND_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_INDEX_READ_BIT_KHR , "INDEX_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR , "VERTEX_ATTRIBUTE_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_UNIFORM_READ_BIT_KHR , "UNIFORM_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR , "INPUT_ATTACHMENT_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_SHADER_READ_BIT_KHR , "SHADER_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_SHADER_WRITE_BIT_KHR , "SHADER_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR , "COLOR_ATTACHMENT_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR , "COLOR_ATTACHMENT_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR , "DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR, "DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_TRANSFER_READ_BIT_KHR , "TRANSFER_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_TRANSFER_WRITE_BIT_KHR , "TRANSFER_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_HOST_READ_BIT_KHR , "HOST_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_HOST_WRITE_BIT_KHR , "HOST_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_MEMORY_READ_BIT_KHR , "MEMORY_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_MEMORY_WRITE_BIT_KHR , "MEMORY_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR , "SHADER_SAMPLED_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_SHADER_STORAGE_READ_BIT_KHR , "SHADER_STORAGE_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR , "SHADER_STORAGE_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT, "COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT")
, (AccessFlagBits2KHR
ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT , "FRAGMENT_DENSITY_MAP_READ_BIT_EXT")
, (AccessFlagBits2KHR
ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR , "ACCELERATION_STRUCTURE_WRITE_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR , "ACCELERATION_STRUCTURE_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR, "FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR")
, (AccessFlagBits2KHR
ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV , "COMMAND_PREPROCESS_WRITE_BIT_NV")
, (AccessFlagBits2KHR
ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV , "COMMAND_PREPROCESS_READ_BIT_NV")
, (AccessFlagBits2KHR
ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT , "CONDITIONAL_RENDERING_READ_BIT_EXT")
, (AccessFlagBits2KHR
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT, "TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT")
, (AccessFlagBits2KHR
ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT, "TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT")
, (AccessFlagBits2KHR
ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT , "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 x :: "dstOffset" ::: DeviceSize
x) -> "dstOffset" ::: DeviceSize
x)
(\x :: "dstOffset" ::: DeviceSize
x -> String -> ShowS
showString "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_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 = "PipelineStageFlagBits2KHR"
enumPrefixPipelineStageFlagBits2KHR :: String
enumPrefixPipelineStageFlagBits2KHR :: String
enumPrefixPipelineStageFlagBits2KHR = "PIPELINE_STAGE_2_"
showTablePipelineStageFlagBits2KHR :: [(PipelineStageFlagBits2KHR, String)]
showTablePipelineStageFlagBits2KHR :: [("stageMask" ::: PipelineStageFlags2KHR, String)]
showTablePipelineStageFlagBits2KHR =
[ ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_NONE_KHR , "NONE_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR , "TOP_OF_PIPE_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR , "DRAW_INDIRECT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR , "VERTEX_INPUT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR , "VERTEX_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR , "TESSELLATION_CONTROL_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR, "TESSELLATION_EVALUATION_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR , "GEOMETRY_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR , "FRAGMENT_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR , "EARLY_FRAGMENT_TESTS_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR , "LATE_FRAGMENT_TESTS_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR , "COLOR_ATTACHMENT_OUTPUT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR , "COMPUTE_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR , "ALL_TRANSFER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR , "BOTTOM_OF_PIPE_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_HOST_BIT_KHR , "HOST_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR , "ALL_GRAPHICS_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR , "ALL_COMMANDS_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_COPY_BIT_KHR , "COPY_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_RESOLVE_BIT_KHR , "RESOLVE_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_BLIT_BIT_KHR , "BLIT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_CLEAR_BIT_KHR , "CLEAR_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR , "INDEX_INPUT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR , "VERTEX_ATTRIBUTE_INPUT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR , "PRE_RASTERIZATION_SHADERS_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_MESH_SHADER_BIT_NV , "MESH_SHADER_BIT_NV")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_TASK_SHADER_BIT_NV , "TASK_SHADER_BIT_NV")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT , "FRAGMENT_DENSITY_PROCESS_BIT_EXT")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR , "RAY_TRACING_SHADER_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR , "ACCELERATION_STRUCTURE_BUILD_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, "FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV , "COMMAND_PREPROCESS_BIT_NV")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT , "CONDITIONAL_RENDERING_BIT_EXT")
, ("stageMask" ::: PipelineStageFlags2KHR
PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT , "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 x :: "dstOffset" ::: DeviceSize
x) -> "dstOffset" ::: DeviceSize
x)
(\x :: "dstOffset" ::: DeviceSize
x -> String -> ShowS
showString "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 = "SubmitFlagBitsKHR"
enumPrefixSubmitFlagBitsKHR :: String
enumPrefixSubmitFlagBitsKHR :: String
enumPrefixSubmitFlagBitsKHR = "SUBMIT_PROTECTED_BIT_KHR"
showTableSubmitFlagBitsKHR :: [(SubmitFlagBitsKHR, String)]
showTableSubmitFlagBitsKHR :: [(SubmitFlagsKHR, String)]
showTableSubmitFlagBitsKHR = [(SubmitFlagsKHR
SUBMIT_PROTECTED_BIT_KHR, "")]
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 x :: Word32
x) -> Word32
x)
(\x :: Word32
x -> String -> ShowS
showString "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"