{-# language CPP #-}
module Vulkan.Extensions.VK_EXT_debug_utils ( setDebugUtilsObjectNameEXT
, setDebugUtilsObjectTagEXT
, queueBeginDebugUtilsLabelEXT
, queueEndDebugUtilsLabelEXT
, queueInsertDebugUtilsLabelEXT
, cmdBeginDebugUtilsLabelEXT
, cmdUseDebugUtilsLabelEXT
, cmdEndDebugUtilsLabelEXT
, cmdInsertDebugUtilsLabelEXT
, createDebugUtilsMessengerEXT
, withDebugUtilsMessengerEXT
, destroyDebugUtilsMessengerEXT
, submitDebugUtilsMessageEXT
, DebugUtilsObjectNameInfoEXT(..)
, DebugUtilsObjectTagInfoEXT(..)
, DebugUtilsLabelEXT(..)
, DebugUtilsMessengerCreateInfoEXT(..)
, DebugUtilsMessengerCallbackDataEXT(..)
, DebugUtilsMessengerCreateFlagsEXT(..)
, DebugUtilsMessengerCallbackDataFlagsEXT(..)
, DebugUtilsMessageSeverityFlagBitsEXT( DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT
, DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT
, DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT
, DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT
, ..
)
, DebugUtilsMessageSeverityFlagsEXT
, DebugUtilsMessageTypeFlagBitsEXT( DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT
, DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT
, DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT
, ..
)
, DebugUtilsMessageTypeFlagsEXT
, PFN_vkDebugUtilsMessengerCallbackEXT
, FN_vkDebugUtilsMessengerCallbackEXT
, EXT_DEBUG_UTILS_SPEC_VERSION
, pattern EXT_DEBUG_UTILS_SPEC_VERSION
, EXT_DEBUG_UTILS_EXTENSION_NAME
, pattern EXT_DEBUG_UTILS_EXTENSION_NAME
, DebugUtilsMessengerEXT(..)
) where
import Vulkan.CStruct.Utils (FixedArray)
import Control.Exception.Base (bracket)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Foreign.Marshal.Alloc (allocaBytesAligned)
import Foreign.Marshal.Alloc (callocBytes)
import Foreign.Marshal.Alloc (free)
import Foreign.Marshal.Utils (maybePeek)
import GHC.Base (when)
import GHC.IO (throwIO)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import Numeric (showHex)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Data.ByteString (packCString)
import Data.ByteString (useAsCString)
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 Control.Monad.IO.Class (MonadIO)
import Data.Bits (Bits)
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.C.Types (CChar)
import Foreign.C.Types (CFloat)
import Foreign.C.Types (CFloat(CFloat))
import Foreign.C.Types (CSize)
import Foreign.C.Types (CSize(CSize))
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Data.Int (Int32)
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import Data.Word (Word32)
import Data.Word (Word64)
import Text.Read.Lex (Lexeme(Ident))
import Data.ByteString (ByteString)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Data.Vector (Vector)
import Vulkan.CStruct.Utils (advancePtrBytes)
import Vulkan.CStruct.Utils (lowerArrayPtr)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
import Vulkan.Core10.BaseType (Bool32)
import Vulkan.Core10.Handles (CommandBuffer)
import Vulkan.Core10.Handles (CommandBuffer(..))
import Vulkan.Core10.Handles (CommandBuffer_T)
import Vulkan.Extensions.Handles (DebugUtilsMessengerEXT)
import Vulkan.Extensions.Handles (DebugUtilsMessengerEXT(..))
import Vulkan.Core10.Handles (Device)
import Vulkan.Core10.Handles (Device(..))
import Vulkan.Dynamic (DeviceCmds(pVkCmdBeginDebugUtilsLabelEXT))
import Vulkan.Dynamic (DeviceCmds(pVkCmdEndDebugUtilsLabelEXT))
import Vulkan.Dynamic (DeviceCmds(pVkCmdInsertDebugUtilsLabelEXT))
import Vulkan.Dynamic (DeviceCmds(pVkQueueBeginDebugUtilsLabelEXT))
import Vulkan.Dynamic (DeviceCmds(pVkQueueEndDebugUtilsLabelEXT))
import Vulkan.Dynamic (DeviceCmds(pVkQueueInsertDebugUtilsLabelEXT))
import Vulkan.Dynamic (DeviceCmds(pVkSetDebugUtilsObjectNameEXT))
import Vulkan.Dynamic (DeviceCmds(pVkSetDebugUtilsObjectTagEXT))
import Vulkan.Core10.Handles (Device_T)
import Vulkan.Core10.BaseType (Flags)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.Core10.Handles (Instance)
import Vulkan.Core10.Handles (Instance(..))
import Vulkan.Dynamic (InstanceCmds(pVkCreateDebugUtilsMessengerEXT))
import Vulkan.Dynamic (InstanceCmds(pVkDestroyDebugUtilsMessengerEXT))
import Vulkan.Dynamic (InstanceCmds(pVkSubmitDebugUtilsMessageEXT))
import Vulkan.Core10.Handles (Instance_T)
import Vulkan.Core10.Enums.ObjectType (ObjectType)
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 Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Exception (VulkanException(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT))
import Vulkan.Core10.Enums.Result (Result(SUCCESS))
import Vulkan.Extensions.Handles (DebugUtilsMessengerEXT(..))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkSetDebugUtilsObjectNameEXT
:: FunPtr (Ptr Device_T -> Ptr DebugUtilsObjectNameInfoEXT -> IO Result) -> Ptr Device_T -> Ptr DebugUtilsObjectNameInfoEXT -> IO Result
setDebugUtilsObjectNameEXT :: forall io . MonadIO io => Device -> DebugUtilsObjectNameInfoEXT -> io ()
setDebugUtilsObjectNameEXT :: Device -> DebugUtilsObjectNameInfoEXT -> io ()
setDebugUtilsObjectNameEXT device :: Device
device nameInfo :: DebugUtilsObjectNameInfoEXT
nameInfo = 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 vkSetDebugUtilsObjectNameEXTPtr :: FunPtr
(Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result)
vkSetDebugUtilsObjectNameEXTPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result)
pVkSetDebugUtilsObjectNameEXT (Device -> DeviceCmds
deviceCmds (Device
device :: Device))
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 Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result)
vkSetDebugUtilsObjectNameEXTPtr FunPtr
(Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result)
-> FunPtr
(Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> 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 vkSetDebugUtilsObjectNameEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkSetDebugUtilsObjectNameEXT' :: Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result
vkSetDebugUtilsObjectNameEXT' = FunPtr
(Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result)
-> Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> IO Result
mkVkSetDebugUtilsObjectNameEXT FunPtr
(Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result)
vkSetDebugUtilsObjectNameEXTPtr
"pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pNameInfo <- ((("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO ())
-> IO ())
-> ContT () IO ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO ())
-> IO ())
-> ContT () IO ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT))
-> ((("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO ())
-> IO ())
-> ContT () IO ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
forall a b. (a -> b) -> a -> b
$ DebugUtilsObjectNameInfoEXT
-> (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsObjectNameInfoEXT
nameInfo)
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
$ Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result
vkSetDebugUtilsObjectNameEXT' (Device -> Ptr Device_T
deviceHandle (Device
device)) "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pNameInfo
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" mkVkSetDebugUtilsObjectTagEXT
:: FunPtr (Ptr Device_T -> Ptr DebugUtilsObjectTagInfoEXT -> IO Result) -> Ptr Device_T -> Ptr DebugUtilsObjectTagInfoEXT -> IO Result
setDebugUtilsObjectTagEXT :: forall io . MonadIO io => Device -> DebugUtilsObjectTagInfoEXT -> io ()
setDebugUtilsObjectTagEXT :: Device -> DebugUtilsObjectTagInfoEXT -> io ()
setDebugUtilsObjectTagEXT device :: Device
device tagInfo :: DebugUtilsObjectTagInfoEXT
tagInfo = 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 vkSetDebugUtilsObjectTagEXTPtr :: FunPtr
(Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result)
vkSetDebugUtilsObjectTagEXTPtr = DeviceCmds
-> FunPtr
(Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result)
pVkSetDebugUtilsObjectTagEXT (Device -> DeviceCmds
deviceCmds (Device
device :: Device))
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 Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result)
vkSetDebugUtilsObjectTagEXTPtr FunPtr
(Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result)
-> FunPtr
(Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> 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 vkSetDebugUtilsObjectTagEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkSetDebugUtilsObjectTagEXT' :: Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result
vkSetDebugUtilsObjectTagEXT' = FunPtr
(Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result)
-> Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> IO Result
mkVkSetDebugUtilsObjectTagEXT FunPtr
(Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result)
vkSetDebugUtilsObjectTagEXTPtr
"pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
pTagInfo <- ((("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO ())
-> IO ())
-> ContT () IO ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO ())
-> IO ())
-> ContT () IO ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT))
-> ((("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO ())
-> IO ())
-> ContT () IO ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
forall a b. (a -> b) -> a -> b
$ DebugUtilsObjectTagInfoEXT
-> (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsObjectTagInfoEXT
tagInfo)
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
$ Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result
vkSetDebugUtilsObjectTagEXT' (Device -> Ptr Device_T
deviceHandle (Device
device)) "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
pTagInfo
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" mkVkQueueBeginDebugUtilsLabelEXT
:: FunPtr (Ptr Queue_T -> Ptr DebugUtilsLabelEXT -> IO ()) -> Ptr Queue_T -> Ptr DebugUtilsLabelEXT -> IO ()
queueBeginDebugUtilsLabelEXT :: forall io . MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
queueBeginDebugUtilsLabelEXT :: Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
queueBeginDebugUtilsLabelEXT queue :: Queue
queue labelInfo :: "labelInfo" ::: DebugUtilsLabelEXT
labelInfo = 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 vkQueueBeginDebugUtilsLabelEXTPtr :: FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkQueueBeginDebugUtilsLabelEXTPtr = DeviceCmds
-> FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
pVkQueueBeginDebugUtilsLabelEXT (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
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkQueueBeginDebugUtilsLabelEXTPtr FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> 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 vkQueueBeginDebugUtilsLabelEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkQueueBeginDebugUtilsLabelEXT' :: Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
vkQueueBeginDebugUtilsLabelEXT' = FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
mkVkQueueBeginDebugUtilsLabelEXT FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkQueueBeginDebugUtilsLabelEXTPtr
"pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pLabelInfo <- ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)))
-> ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. (a -> b) -> a -> b
$ ("labelInfo" ::: DebugUtilsLabelEXT)
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct ("labelInfo" ::: DebugUtilsLabelEXT
labelInfo)
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
$ Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
vkQueueBeginDebugUtilsLabelEXT' (Queue -> Ptr Queue_T
queueHandle (Queue
queue)) "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pLabelInfo
() -> 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" mkVkQueueEndDebugUtilsLabelEXT
:: FunPtr (Ptr Queue_T -> IO ()) -> Ptr Queue_T -> IO ()
queueEndDebugUtilsLabelEXT :: forall io . MonadIO io => Queue -> io ()
queueEndDebugUtilsLabelEXT :: Queue -> io ()
queueEndDebugUtilsLabelEXT queue :: Queue
queue = 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 vkQueueEndDebugUtilsLabelEXTPtr :: FunPtr (Ptr Queue_T -> IO ())
vkQueueEndDebugUtilsLabelEXTPtr = DeviceCmds -> FunPtr (Ptr Queue_T -> IO ())
pVkQueueEndDebugUtilsLabelEXT (Queue -> DeviceCmds
deviceCmds (Queue
queue :: Queue))
Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr (Ptr Queue_T -> IO ())
vkQueueEndDebugUtilsLabelEXTPtr FunPtr (Ptr Queue_T -> IO ())
-> FunPtr (Ptr Queue_T -> IO ()) -> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr (Ptr Queue_T -> IO ())
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument "" "The function pointer for vkQueueEndDebugUtilsLabelEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkQueueEndDebugUtilsLabelEXT' :: Ptr Queue_T -> IO ()
vkQueueEndDebugUtilsLabelEXT' = FunPtr (Ptr Queue_T -> IO ()) -> Ptr Queue_T -> IO ()
mkVkQueueEndDebugUtilsLabelEXT FunPtr (Ptr Queue_T -> IO ())
vkQueueEndDebugUtilsLabelEXTPtr
Ptr Queue_T -> IO ()
vkQueueEndDebugUtilsLabelEXT' (Queue -> Ptr Queue_T
queueHandle (Queue
queue))
() -> 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" mkVkQueueInsertDebugUtilsLabelEXT
:: FunPtr (Ptr Queue_T -> Ptr DebugUtilsLabelEXT -> IO ()) -> Ptr Queue_T -> Ptr DebugUtilsLabelEXT -> IO ()
queueInsertDebugUtilsLabelEXT :: forall io . MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
queueInsertDebugUtilsLabelEXT :: Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
queueInsertDebugUtilsLabelEXT queue :: Queue
queue labelInfo :: "labelInfo" ::: DebugUtilsLabelEXT
labelInfo = 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 vkQueueInsertDebugUtilsLabelEXTPtr :: FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkQueueInsertDebugUtilsLabelEXTPtr = DeviceCmds
-> FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
pVkQueueInsertDebugUtilsLabelEXT (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
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkQueueInsertDebugUtilsLabelEXTPtr FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> 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 vkQueueInsertDebugUtilsLabelEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkQueueInsertDebugUtilsLabelEXT' :: Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
vkQueueInsertDebugUtilsLabelEXT' = FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
mkVkQueueInsertDebugUtilsLabelEXT FunPtr
(Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkQueueInsertDebugUtilsLabelEXTPtr
"pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pLabelInfo <- ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)))
-> ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. (a -> b) -> a -> b
$ ("labelInfo" ::: DebugUtilsLabelEXT)
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct ("labelInfo" ::: DebugUtilsLabelEXT
labelInfo)
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
$ Ptr Queue_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
vkQueueInsertDebugUtilsLabelEXT' (Queue -> Ptr Queue_T
queueHandle (Queue
queue)) "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pLabelInfo
() -> 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" mkVkCmdBeginDebugUtilsLabelEXT
:: FunPtr (Ptr CommandBuffer_T -> Ptr DebugUtilsLabelEXT -> IO ()) -> Ptr CommandBuffer_T -> Ptr DebugUtilsLabelEXT -> IO ()
cmdBeginDebugUtilsLabelEXT :: forall io . MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
cmdBeginDebugUtilsLabelEXT :: CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
cmdBeginDebugUtilsLabelEXT commandBuffer :: CommandBuffer
commandBuffer labelInfo :: "labelInfo" ::: DebugUtilsLabelEXT
labelInfo = 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 vkCmdBeginDebugUtilsLabelEXTPtr :: FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkCmdBeginDebugUtilsLabelEXTPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
pVkCmdBeginDebugUtilsLabelEXT (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
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkCmdBeginDebugUtilsLabelEXTPtr FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> 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 vkCmdBeginDebugUtilsLabelEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdBeginDebugUtilsLabelEXT' :: Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
vkCmdBeginDebugUtilsLabelEXT' = FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
mkVkCmdBeginDebugUtilsLabelEXT FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkCmdBeginDebugUtilsLabelEXTPtr
"pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pLabelInfo <- ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)))
-> ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. (a -> b) -> a -> b
$ ("labelInfo" ::: DebugUtilsLabelEXT)
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct ("labelInfo" ::: DebugUtilsLabelEXT
labelInfo)
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
$ Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
vkCmdBeginDebugUtilsLabelEXT' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pLabelInfo
() -> ContT () IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> ContT () IO ()) -> () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ()
cmdUseDebugUtilsLabelEXT :: forall io r . MonadIO io => CommandBuffer -> DebugUtilsLabelEXT -> io r -> io r
cmdUseDebugUtilsLabelEXT :: CommandBuffer
-> ("labelInfo" ::: DebugUtilsLabelEXT) -> io r -> io r
cmdUseDebugUtilsLabelEXT commandBuffer :: CommandBuffer
commandBuffer pLabelInfo :: "labelInfo" ::: DebugUtilsLabelEXT
pLabelInfo a :: io r
a =
(CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
forall (io :: * -> *).
MonadIO io =>
CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
cmdBeginDebugUtilsLabelEXT CommandBuffer
commandBuffer "labelInfo" ::: DebugUtilsLabelEXT
pLabelInfo) io () -> io r -> io r
forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
*> io r
a io r -> io () -> io r
forall (f :: * -> *) a b. Applicative f => f a -> f b -> f a
<* (CommandBuffer -> io ()
forall (io :: * -> *). MonadIO io => CommandBuffer -> io ()
cmdEndDebugUtilsLabelEXT CommandBuffer
commandBuffer)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdEndDebugUtilsLabelEXT
:: FunPtr (Ptr CommandBuffer_T -> IO ()) -> Ptr CommandBuffer_T -> IO ()
cmdEndDebugUtilsLabelEXT :: forall io . MonadIO io => CommandBuffer -> io ()
cmdEndDebugUtilsLabelEXT :: CommandBuffer -> io ()
cmdEndDebugUtilsLabelEXT commandBuffer :: CommandBuffer
commandBuffer = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ()) -> IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkCmdEndDebugUtilsLabelEXTPtr :: FunPtr (Ptr CommandBuffer_T -> IO ())
vkCmdEndDebugUtilsLabelEXTPtr = DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO ())
pVkCmdEndDebugUtilsLabelEXT (CommandBuffer -> DeviceCmds
deviceCmds (CommandBuffer
commandBuffer :: CommandBuffer))
Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr (Ptr CommandBuffer_T -> IO ())
vkCmdEndDebugUtilsLabelEXTPtr FunPtr (Ptr CommandBuffer_T -> IO ())
-> FunPtr (Ptr CommandBuffer_T -> IO ()) -> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr (Ptr CommandBuffer_T -> IO ())
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument "" "The function pointer for vkCmdEndDebugUtilsLabelEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdEndDebugUtilsLabelEXT' :: Ptr CommandBuffer_T -> IO ()
vkCmdEndDebugUtilsLabelEXT' = FunPtr (Ptr CommandBuffer_T -> IO ())
-> Ptr CommandBuffer_T -> IO ()
mkVkCmdEndDebugUtilsLabelEXT FunPtr (Ptr CommandBuffer_T -> IO ())
vkCmdEndDebugUtilsLabelEXTPtr
Ptr CommandBuffer_T -> IO ()
vkCmdEndDebugUtilsLabelEXT' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer))
() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdInsertDebugUtilsLabelEXT
:: FunPtr (Ptr CommandBuffer_T -> Ptr DebugUtilsLabelEXT -> IO ()) -> Ptr CommandBuffer_T -> Ptr DebugUtilsLabelEXT -> IO ()
cmdInsertDebugUtilsLabelEXT :: forall io . MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
cmdInsertDebugUtilsLabelEXT :: CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
cmdInsertDebugUtilsLabelEXT commandBuffer :: CommandBuffer
commandBuffer labelInfo :: "labelInfo" ::: DebugUtilsLabelEXT
labelInfo = 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 vkCmdInsertDebugUtilsLabelEXTPtr :: FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkCmdInsertDebugUtilsLabelEXTPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
pVkCmdInsertDebugUtilsLabelEXT (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
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkCmdInsertDebugUtilsLabelEXTPtr FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> 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 vkCmdInsertDebugUtilsLabelEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdInsertDebugUtilsLabelEXT' :: Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
vkCmdInsertDebugUtilsLabelEXT' = FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
mkVkCmdInsertDebugUtilsLabelEXT FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
vkCmdInsertDebugUtilsLabelEXTPtr
"pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pLabelInfo <- ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)))
-> ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ())
-> ContT
() IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. (a -> b) -> a -> b
$ ("labelInfo" ::: DebugUtilsLabelEXT)
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct ("labelInfo" ::: DebugUtilsLabelEXT
labelInfo)
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
$ Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
vkCmdInsertDebugUtilsLabelEXT' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pLabelInfo
() -> 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" mkVkCreateDebugUtilsMessengerEXT
:: FunPtr (Ptr Instance_T -> Ptr DebugUtilsMessengerCreateInfoEXT -> Ptr AllocationCallbacks -> Ptr DebugUtilsMessengerEXT -> IO Result) -> Ptr Instance_T -> Ptr DebugUtilsMessengerCreateInfoEXT -> Ptr AllocationCallbacks -> Ptr DebugUtilsMessengerEXT -> IO Result
createDebugUtilsMessengerEXT :: forall io . MonadIO io => Instance -> DebugUtilsMessengerCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io (DebugUtilsMessengerEXT)
createDebugUtilsMessengerEXT :: Instance
-> DebugUtilsMessengerCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io DebugUtilsMessengerEXT
createDebugUtilsMessengerEXT instance' :: Instance
instance' createInfo :: DebugUtilsMessengerCreateInfoEXT
createInfo allocator :: "allocator" ::: Maybe AllocationCallbacks
allocator = IO DebugUtilsMessengerEXT -> io DebugUtilsMessengerEXT
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO DebugUtilsMessengerEXT -> io DebugUtilsMessengerEXT)
-> (ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT
-> IO DebugUtilsMessengerEXT)
-> ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT
-> io DebugUtilsMessengerEXT
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT
-> IO DebugUtilsMessengerEXT
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT
-> io DebugUtilsMessengerEXT)
-> ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT
-> io DebugUtilsMessengerEXT
forall a b. (a -> b) -> a -> b
$ do
let vkCreateDebugUtilsMessengerEXTPtr :: FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result)
vkCreateDebugUtilsMessengerEXTPtr = InstanceCmds
-> FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result)
pVkCreateDebugUtilsMessengerEXT (Instance -> InstanceCmds
instanceCmds (Instance
instance' :: Instance))
IO () -> ContT DebugUtilsMessengerEXT IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT DebugUtilsMessengerEXT IO ())
-> IO () -> ContT DebugUtilsMessengerEXT IO ()
forall a b. (a -> b) -> a -> b
$ Bool -> IO () -> IO ()
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result)
vkCreateDebugUtilsMessengerEXTPtr FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result)
-> FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result)
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> 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 vkCreateDebugUtilsMessengerEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCreateDebugUtilsMessengerEXT' :: Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result
vkCreateDebugUtilsMessengerEXT' = FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result)
-> Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result
mkVkCreateDebugUtilsMessengerEXT FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result)
vkCreateDebugUtilsMessengerEXTPtr
"pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
pCreateInfo <- ((("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> ContT
DebugUtilsMessengerEXT
IO
("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> ContT
DebugUtilsMessengerEXT
IO
("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT))
-> ((("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> ContT
DebugUtilsMessengerEXT
IO
("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
forall a b. (a -> b) -> a -> b
$ DebugUtilsMessengerCreateInfoEXT
-> (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsMessengerCreateInfoEXT
createInfo)
"pAllocator" ::: Ptr AllocationCallbacks
pAllocator <- case ("allocator" ::: Maybe AllocationCallbacks
allocator) of
Nothing -> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ContT
DebugUtilsMessengerEXT
IO
("pAllocator" ::: Ptr AllocationCallbacks)
forall (f :: * -> *) a. Applicative f => a -> f a
pure "pAllocator" ::: Ptr AllocationCallbacks
forall a. Ptr a
nullPtr
Just j :: AllocationCallbacks
j -> ((("pAllocator" ::: Ptr AllocationCallbacks)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> ContT
DebugUtilsMessengerEXT
IO
("pAllocator" ::: Ptr AllocationCallbacks)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pAllocator" ::: Ptr AllocationCallbacks)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> ContT
DebugUtilsMessengerEXT
IO
("pAllocator" ::: Ptr AllocationCallbacks))
-> ((("pAllocator" ::: Ptr AllocationCallbacks)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> ContT
DebugUtilsMessengerEXT
IO
("pAllocator" ::: Ptr AllocationCallbacks)
forall a b. (a -> b) -> a -> b
$ AllocationCallbacks
-> (("pAllocator" ::: Ptr AllocationCallbacks)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
"pMessenger" ::: Ptr DebugUtilsMessengerEXT
pPMessenger <- ((("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> ContT
DebugUtilsMessengerEXT
IO
("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> ContT
DebugUtilsMessengerEXT
IO
("pMessenger" ::: Ptr DebugUtilsMessengerEXT))
-> ((("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> ContT
DebugUtilsMessengerEXT
IO
("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
forall a b. (a -> b) -> a -> b
$ IO ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> (("pMessenger" ::: Ptr DebugUtilsMessengerEXT) -> IO ())
-> (("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT
forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (Int -> IO ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
forall a. Int -> IO (Ptr a)
callocBytes @DebugUtilsMessengerEXT 8) ("pMessenger" ::: Ptr DebugUtilsMessengerEXT) -> IO ()
forall a. Ptr a -> IO ()
free
Result
r <- IO Result -> ContT DebugUtilsMessengerEXT IO Result
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO Result -> ContT DebugUtilsMessengerEXT IO Result)
-> IO Result -> ContT DebugUtilsMessengerEXT IO Result
forall a b. (a -> b) -> a -> b
$ Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result
vkCreateDebugUtilsMessengerEXT' (Instance -> Ptr Instance_T
instanceHandle (Instance
instance')) "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
pCreateInfo "pAllocator" ::: Ptr AllocationCallbacks
pAllocator ("pMessenger" ::: Ptr DebugUtilsMessengerEXT
pPMessenger)
IO () -> ContT DebugUtilsMessengerEXT IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT DebugUtilsMessengerEXT IO ())
-> IO () -> ContT DebugUtilsMessengerEXT 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))
DebugUtilsMessengerEXT
pMessenger <- IO DebugUtilsMessengerEXT
-> ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO DebugUtilsMessengerEXT
-> ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT
-> ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT
forall a b. (a -> b) -> a -> b
$ ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO DebugUtilsMessengerEXT
forall a. Storable a => Ptr a -> IO a
peek @DebugUtilsMessengerEXT "pMessenger" ::: Ptr DebugUtilsMessengerEXT
pPMessenger
DebugUtilsMessengerEXT
-> ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DebugUtilsMessengerEXT
-> ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT)
-> DebugUtilsMessengerEXT
-> ContT DebugUtilsMessengerEXT IO DebugUtilsMessengerEXT
forall a b. (a -> b) -> a -> b
$ (DebugUtilsMessengerEXT
pMessenger)
withDebugUtilsMessengerEXT :: forall io r . MonadIO io => Instance -> DebugUtilsMessengerCreateInfoEXT -> Maybe AllocationCallbacks -> (io (DebugUtilsMessengerEXT) -> ((DebugUtilsMessengerEXT) -> io ()) -> r) -> r
withDebugUtilsMessengerEXT :: Instance
-> DebugUtilsMessengerCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> (io DebugUtilsMessengerEXT
-> (DebugUtilsMessengerEXT -> io ()) -> r)
-> r
withDebugUtilsMessengerEXT instance' :: Instance
instance' pCreateInfo :: DebugUtilsMessengerCreateInfoEXT
pCreateInfo pAllocator :: "allocator" ::: Maybe AllocationCallbacks
pAllocator b :: io DebugUtilsMessengerEXT -> (DebugUtilsMessengerEXT -> io ()) -> r
b =
io DebugUtilsMessengerEXT -> (DebugUtilsMessengerEXT -> io ()) -> r
b (Instance
-> DebugUtilsMessengerCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io DebugUtilsMessengerEXT
forall (io :: * -> *).
MonadIO io =>
Instance
-> DebugUtilsMessengerCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io DebugUtilsMessengerEXT
createDebugUtilsMessengerEXT Instance
instance' DebugUtilsMessengerCreateInfoEXT
pCreateInfo "allocator" ::: Maybe AllocationCallbacks
pAllocator)
(\(DebugUtilsMessengerEXT
o0) -> Instance
-> DebugUtilsMessengerEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
forall (io :: * -> *).
MonadIO io =>
Instance
-> DebugUtilsMessengerEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroyDebugUtilsMessengerEXT Instance
instance' DebugUtilsMessengerEXT
o0 "allocator" ::: Maybe AllocationCallbacks
pAllocator)
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkDestroyDebugUtilsMessengerEXT
:: FunPtr (Ptr Instance_T -> DebugUtilsMessengerEXT -> Ptr AllocationCallbacks -> IO ()) -> Ptr Instance_T -> DebugUtilsMessengerEXT -> Ptr AllocationCallbacks -> IO ()
destroyDebugUtilsMessengerEXT :: forall io . MonadIO io => Instance -> DebugUtilsMessengerEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
destroyDebugUtilsMessengerEXT :: Instance
-> DebugUtilsMessengerEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroyDebugUtilsMessengerEXT instance' :: Instance
instance' messenger :: DebugUtilsMessengerEXT
messenger allocator :: "allocator" ::: Maybe AllocationCallbacks
allocator = 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 vkDestroyDebugUtilsMessengerEXTPtr :: FunPtr
(Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
vkDestroyDebugUtilsMessengerEXTPtr = InstanceCmds
-> FunPtr
(Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
pVkDestroyDebugUtilsMessengerEXT (Instance -> InstanceCmds
instanceCmds (Instance
instance' :: Instance))
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 Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
vkDestroyDebugUtilsMessengerEXTPtr FunPtr
(Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
-> FunPtr
(Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> 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 vkDestroyDebugUtilsMessengerEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkDestroyDebugUtilsMessengerEXT' :: Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ()
vkDestroyDebugUtilsMessengerEXT' = FunPtr
(Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
-> Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ()
mkVkDestroyDebugUtilsMessengerEXT FunPtr
(Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
vkDestroyDebugUtilsMessengerEXTPtr
"pAllocator" ::: Ptr AllocationCallbacks
pAllocator <- case ("allocator" ::: Maybe AllocationCallbacks
allocator) of
Nothing -> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks)
forall (f :: * -> *) a. Applicative f => a -> f a
pure "pAllocator" ::: Ptr AllocationCallbacks
forall a. Ptr a
nullPtr
Just j :: AllocationCallbacks
j -> ((("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ())
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ())
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks))
-> ((("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ())
-> ContT () IO ("pAllocator" ::: Ptr AllocationCallbacks)
forall a b. (a -> b) -> a -> b
$ AllocationCallbacks
-> (("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) -> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
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
$ Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ()
vkDestroyDebugUtilsMessengerEXT' (Instance -> Ptr Instance_T
instanceHandle (Instance
instance')) (DebugUtilsMessengerEXT
messenger) "pAllocator" ::: Ptr AllocationCallbacks
pAllocator
() -> 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" mkVkSubmitDebugUtilsMessageEXT
:: FunPtr (Ptr Instance_T -> DebugUtilsMessageSeverityFlagBitsEXT -> DebugUtilsMessageTypeFlagsEXT -> Ptr DebugUtilsMessengerCallbackDataEXT -> IO ()) -> Ptr Instance_T -> DebugUtilsMessageSeverityFlagBitsEXT -> DebugUtilsMessageTypeFlagsEXT -> Ptr DebugUtilsMessengerCallbackDataEXT -> IO ()
submitDebugUtilsMessageEXT :: forall io . MonadIO io => Instance -> DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> DebugUtilsMessengerCallbackDataEXT -> io ()
submitDebugUtilsMessageEXT :: Instance
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> DebugUtilsMessengerCallbackDataEXT
-> io ()
submitDebugUtilsMessageEXT instance' :: Instance
instance' messageSeverity :: DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity messageTypes :: "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
messageTypes callbackData :: DebugUtilsMessengerCallbackDataEXT
callbackData = 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 vkSubmitDebugUtilsMessageEXTPtr :: FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
vkSubmitDebugUtilsMessageEXTPtr = InstanceCmds
-> FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
pVkSubmitDebugUtilsMessageEXT (Instance -> InstanceCmds
instanceCmds (Instance
instance' :: Instance))
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 Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
vkSubmitDebugUtilsMessageEXTPtr FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
-> FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
-> Bool
forall a. Eq a => a -> a -> Bool
/= FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> 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 vkSubmitDebugUtilsMessageEXT is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkSubmitDebugUtilsMessageEXT' :: Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ()
vkSubmitDebugUtilsMessageEXT' = FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
-> Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ()
mkVkSubmitDebugUtilsMessageEXT FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
vkSubmitDebugUtilsMessageEXTPtr
"pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
pCallbackData <- ((("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
-> IO ())
-> ContT
() IO ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
-> IO ())
-> ContT
() IO ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT))
-> ((("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
-> IO ())
-> ContT
() IO ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
forall a b. (a -> b) -> a -> b
$ DebugUtilsMessengerCallbackDataEXT
-> (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ())
-> IO ()
forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsMessengerCallbackDataEXT
callbackData)
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
$ Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO ()
vkSubmitDebugUtilsMessageEXT' (Instance -> Ptr Instance_T
instanceHandle (Instance
instance')) (DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity) ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
messageTypes) "pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
pCallbackData
() -> ContT () IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> ContT () IO ()) -> () -> ContT () IO ()
forall a b. (a -> b) -> a -> b
$ ()
data DebugUtilsObjectNameInfoEXT = DebugUtilsObjectNameInfoEXT
{
DebugUtilsObjectNameInfoEXT -> ObjectType
objectType :: ObjectType
,
DebugUtilsObjectNameInfoEXT -> Word64
objectHandle :: Word64
,
DebugUtilsObjectNameInfoEXT -> Maybe ByteString
objectName :: Maybe ByteString
}
deriving (Typeable)
deriving instance Show DebugUtilsObjectNameInfoEXT
instance ToCStruct DebugUtilsObjectNameInfoEXT where
withCStruct :: DebugUtilsObjectNameInfoEXT
-> (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b
withCStruct x :: DebugUtilsObjectNameInfoEXT
x f :: ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b
f = Int
-> Int
-> (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 40 8 ((("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b)
-> (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \p :: "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p -> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> DebugUtilsObjectNameInfoEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p DebugUtilsObjectNameInfoEXT
x (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b
f "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p)
pokeCStruct :: ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> DebugUtilsObjectNameInfoEXT -> IO b -> IO b
pokeCStruct p :: "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p DebugUtilsObjectNameInfoEXT{..} 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 (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT)
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 (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> 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 ObjectType -> ObjectType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr ObjectType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr ObjectType)) (ObjectType
objectType)
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 Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Word64)) (Word64
objectHandle)
Ptr CChar
pObjectName'' <- case (Maybe ByteString
objectName) of
Nothing -> Ptr CChar -> ContT b IO (Ptr CChar)
forall (f :: * -> *) a. Applicative f => a -> f a
pure Ptr CChar
forall a. Ptr a
nullPtr
Just j :: ByteString
j -> ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar))
-> ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall a b. (a -> b) -> a -> b
$ ByteString -> (Ptr CChar -> IO b) -> IO b
forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
j)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr CChar) -> Ptr CChar -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr (Ptr CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr (Ptr CChar))) Ptr CChar
pObjectName''
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 = 40
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b -> IO b
pokeZeroCStruct p :: "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ObjectType -> ObjectType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr ObjectType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr ObjectType)) (ObjectType
forall a. Zero a => a
zero)
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Word64)) (Word64
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DebugUtilsObjectNameInfoEXT where
peekCStruct :: ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> IO DebugUtilsObjectNameInfoEXT
peekCStruct p :: "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p = do
ObjectType
objectType <- Ptr ObjectType -> IO ObjectType
forall a. Storable a => Ptr a -> IO a
peek @ObjectType (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr ObjectType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr ObjectType))
Word64
objectHandle <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek @Word64 (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Word64))
Ptr CChar
pObjectName <- Ptr (Ptr CChar) -> IO (Ptr CChar)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr CChar) (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> Ptr (Ptr CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr (Ptr CChar)))
Maybe ByteString
pObjectName' <- (Ptr CChar -> IO ByteString) -> Ptr CChar -> IO (Maybe ByteString)
forall a b. (Ptr a -> IO b) -> Ptr a -> IO (Maybe b)
maybePeek (\j :: Ptr CChar
j -> Ptr CChar -> IO ByteString
packCString (Ptr CChar
j)) Ptr CChar
pObjectName
DebugUtilsObjectNameInfoEXT -> IO DebugUtilsObjectNameInfoEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DebugUtilsObjectNameInfoEXT -> IO DebugUtilsObjectNameInfoEXT)
-> DebugUtilsObjectNameInfoEXT -> IO DebugUtilsObjectNameInfoEXT
forall a b. (a -> b) -> a -> b
$ ObjectType
-> Word64 -> Maybe ByteString -> DebugUtilsObjectNameInfoEXT
DebugUtilsObjectNameInfoEXT
ObjectType
objectType Word64
objectHandle Maybe ByteString
pObjectName'
instance Zero DebugUtilsObjectNameInfoEXT where
zero :: DebugUtilsObjectNameInfoEXT
zero = ObjectType
-> Word64 -> Maybe ByteString -> DebugUtilsObjectNameInfoEXT
DebugUtilsObjectNameInfoEXT
ObjectType
forall a. Zero a => a
zero
Word64
forall a. Zero a => a
zero
Maybe ByteString
forall a. Maybe a
Nothing
data DebugUtilsObjectTagInfoEXT = DebugUtilsObjectTagInfoEXT
{
DebugUtilsObjectTagInfoEXT -> ObjectType
objectType :: ObjectType
,
DebugUtilsObjectTagInfoEXT -> Word64
objectHandle :: Word64
,
DebugUtilsObjectTagInfoEXT -> Word64
tagName :: Word64
,
DebugUtilsObjectTagInfoEXT -> Word64
tagSize :: Word64
,
DebugUtilsObjectTagInfoEXT -> Ptr ()
tag :: Ptr ()
}
deriving (Typeable)
deriving instance Show DebugUtilsObjectTagInfoEXT
instance ToCStruct DebugUtilsObjectTagInfoEXT where
withCStruct :: DebugUtilsObjectTagInfoEXT
-> (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO b)
-> IO b
withCStruct x :: DebugUtilsObjectTagInfoEXT
x f :: ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO b
f = Int
-> Int
-> (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 56 8 ((("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO b) -> IO b)
-> (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \p :: "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p -> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> DebugUtilsObjectTagInfoEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p DebugUtilsObjectTagInfoEXT
x (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO b
f "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p)
pokeCStruct :: ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> DebugUtilsObjectTagInfoEXT -> IO b -> IO b
pokeCStruct p :: "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p DebugUtilsObjectTagInfoEXT{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ObjectType -> ObjectType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr ObjectType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr ObjectType)) (ObjectType
objectType)
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Word64)) (Word64
objectHandle)
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Word64)) (Word64
tagName)
Ptr CSize -> CSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> Int -> Ptr CSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr CSize)) (Word64 -> CSize
CSize (Word64
tagSize))
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr (Ptr ()))) (Ptr ()
tag)
IO b
f
cStructSize :: Int
cStructSize = 56
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO b -> IO b
pokeZeroCStruct p :: "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ObjectType -> ObjectType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr ObjectType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr ObjectType)) (ObjectType
forall a. Zero a => a
zero)
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Word64)) (Word64
forall a. Zero a => a
zero)
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Word64)) (Word64
forall a. Zero a => a
zero)
Ptr CSize -> CSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> Int -> Ptr CSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr CSize)) (Word64 -> CSize
CSize (Word64
forall a. Zero a => a
zero))
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr (Ptr ()))) (Ptr ()
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DebugUtilsObjectTagInfoEXT where
peekCStruct :: ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> IO DebugUtilsObjectTagInfoEXT
peekCStruct p :: "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p = do
ObjectType
objectType <- Ptr ObjectType -> IO ObjectType
forall a. Storable a => Ptr a -> IO a
peek @ObjectType (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr ObjectType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr ObjectType))
Word64
objectHandle <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek @Word64 (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Word64))
Word64
tagName <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek @Word64 (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Word64))
CSize
tagSize <- Ptr CSize -> IO CSize
forall a. Storable a => Ptr a -> IO a
peek @CSize (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> Int -> Ptr CSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr CSize))
Ptr ()
pTag <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr (Ptr ())))
DebugUtilsObjectTagInfoEXT -> IO DebugUtilsObjectTagInfoEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DebugUtilsObjectTagInfoEXT -> IO DebugUtilsObjectTagInfoEXT)
-> DebugUtilsObjectTagInfoEXT -> IO DebugUtilsObjectTagInfoEXT
forall a b. (a -> b) -> a -> b
$ ObjectType
-> Word64
-> Word64
-> Word64
-> Ptr ()
-> DebugUtilsObjectTagInfoEXT
DebugUtilsObjectTagInfoEXT
ObjectType
objectType Word64
objectHandle Word64
tagName ((\(CSize a :: Word64
a) -> Word64
a) CSize
tagSize) Ptr ()
pTag
instance Storable DebugUtilsObjectTagInfoEXT where
sizeOf :: DebugUtilsObjectTagInfoEXT -> Int
sizeOf ~DebugUtilsObjectTagInfoEXT
_ = 56
alignment :: DebugUtilsObjectTagInfoEXT -> Int
alignment ~DebugUtilsObjectTagInfoEXT
_ = 8
peek :: ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> IO DebugUtilsObjectTagInfoEXT
peek = ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> IO DebugUtilsObjectTagInfoEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> DebugUtilsObjectTagInfoEXT -> IO ()
poke ptr :: "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
ptr poked :: DebugUtilsObjectTagInfoEXT
poked = ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> DebugUtilsObjectTagInfoEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
ptr DebugUtilsObjectTagInfoEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DebugUtilsObjectTagInfoEXT where
zero :: DebugUtilsObjectTagInfoEXT
zero = ObjectType
-> Word64
-> Word64
-> Word64
-> Ptr ()
-> DebugUtilsObjectTagInfoEXT
DebugUtilsObjectTagInfoEXT
ObjectType
forall a. Zero a => a
zero
Word64
forall a. Zero a => a
zero
Word64
forall a. Zero a => a
zero
Word64
forall a. Zero a => a
zero
Ptr ()
forall a. Zero a => a
zero
data DebugUtilsLabelEXT = DebugUtilsLabelEXT
{
("labelInfo" ::: DebugUtilsLabelEXT) -> ByteString
labelName :: ByteString
,
("labelInfo" ::: DebugUtilsLabelEXT)
-> (Float, Float, Float, Float)
color :: (Float, Float, Float, Float)
}
deriving (Typeable)
deriving instance Show DebugUtilsLabelEXT
instance ToCStruct DebugUtilsLabelEXT where
withCStruct :: ("labelInfo" ::: DebugUtilsLabelEXT)
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b
withCStruct x :: "labelInfo" ::: DebugUtilsLabelEXT
x f :: ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)) -> IO b
f = Int
-> Int
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 40 8 ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \p :: "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p -> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("labelInfo" ::: DebugUtilsLabelEXT) -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p "labelInfo" ::: DebugUtilsLabelEXT
x (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)) -> IO b
f "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p)
pokeCStruct :: ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("labelInfo" ::: DebugUtilsLabelEXT) -> IO b -> IO b
pokeCStruct p :: "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p DebugUtilsLabelEXT{..} 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 (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT)
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 (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr CChar
pLabelName'' <- ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar))
-> ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall a b. (a -> b) -> a -> b
$ ByteString -> (Ptr CChar -> IO b) -> IO b
forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
labelName)
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 CChar) -> Ptr CChar -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> Ptr (Ptr CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr (Ptr CChar))) Ptr CChar
pLabelName''
let pColor' :: Ptr CFloat
pColor' = Ptr (FixedArray 4 CFloat) -> Ptr CFloat
forall a (n :: Nat). Ptr (FixedArray n a) -> Ptr a
lowerArrayPtr (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> Ptr (FixedArray 4 CFloat)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr (FixedArray 4 CFloat)))
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
$ case ((Float, Float, Float, Float)
color) of
(e0 :: Float
e0, e1 :: Float
e1, e2 :: Float
e2, e3 :: Float
e3) -> do
Ptr CFloat -> CFloat -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e0))
Ptr CFloat -> CFloat -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' Ptr CFloat -> Int -> Ptr CFloat
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 4 :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e1))
Ptr CFloat -> CFloat -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' Ptr CFloat -> Int -> Ptr CFloat
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e2))
Ptr CFloat -> CFloat -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' Ptr CFloat -> Int -> Ptr CFloat
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 12 :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e3))
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 = 40
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b -> IO b
pokeZeroCStruct p :: "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
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 (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT)
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 (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr CChar
pLabelName'' <- ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar))
-> ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall a b. (a -> b) -> a -> b
$ ByteString -> (Ptr CChar -> IO b) -> IO b
forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
forall a. Monoid a => a
mempty)
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 CChar) -> Ptr CChar -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> Ptr (Ptr CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr (Ptr CChar))) Ptr CChar
pLabelName''
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 FromCStruct DebugUtilsLabelEXT where
peekCStruct :: ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ("labelInfo" ::: DebugUtilsLabelEXT)
peekCStruct p :: "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p = do
ByteString
pLabelName <- Ptr CChar -> IO ByteString
packCString (Ptr CChar -> IO ByteString) -> IO (Ptr CChar) -> IO ByteString
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Ptr (Ptr CChar) -> IO (Ptr CChar)
forall a. Storable a => Ptr a -> IO a
peek (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> Ptr (Ptr CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr (Ptr CChar)))
let pcolor :: Ptr CFloat
pcolor = Ptr (FixedArray 4 CFloat) -> Ptr CFloat
forall a (n :: Nat). Ptr (FixedArray n a) -> Ptr a
lowerArrayPtr @CFloat (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
p ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> Ptr (FixedArray 4 CFloat)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr (FixedArray 4 CFloat)))
CFloat
color0 <- Ptr CFloat -> IO CFloat
forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr CFloat
pcolor Ptr CFloat -> Int -> Ptr CFloat
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` 0 :: Ptr CFloat))
CFloat
color1 <- Ptr CFloat -> IO CFloat
forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr CFloat
pcolor Ptr CFloat -> Int -> Ptr CFloat
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` 4 :: Ptr CFloat))
CFloat
color2 <- Ptr CFloat -> IO CFloat
forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr CFloat
pcolor Ptr CFloat -> Int -> Ptr CFloat
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` 8 :: Ptr CFloat))
CFloat
color3 <- Ptr CFloat -> IO CFloat
forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr CFloat
pcolor Ptr CFloat -> Int -> Ptr CFloat
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` 12 :: Ptr CFloat))
("labelInfo" ::: DebugUtilsLabelEXT)
-> IO ("labelInfo" ::: DebugUtilsLabelEXT)
forall (f :: * -> *) a. Applicative f => a -> f a
pure (("labelInfo" ::: DebugUtilsLabelEXT)
-> IO ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("labelInfo" ::: DebugUtilsLabelEXT)
-> IO ("labelInfo" ::: DebugUtilsLabelEXT)
forall a b. (a -> b) -> a -> b
$ ByteString
-> (Float, Float, Float, Float)
-> "labelInfo" ::: DebugUtilsLabelEXT
DebugUtilsLabelEXT
ByteString
pLabelName ((((\(CFloat a :: Float
a) -> Float
a) CFloat
color0), ((\(CFloat a :: Float
a) -> Float
a) CFloat
color1), ((\(CFloat a :: Float
a) -> Float
a) CFloat
color2), ((\(CFloat a :: Float
a) -> Float
a) CFloat
color3)))
instance Zero DebugUtilsLabelEXT where
zero :: "labelInfo" ::: DebugUtilsLabelEXT
zero = ByteString
-> (Float, Float, Float, Float)
-> "labelInfo" ::: DebugUtilsLabelEXT
DebugUtilsLabelEXT
ByteString
forall a. Monoid a => a
mempty
(Float
forall a. Zero a => a
zero, Float
forall a. Zero a => a
zero, Float
forall a. Zero a => a
zero, Float
forall a. Zero a => a
zero)
data DebugUtilsMessengerCreateInfoEXT = DebugUtilsMessengerCreateInfoEXT
{
DebugUtilsMessengerCreateInfoEXT
-> DebugUtilsMessengerCreateFlagsEXT
flags :: DebugUtilsMessengerCreateFlagsEXT
,
DebugUtilsMessengerCreateInfoEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity :: DebugUtilsMessageSeverityFlagsEXT
,
DebugUtilsMessengerCreateInfoEXT
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
messageType :: DebugUtilsMessageTypeFlagsEXT
,
DebugUtilsMessengerCreateInfoEXT
-> PFN_vkDebugUtilsMessengerCallbackEXT
pfnUserCallback :: PFN_vkDebugUtilsMessengerCallbackEXT
,
DebugUtilsMessengerCreateInfoEXT -> Ptr ()
userData :: Ptr ()
}
deriving (Typeable)
deriving instance Show DebugUtilsMessengerCreateInfoEXT
instance ToCStruct DebugUtilsMessengerCreateInfoEXT where
withCStruct :: DebugUtilsMessengerCreateInfoEXT
-> (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO b)
-> IO b
withCStruct x :: DebugUtilsMessengerCreateInfoEXT
x f :: ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT) -> IO b
f = Int
-> Int
-> (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 48 8 ((("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT) -> IO b)
-> IO b)
-> (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \p :: "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p -> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> DebugUtilsMessengerCreateInfoEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p DebugUtilsMessengerCreateInfoEXT
x (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT) -> IO b
f "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p)
pokeCStruct :: ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> DebugUtilsMessengerCreateInfoEXT -> IO b -> IO b
pokeCStruct p :: "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p DebugUtilsMessengerCreateInfoEXT{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr DebugUtilsMessengerCreateFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr DebugUtilsMessengerCreateFlagsEXT)) (DebugUtilsMessengerCreateFlagsEXT
flags)
Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr DebugUtilsMessageSeverityFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr DebugUtilsMessageSeverityFlagsEXT)) (DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity)
Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr DebugUtilsMessageTypeFlagsEXT)) ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
messageType)
Ptr PFN_vkDebugUtilsMessengerCallbackEXT
-> PFN_vkDebugUtilsMessengerCallbackEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr PFN_vkDebugUtilsMessengerCallbackEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr PFN_vkDebugUtilsMessengerCallbackEXT)) (PFN_vkDebugUtilsMessengerCallbackEXT
pfnUserCallback)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr (Ptr ()))) (Ptr ()
userData)
IO b
f
cStructSize :: Int
cStructSize = 48
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO b -> IO b
pokeZeroCStruct p :: "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr DebugUtilsMessageSeverityFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr DebugUtilsMessageSeverityFlagsEXT)) (DebugUtilsMessageSeverityFlagBitsEXT
forall a. Zero a => a
zero)
Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr DebugUtilsMessageTypeFlagsEXT)) ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
forall a. Zero a => a
zero)
Ptr PFN_vkDebugUtilsMessengerCallbackEXT
-> PFN_vkDebugUtilsMessengerCallbackEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr PFN_vkDebugUtilsMessengerCallbackEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr PFN_vkDebugUtilsMessengerCallbackEXT)) (PFN_vkDebugUtilsMessengerCallbackEXT
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DebugUtilsMessengerCreateInfoEXT where
peekCStruct :: ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO DebugUtilsMessengerCreateInfoEXT
peekCStruct p :: "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p = do
DebugUtilsMessengerCreateFlagsEXT
flags <- Ptr DebugUtilsMessengerCreateFlagsEXT
-> IO DebugUtilsMessengerCreateFlagsEXT
forall a. Storable a => Ptr a -> IO a
peek @DebugUtilsMessengerCreateFlagsEXT (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr DebugUtilsMessengerCreateFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr DebugUtilsMessengerCreateFlagsEXT))
DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity <- Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> IO DebugUtilsMessageSeverityFlagBitsEXT
forall a. Storable a => Ptr a -> IO a
peek @DebugUtilsMessageSeverityFlagsEXT (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr DebugUtilsMessageSeverityFlagBitsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr DebugUtilsMessageSeverityFlagsEXT))
"messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
messageType <- Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall a. Storable a => Ptr a -> IO a
peek @DebugUtilsMessageTypeFlagsEXT (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr DebugUtilsMessageTypeFlagsEXT))
PFN_vkDebugUtilsMessengerCallbackEXT
pfnUserCallback <- Ptr PFN_vkDebugUtilsMessengerCallbackEXT
-> IO PFN_vkDebugUtilsMessengerCallbackEXT
forall a. Storable a => Ptr a -> IO a
peek @PFN_vkDebugUtilsMessengerCallbackEXT (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr PFN_vkDebugUtilsMessengerCallbackEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr PFN_vkDebugUtilsMessengerCallbackEXT))
Ptr ()
pUserData <- Ptr (Ptr ()) -> IO (Ptr ())
forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr (Ptr ())))
DebugUtilsMessengerCreateInfoEXT
-> IO DebugUtilsMessengerCreateInfoEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DebugUtilsMessengerCreateInfoEXT
-> IO DebugUtilsMessengerCreateInfoEXT)
-> DebugUtilsMessengerCreateInfoEXT
-> IO DebugUtilsMessengerCreateInfoEXT
forall a b. (a -> b) -> a -> b
$ DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> PFN_vkDebugUtilsMessengerCallbackEXT
-> Ptr ()
-> DebugUtilsMessengerCreateInfoEXT
DebugUtilsMessengerCreateInfoEXT
DebugUtilsMessengerCreateFlagsEXT
flags DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
messageType PFN_vkDebugUtilsMessengerCallbackEXT
pfnUserCallback Ptr ()
pUserData
instance Storable DebugUtilsMessengerCreateInfoEXT where
sizeOf :: DebugUtilsMessengerCreateInfoEXT -> Int
sizeOf ~DebugUtilsMessengerCreateInfoEXT
_ = 48
alignment :: DebugUtilsMessengerCreateInfoEXT -> Int
alignment ~DebugUtilsMessengerCreateInfoEXT
_ = 8
peek :: ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO DebugUtilsMessengerCreateInfoEXT
peek = ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO DebugUtilsMessengerCreateInfoEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> DebugUtilsMessengerCreateInfoEXT -> IO ()
poke ptr :: "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
ptr poked :: DebugUtilsMessengerCreateInfoEXT
poked = ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> DebugUtilsMessengerCreateInfoEXT -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
ptr DebugUtilsMessengerCreateInfoEXT
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DebugUtilsMessengerCreateInfoEXT where
zero :: DebugUtilsMessengerCreateInfoEXT
zero = DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> PFN_vkDebugUtilsMessengerCallbackEXT
-> Ptr ()
-> DebugUtilsMessengerCreateInfoEXT
DebugUtilsMessengerCreateInfoEXT
DebugUtilsMessengerCreateFlagsEXT
forall a. Zero a => a
zero
DebugUtilsMessageSeverityFlagBitsEXT
forall a. Zero a => a
zero
"messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
forall a. Zero a => a
zero
PFN_vkDebugUtilsMessengerCallbackEXT
forall a. Zero a => a
zero
Ptr ()
forall a. Zero a => a
zero
data DebugUtilsMessengerCallbackDataEXT = DebugUtilsMessengerCallbackDataEXT
{
DebugUtilsMessengerCallbackDataEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
flags :: DebugUtilsMessengerCallbackDataFlagsEXT
,
DebugUtilsMessengerCallbackDataEXT -> Maybe ByteString
messageIdName :: Maybe ByteString
,
DebugUtilsMessengerCallbackDataEXT -> Int32
messageIdNumber :: Int32
,
DebugUtilsMessengerCallbackDataEXT -> ByteString
message :: ByteString
,
DebugUtilsMessengerCallbackDataEXT
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT)
queueLabels :: Vector DebugUtilsLabelEXT
,
DebugUtilsMessengerCallbackDataEXT
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT)
cmdBufLabels :: Vector DebugUtilsLabelEXT
,
DebugUtilsMessengerCallbackDataEXT
-> Vector DebugUtilsObjectNameInfoEXT
objects :: Vector DebugUtilsObjectNameInfoEXT
}
deriving (Typeable)
deriving instance Show DebugUtilsMessengerCallbackDataEXT
instance ToCStruct DebugUtilsMessengerCallbackDataEXT where
withCStruct :: DebugUtilsMessengerCallbackDataEXT
-> (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO b)
-> IO b
withCStruct x :: DebugUtilsMessengerCallbackDataEXT
x f :: ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO b
f = Int
-> Int
-> (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 96 8 ((("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO b)
-> IO b)
-> (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \p :: "pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> DebugUtilsMessengerCallbackDataEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p DebugUtilsMessengerCallbackDataEXT
x (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO b
f "pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p)
pokeCStruct :: ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> DebugUtilsMessengerCallbackDataEXT -> IO b -> IO b
pokeCStruct p :: "pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p DebugUtilsMessengerCallbackDataEXT{..} 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 (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT)
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 (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> 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 DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr DebugUtilsMessengerCallbackDataFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT)) (DebugUtilsMessengerCallbackDataFlagsEXT
flags)
Ptr CChar
pMessageIdName'' <- case (Maybe ByteString
messageIdName) of
Nothing -> Ptr CChar -> ContT b IO (Ptr CChar)
forall (f :: * -> *) a. Applicative f => a -> f a
pure Ptr CChar
forall a. Ptr a
nullPtr
Just j :: ByteString
j -> ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar))
-> ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall a b. (a -> b) -> a -> b
$ ByteString -> (Ptr CChar -> IO b) -> IO b
forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
j)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr CChar) -> Ptr CChar -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr (Ptr CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr (Ptr CChar))) Ptr CChar
pMessageIdName''
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 Int32 -> Int32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Int32)) (Int32
messageIdNumber)
Ptr CChar
pMessage'' <- ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar))
-> ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall a b. (a -> b) -> a -> b
$ ByteString -> (Ptr CChar -> IO b) -> IO b
forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
message)
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 CChar) -> Ptr CChar -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr (Ptr CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr (Ptr CChar))) Ptr CChar
pMessage''
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> 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 ("labelInfo" ::: DebugUtilsLabelEXT) -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> Int)
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> Int
forall a b. (a -> b) -> a -> b
$ (Vector ("labelInfo" ::: DebugUtilsLabelEXT)
queueLabels)) :: Word32))
"pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPQueueLabels' <- ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)))
-> ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. (a -> b) -> a -> b
$ Int
-> Int
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @DebugUtilsLabelEXT ((Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector ("labelInfo" ::: DebugUtilsLabelEXT)
queueLabels)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* 40) 8
(Int -> ("labelInfo" ::: DebugUtilsLabelEXT) -> ContT b IO ())
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\i :: Int
i e :: "labelInfo" ::: DebugUtilsLabelEXT
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
$ ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("labelInfo" ::: DebugUtilsLabelEXT) -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPQueueLabels' ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (40 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsLabelEXT) ("labelInfo" ::: DebugUtilsLabelEXT
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 ("labelInfo" ::: DebugUtilsLabelEXT)
queueLabels)
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 ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int
-> Ptr ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr (Ptr DebugUtilsLabelEXT))) ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPQueueLabels')
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 64 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> Int)
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> Int
forall a b. (a -> b) -> a -> b
$ (Vector ("labelInfo" ::: DebugUtilsLabelEXT)
cmdBufLabels)) :: Word32))
"pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPCmdBufLabels' <- ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)))
-> ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. (a -> b) -> a -> b
$ Int
-> Int
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @DebugUtilsLabelEXT ((Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector ("labelInfo" ::: DebugUtilsLabelEXT)
cmdBufLabels)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* 40) 8
(Int -> ("labelInfo" ::: DebugUtilsLabelEXT) -> ContT b IO ())
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\i :: Int
i e :: "labelInfo" ::: DebugUtilsLabelEXT
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
$ ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("labelInfo" ::: DebugUtilsLabelEXT) -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPCmdBufLabels' ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (40 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsLabelEXT) ("labelInfo" ::: DebugUtilsLabelEXT
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 ("labelInfo" ::: DebugUtilsLabelEXT)
cmdBufLabels)
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 ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int
-> Ptr ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72 :: Ptr (Ptr DebugUtilsLabelEXT))) ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPCmdBufLabels')
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 80 :: Ptr Word32)) ((Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Vector DebugUtilsObjectNameInfoEXT -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector DebugUtilsObjectNameInfoEXT -> Int)
-> Vector DebugUtilsObjectNameInfoEXT -> Int
forall a b. (a -> b) -> a -> b
$ (Vector DebugUtilsObjectNameInfoEXT
objects)) :: Word32))
"pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pPObjects' <- ((("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b)
-> ContT b IO ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b)
-> ContT b IO ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT))
-> ((("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b)
-> ContT b IO ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
forall a b. (a -> b) -> a -> b
$ Int
-> Int
-> (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @DebugUtilsObjectNameInfoEXT ((Vector DebugUtilsObjectNameInfoEXT -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector DebugUtilsObjectNameInfoEXT
objects)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* 40) 8
(Int -> DebugUtilsObjectNameInfoEXT -> ContT b IO ())
-> Vector DebugUtilsObjectNameInfoEXT -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\i :: Int
i e :: DebugUtilsObjectNameInfoEXT
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
$ ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> DebugUtilsObjectNameInfoEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pPObjects' ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (40 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsObjectNameInfoEXT) (DebugUtilsObjectNameInfoEXT
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 DebugUtilsObjectNameInfoEXT
objects)
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 ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 88 :: Ptr (Ptr DebugUtilsObjectNameInfoEXT))) ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pPObjects')
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 :: ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO b -> IO b
pokeZeroCStruct p :: "pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
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 (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT)
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 (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr CChar
pMessage'' <- ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar))
-> ((Ptr CChar -> IO b) -> IO b) -> ContT b IO (Ptr CChar)
forall a b. (a -> b) -> a -> b
$ ByteString -> (Ptr CChar -> IO b) -> IO b
forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
forall a. Monoid a => a
mempty)
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 CChar) -> Ptr CChar -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr (Ptr CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr (Ptr CChar))) Ptr CChar
pMessage''
"pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPQueueLabels' <- ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)))
-> ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. (a -> b) -> a -> b
$ Int
-> Int
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @DebugUtilsLabelEXT ((Vector Any -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector Any
forall a. Monoid a => a
mempty)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* 40) 8
(Int -> ("labelInfo" ::: DebugUtilsLabelEXT) -> ContT b IO ())
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\i :: Int
i e :: "labelInfo" ::: DebugUtilsLabelEXT
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
$ ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("labelInfo" ::: DebugUtilsLabelEXT) -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPQueueLabels' ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (40 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsLabelEXT) ("labelInfo" ::: DebugUtilsLabelEXT
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 ("labelInfo" ::: DebugUtilsLabelEXT)
forall a. Monoid a => a
mempty)
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 ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int
-> Ptr ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr (Ptr DebugUtilsLabelEXT))) ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPQueueLabels')
"pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPCmdBufLabels' <- ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)))
-> ((("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b)
-> ContT
b IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. (a -> b) -> a -> b
$ Int
-> Int
-> (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @DebugUtilsLabelEXT ((Vector Any -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector Any
forall a. Monoid a => a
mempty)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* 40) 8
(Int -> ("labelInfo" ::: DebugUtilsLabelEXT) -> ContT b IO ())
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT) -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\i :: Int
i e :: "labelInfo" ::: DebugUtilsLabelEXT
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
$ ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("labelInfo" ::: DebugUtilsLabelEXT) -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPCmdBufLabels' ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (40 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsLabelEXT) ("labelInfo" ::: DebugUtilsLabelEXT
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 ("labelInfo" ::: DebugUtilsLabelEXT)
forall a. Monoid a => a
mempty)
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 ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int
-> Ptr ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72 :: Ptr (Ptr DebugUtilsLabelEXT))) ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pPCmdBufLabels')
"pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pPObjects' <- ((("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b)
-> ContT b IO ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b)
-> ContT b IO ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT))
-> ((("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b)
-> ContT b IO ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
forall a b. (a -> b) -> a -> b
$ Int
-> Int
-> (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned @DebugUtilsObjectNameInfoEXT ((Vector Any -> Int
forall a. Vector a -> Int
Data.Vector.length (Vector Any
forall a. Monoid a => a
mempty)) Int -> Int -> Int
forall a. Num a => a -> a -> a
* 40) 8
(Int -> DebugUtilsObjectNameInfoEXT -> ContT b IO ())
-> Vector DebugUtilsObjectNameInfoEXT -> ContT b IO ()
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\i :: Int
i e :: DebugUtilsObjectNameInfoEXT
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
$ ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> DebugUtilsObjectNameInfoEXT -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pPObjects' ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (40 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsObjectNameInfoEXT) (DebugUtilsObjectNameInfoEXT
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 DebugUtilsObjectNameInfoEXT
forall a. Monoid a => a
mempty)
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 ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 88 :: Ptr (Ptr DebugUtilsObjectNameInfoEXT))) ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pPObjects')
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 FromCStruct DebugUtilsMessengerCallbackDataEXT where
peekCStruct :: ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> IO DebugUtilsMessengerCallbackDataEXT
peekCStruct p :: "pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p = do
DebugUtilsMessengerCallbackDataFlagsEXT
flags <- Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> IO DebugUtilsMessengerCallbackDataFlagsEXT
forall a. Storable a => Ptr a -> IO a
peek @DebugUtilsMessengerCallbackDataFlagsEXT (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr DebugUtilsMessengerCallbackDataFlagsEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT))
Ptr CChar
pMessageIdName <- Ptr (Ptr CChar) -> IO (Ptr CChar)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr CChar) (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr (Ptr CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr (Ptr CChar)))
Maybe ByteString
pMessageIdName' <- (Ptr CChar -> IO ByteString) -> Ptr CChar -> IO (Maybe ByteString)
forall a b. (Ptr a -> IO b) -> Ptr a -> IO (Maybe b)
maybePeek (\j :: Ptr CChar
j -> Ptr CChar -> IO ByteString
packCString (Ptr CChar
j)) Ptr CChar
pMessageIdName
Int32
messageIdNumber <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek @Int32 (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr Int32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Int32))
ByteString
pMessage <- Ptr CChar -> IO ByteString
packCString (Ptr CChar -> IO ByteString) -> IO (Ptr CChar) -> IO ByteString
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Ptr (Ptr CChar) -> IO (Ptr CChar)
forall a. Storable a => Ptr a -> IO a
peek (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr (Ptr CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr (Ptr CChar)))
Word32
queueLabelCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr Word32))
"pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pQueueLabels <- Ptr ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a. Storable a => Ptr a -> IO a
peek @(Ptr DebugUtilsLabelEXT) (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int
-> Ptr ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr (Ptr DebugUtilsLabelEXT)))
Vector ("labelInfo" ::: DebugUtilsLabelEXT)
pQueueLabels' <- Int
-> (Int -> IO ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO (Vector ("labelInfo" ::: DebugUtilsLabelEXT))
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
queueLabelCount) (\i :: Int
i -> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ("labelInfo" ::: DebugUtilsLabelEXT)
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @DebugUtilsLabelEXT (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pQueueLabels ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (40 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsLabelEXT)))
Word32
cmdBufLabelCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 64 :: Ptr Word32))
"pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pCmdBufLabels <- Ptr ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a. Storable a => Ptr a -> IO a
peek @(Ptr DebugUtilsLabelEXT) (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int
-> Ptr ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72 :: Ptr (Ptr DebugUtilsLabelEXT)))
Vector ("labelInfo" ::: DebugUtilsLabelEXT)
pCmdBufLabels' <- Int
-> (Int -> IO ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO (Vector ("labelInfo" ::: DebugUtilsLabelEXT))
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
cmdBufLabelCount) (\i :: Int
i -> ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> IO ("labelInfo" ::: DebugUtilsLabelEXT)
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @DebugUtilsLabelEXT (("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
pCmdBufLabels ("pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT))
-> Int -> "pLabelInfo" ::: Ptr ("labelInfo" ::: DebugUtilsLabelEXT)
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (40 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsLabelEXT)))
Word32
objectCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 80 :: Ptr Word32))
"pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pObjects <- Ptr ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> IO ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
forall a. Storable a => Ptr a -> IO a
peek @(Ptr DebugUtilsObjectNameInfoEXT) (("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT
p ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT)
-> Int -> Ptr ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 88 :: Ptr (Ptr DebugUtilsObjectNameInfoEXT)))
Vector DebugUtilsObjectNameInfoEXT
pObjects' <- Int
-> (Int -> IO DebugUtilsObjectNameInfoEXT)
-> IO (Vector DebugUtilsObjectNameInfoEXT)
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
objectCount) (\i :: Int
i -> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> IO DebugUtilsObjectNameInfoEXT
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @DebugUtilsObjectNameInfoEXT (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pObjects ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> Int -> "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (40 Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsObjectNameInfoEXT)))
DebugUtilsMessengerCallbackDataEXT
-> IO DebugUtilsMessengerCallbackDataEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (DebugUtilsMessengerCallbackDataEXT
-> IO DebugUtilsMessengerCallbackDataEXT)
-> DebugUtilsMessengerCallbackDataEXT
-> IO DebugUtilsMessengerCallbackDataEXT
forall a b. (a -> b) -> a -> b
$ DebugUtilsMessengerCallbackDataFlagsEXT
-> Maybe ByteString
-> Int32
-> ByteString
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT)
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT)
-> Vector DebugUtilsObjectNameInfoEXT
-> DebugUtilsMessengerCallbackDataEXT
DebugUtilsMessengerCallbackDataEXT
DebugUtilsMessengerCallbackDataFlagsEXT
flags Maybe ByteString
pMessageIdName' Int32
messageIdNumber ByteString
pMessage Vector ("labelInfo" ::: DebugUtilsLabelEXT)
pQueueLabels' Vector ("labelInfo" ::: DebugUtilsLabelEXT)
pCmdBufLabels' Vector DebugUtilsObjectNameInfoEXT
pObjects'
instance Zero DebugUtilsMessengerCallbackDataEXT where
zero :: DebugUtilsMessengerCallbackDataEXT
zero = DebugUtilsMessengerCallbackDataFlagsEXT
-> Maybe ByteString
-> Int32
-> ByteString
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT)
-> Vector ("labelInfo" ::: DebugUtilsLabelEXT)
-> Vector DebugUtilsObjectNameInfoEXT
-> DebugUtilsMessengerCallbackDataEXT
DebugUtilsMessengerCallbackDataEXT
DebugUtilsMessengerCallbackDataFlagsEXT
forall a. Zero a => a
zero
Maybe ByteString
forall a. Maybe a
Nothing
Int32
forall a. Zero a => a
zero
ByteString
forall a. Monoid a => a
mempty
Vector ("labelInfo" ::: DebugUtilsLabelEXT)
forall a. Monoid a => a
mempty
Vector ("labelInfo" ::: DebugUtilsLabelEXT)
forall a. Monoid a => a
mempty
Vector DebugUtilsObjectNameInfoEXT
forall a. Monoid a => a
mempty
newtype DebugUtilsMessengerCreateFlagsEXT = DebugUtilsMessengerCreateFlagsEXT Flags
deriving newtype (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
(DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool)
-> (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool)
-> Eq DebugUtilsMessengerCreateFlagsEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
$c/= :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
== :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
$c== :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
Eq, Eq DebugUtilsMessengerCreateFlagsEXT
Eq DebugUtilsMessengerCreateFlagsEXT =>
(DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Ordering)
-> (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool)
-> (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool)
-> (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool)
-> (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool)
-> (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT)
-> Ord DebugUtilsMessengerCreateFlagsEXT
DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Ordering
DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
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 :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
$cmin :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
max :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
$cmax :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
>= :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
$c>= :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
> :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
$c> :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
<= :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
$c<= :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
< :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
$c< :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
compare :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Ordering
$ccompare :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Ordering
$cp1Ord :: Eq DebugUtilsMessengerCreateFlagsEXT
Ord, Ptr b -> Int -> IO DebugUtilsMessengerCreateFlagsEXT
Ptr b -> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ()
Ptr DebugUtilsMessengerCreateFlagsEXT
-> IO DebugUtilsMessengerCreateFlagsEXT
Ptr DebugUtilsMessengerCreateFlagsEXT
-> Int -> IO DebugUtilsMessengerCreateFlagsEXT
Ptr DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ()
Ptr DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> IO ()
DebugUtilsMessengerCreateFlagsEXT -> Int
(DebugUtilsMessengerCreateFlagsEXT -> Int)
-> (DebugUtilsMessengerCreateFlagsEXT -> Int)
-> (Ptr DebugUtilsMessengerCreateFlagsEXT
-> Int -> IO DebugUtilsMessengerCreateFlagsEXT)
-> (Ptr DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ())
-> (forall b. Ptr b -> Int -> IO DebugUtilsMessengerCreateFlagsEXT)
-> (forall b.
Ptr b -> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ())
-> (Ptr DebugUtilsMessengerCreateFlagsEXT
-> IO DebugUtilsMessengerCreateFlagsEXT)
-> (Ptr DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> IO ())
-> Storable DebugUtilsMessengerCreateFlagsEXT
forall b. Ptr b -> Int -> IO DebugUtilsMessengerCreateFlagsEXT
forall b.
Ptr b -> Int -> DebugUtilsMessengerCreateFlagsEXT -> 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 DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> IO ()
$cpoke :: Ptr DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> IO ()
peek :: Ptr DebugUtilsMessengerCreateFlagsEXT
-> IO DebugUtilsMessengerCreateFlagsEXT
$cpeek :: Ptr DebugUtilsMessengerCreateFlagsEXT
-> IO DebugUtilsMessengerCreateFlagsEXT
pokeByteOff :: Ptr b -> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO DebugUtilsMessengerCreateFlagsEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DebugUtilsMessengerCreateFlagsEXT
pokeElemOff :: Ptr DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ()
$cpokeElemOff :: Ptr DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ()
peekElemOff :: Ptr DebugUtilsMessengerCreateFlagsEXT
-> Int -> IO DebugUtilsMessengerCreateFlagsEXT
$cpeekElemOff :: Ptr DebugUtilsMessengerCreateFlagsEXT
-> Int -> IO DebugUtilsMessengerCreateFlagsEXT
alignment :: DebugUtilsMessengerCreateFlagsEXT -> Int
$calignment :: DebugUtilsMessengerCreateFlagsEXT -> Int
sizeOf :: DebugUtilsMessengerCreateFlagsEXT -> Int
$csizeOf :: DebugUtilsMessengerCreateFlagsEXT -> Int
Storable, DebugUtilsMessengerCreateFlagsEXT
DebugUtilsMessengerCreateFlagsEXT
-> Zero DebugUtilsMessengerCreateFlagsEXT
forall a. a -> Zero a
zero :: DebugUtilsMessengerCreateFlagsEXT
$czero :: DebugUtilsMessengerCreateFlagsEXT
Zero, Eq DebugUtilsMessengerCreateFlagsEXT
DebugUtilsMessengerCreateFlagsEXT
Eq DebugUtilsMessengerCreateFlagsEXT =>
(DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> DebugUtilsMessengerCreateFlagsEXT
-> (Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT -> Int -> Bool)
-> (DebugUtilsMessengerCreateFlagsEXT -> Maybe Int)
-> (DebugUtilsMessengerCreateFlagsEXT -> Int)
-> (DebugUtilsMessengerCreateFlagsEXT -> Bool)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT)
-> (DebugUtilsMessengerCreateFlagsEXT -> Int)
-> Bits DebugUtilsMessengerCreateFlagsEXT
Int -> DebugUtilsMessengerCreateFlagsEXT
DebugUtilsMessengerCreateFlagsEXT -> Bool
DebugUtilsMessengerCreateFlagsEXT -> Int
DebugUtilsMessengerCreateFlagsEXT -> Maybe Int
DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
DebugUtilsMessengerCreateFlagsEXT -> Int -> Bool
DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
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 :: DebugUtilsMessengerCreateFlagsEXT -> Int
$cpopCount :: DebugUtilsMessengerCreateFlagsEXT -> Int
rotateR :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$crotateR :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
rotateL :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$crotateL :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
unsafeShiftR :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$cunsafeShiftR :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
shiftR :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$cshiftR :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
unsafeShiftL :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$cunsafeShiftL :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
shiftL :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$cshiftL :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
isSigned :: DebugUtilsMessengerCreateFlagsEXT -> Bool
$cisSigned :: DebugUtilsMessengerCreateFlagsEXT -> Bool
bitSize :: DebugUtilsMessengerCreateFlagsEXT -> Int
$cbitSize :: DebugUtilsMessengerCreateFlagsEXT -> Int
bitSizeMaybe :: DebugUtilsMessengerCreateFlagsEXT -> Maybe Int
$cbitSizeMaybe :: DebugUtilsMessengerCreateFlagsEXT -> Maybe Int
testBit :: DebugUtilsMessengerCreateFlagsEXT -> Int -> Bool
$ctestBit :: DebugUtilsMessengerCreateFlagsEXT -> Int -> Bool
complementBit :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$ccomplementBit :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
clearBit :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$cclearBit :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
setBit :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$csetBit :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
bit :: Int -> DebugUtilsMessengerCreateFlagsEXT
$cbit :: Int -> DebugUtilsMessengerCreateFlagsEXT
zeroBits :: DebugUtilsMessengerCreateFlagsEXT
$czeroBits :: DebugUtilsMessengerCreateFlagsEXT
rotate :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$crotate :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
shift :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
$cshift :: DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT
complement :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
$ccomplement :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
xor :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
$cxor :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
.|. :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
$c.|. :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
.&. :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
$c.&. :: DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT
$cp1Bits :: Eq DebugUtilsMessengerCreateFlagsEXT
Bits)
instance Show DebugUtilsMessengerCreateFlagsEXT where
showsPrec :: Int -> DebugUtilsMessengerCreateFlagsEXT -> ShowS
showsPrec p :: Int
p = \case
DebugUtilsMessengerCreateFlagsEXT x :: Word32
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "DebugUtilsMessengerCreateFlagsEXT 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 DebugUtilsMessengerCreateFlagsEXT where
readPrec :: ReadPrec DebugUtilsMessengerCreateFlagsEXT
readPrec = ReadPrec DebugUtilsMessengerCreateFlagsEXT
-> ReadPrec DebugUtilsMessengerCreateFlagsEXT
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec DebugUtilsMessengerCreateFlagsEXT)]
-> ReadPrec DebugUtilsMessengerCreateFlagsEXT
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose []
ReadPrec DebugUtilsMessengerCreateFlagsEXT
-> ReadPrec DebugUtilsMessengerCreateFlagsEXT
-> ReadPrec DebugUtilsMessengerCreateFlagsEXT
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
Int
-> ReadPrec DebugUtilsMessengerCreateFlagsEXT
-> ReadPrec DebugUtilsMessengerCreateFlagsEXT
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "DebugUtilsMessengerCreateFlagsEXT")
Word32
v <- ReadPrec Word32 -> ReadPrec Word32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Word32
forall a. Read a => ReadPrec a
readPrec
DebugUtilsMessengerCreateFlagsEXT
-> ReadPrec DebugUtilsMessengerCreateFlagsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Word32 -> DebugUtilsMessengerCreateFlagsEXT
DebugUtilsMessengerCreateFlagsEXT Word32
v)))
newtype DebugUtilsMessengerCallbackDataFlagsEXT = DebugUtilsMessengerCallbackDataFlagsEXT Flags
deriving newtype (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
(DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool)
-> Eq DebugUtilsMessengerCallbackDataFlagsEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
$c/= :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
== :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
$c== :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
Eq, Eq DebugUtilsMessengerCallbackDataFlagsEXT
Eq DebugUtilsMessengerCallbackDataFlagsEXT =>
(DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Ordering)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT)
-> Ord DebugUtilsMessengerCallbackDataFlagsEXT
DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Ordering
DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
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 :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
$cmin :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
max :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
$cmax :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
>= :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
$c>= :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
> :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
$c> :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
<= :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
$c<= :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
< :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
$c< :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
compare :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Ordering
$ccompare :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Ordering
$cp1Ord :: Eq DebugUtilsMessengerCallbackDataFlagsEXT
Ord, Ptr b -> Int -> IO DebugUtilsMessengerCallbackDataFlagsEXT
Ptr b -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> IO DebugUtilsMessengerCallbackDataFlagsEXT
Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> IO DebugUtilsMessengerCallbackDataFlagsEXT
Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
DebugUtilsMessengerCallbackDataFlagsEXT -> Int
(DebugUtilsMessengerCallbackDataFlagsEXT -> Int)
-> (DebugUtilsMessengerCallbackDataFlagsEXT -> Int)
-> (Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> IO DebugUtilsMessengerCallbackDataFlagsEXT)
-> (Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ())
-> (forall b.
Ptr b -> Int -> IO DebugUtilsMessengerCallbackDataFlagsEXT)
-> (forall b.
Ptr b -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ())
-> (Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> IO DebugUtilsMessengerCallbackDataFlagsEXT)
-> (Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ())
-> Storable DebugUtilsMessengerCallbackDataFlagsEXT
forall b.
Ptr b -> Int -> IO DebugUtilsMessengerCallbackDataFlagsEXT
forall b.
Ptr b -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> 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 DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
$cpoke :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
peek :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> IO DebugUtilsMessengerCallbackDataFlagsEXT
$cpeek :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> IO DebugUtilsMessengerCallbackDataFlagsEXT
pokeByteOff :: Ptr b -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO DebugUtilsMessengerCallbackDataFlagsEXT
$cpeekByteOff :: forall b.
Ptr b -> Int -> IO DebugUtilsMessengerCallbackDataFlagsEXT
pokeElemOff :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
$cpokeElemOff :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
peekElemOff :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> IO DebugUtilsMessengerCallbackDataFlagsEXT
$cpeekElemOff :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> IO DebugUtilsMessengerCallbackDataFlagsEXT
alignment :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
$calignment :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
sizeOf :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
$csizeOf :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
Storable, DebugUtilsMessengerCallbackDataFlagsEXT
DebugUtilsMessengerCallbackDataFlagsEXT
-> Zero DebugUtilsMessengerCallbackDataFlagsEXT
forall a. a -> Zero a
zero :: DebugUtilsMessengerCallbackDataFlagsEXT
$czero :: DebugUtilsMessengerCallbackDataFlagsEXT
Zero, Eq DebugUtilsMessengerCallbackDataFlagsEXT
DebugUtilsMessengerCallbackDataFlagsEXT
Eq DebugUtilsMessengerCallbackDataFlagsEXT =>
(DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> (Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> Bool)
-> (DebugUtilsMessengerCallbackDataFlagsEXT -> Maybe Int)
-> (DebugUtilsMessengerCallbackDataFlagsEXT -> Int)
-> (DebugUtilsMessengerCallbackDataFlagsEXT -> Bool)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT)
-> (DebugUtilsMessengerCallbackDataFlagsEXT -> Int)
-> Bits DebugUtilsMessengerCallbackDataFlagsEXT
Int -> DebugUtilsMessengerCallbackDataFlagsEXT
DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
DebugUtilsMessengerCallbackDataFlagsEXT -> Int
DebugUtilsMessengerCallbackDataFlagsEXT -> Maybe Int
DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> Bool
DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
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 :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
$cpopCount :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
rotateR :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$crotateR :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
rotateL :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$crotateL :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
unsafeShiftR :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$cunsafeShiftR :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
shiftR :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$cshiftR :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
unsafeShiftL :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$cunsafeShiftL :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
shiftL :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$cshiftL :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
isSigned :: DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
$cisSigned :: DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
bitSize :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
$cbitSize :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
bitSizeMaybe :: DebugUtilsMessengerCallbackDataFlagsEXT -> Maybe Int
$cbitSizeMaybe :: DebugUtilsMessengerCallbackDataFlagsEXT -> Maybe Int
testBit :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> Bool
$ctestBit :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int -> Bool
complementBit :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$ccomplementBit :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
clearBit :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$cclearBit :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
setBit :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$csetBit :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
bit :: Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$cbit :: Int -> DebugUtilsMessengerCallbackDataFlagsEXT
zeroBits :: DebugUtilsMessengerCallbackDataFlagsEXT
$czeroBits :: DebugUtilsMessengerCallbackDataFlagsEXT
rotate :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$crotate :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
shift :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
$cshift :: DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT
complement :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
$ccomplement :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
xor :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
$cxor :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
.|. :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
$c.|. :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
.&. :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
$c.&. :: DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT
$cp1Bits :: Eq DebugUtilsMessengerCallbackDataFlagsEXT
Bits)
instance Show DebugUtilsMessengerCallbackDataFlagsEXT where
showsPrec :: Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> ShowS
showsPrec p :: Int
p = \case
DebugUtilsMessengerCallbackDataFlagsEXT x :: Word32
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "DebugUtilsMessengerCallbackDataFlagsEXT 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 DebugUtilsMessengerCallbackDataFlagsEXT where
readPrec :: ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
readPrec = ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
-> ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT)]
-> ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose []
ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
-> ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
-> ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
Int
-> ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
-> ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "DebugUtilsMessengerCallbackDataFlagsEXT")
Word32
v <- ReadPrec Word32 -> ReadPrec Word32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Word32
forall a. Read a => ReadPrec a
readPrec
DebugUtilsMessengerCallbackDataFlagsEXT
-> ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Word32 -> DebugUtilsMessengerCallbackDataFlagsEXT
DebugUtilsMessengerCallbackDataFlagsEXT Word32
v)))
newtype DebugUtilsMessageSeverityFlagBitsEXT = DebugUtilsMessageSeverityFlagBitsEXT Flags
deriving newtype (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
(DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool)
-> Eq DebugUtilsMessageSeverityFlagBitsEXT
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
$c/= :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
== :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
$c== :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
Eq, Eq DebugUtilsMessageSeverityFlagBitsEXT
Eq DebugUtilsMessageSeverityFlagBitsEXT =>
(DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Ordering)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT)
-> Ord DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Ordering
DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
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 :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
$cmin :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
max :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
$cmax :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
>= :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
$c>= :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
> :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
$c> :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
<= :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
$c<= :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
< :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
$c< :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
compare :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Ordering
$ccompare :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Ordering
$cp1Ord :: Eq DebugUtilsMessageSeverityFlagBitsEXT
Ord, Ptr b -> Int -> IO DebugUtilsMessageSeverityFlagBitsEXT
Ptr b -> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> IO DebugUtilsMessageSeverityFlagBitsEXT
Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> IO DebugUtilsMessageSeverityFlagBitsEXT
Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
DebugUtilsMessageSeverityFlagBitsEXT -> Int
(DebugUtilsMessageSeverityFlagBitsEXT -> Int)
-> (DebugUtilsMessageSeverityFlagBitsEXT -> Int)
-> (Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> IO DebugUtilsMessageSeverityFlagBitsEXT)
-> (Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ())
-> (forall b.
Ptr b -> Int -> IO DebugUtilsMessageSeverityFlagBitsEXT)
-> (forall b.
Ptr b -> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ())
-> (Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> IO DebugUtilsMessageSeverityFlagBitsEXT)
-> (Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> IO ())
-> Storable DebugUtilsMessageSeverityFlagBitsEXT
forall b. Ptr b -> Int -> IO DebugUtilsMessageSeverityFlagBitsEXT
forall b.
Ptr b -> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> 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 DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
$cpoke :: Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
peek :: Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> IO DebugUtilsMessageSeverityFlagBitsEXT
$cpeek :: Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> IO DebugUtilsMessageSeverityFlagBitsEXT
pokeByteOff :: Ptr b -> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
peekByteOff :: Ptr b -> Int -> IO DebugUtilsMessageSeverityFlagBitsEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DebugUtilsMessageSeverityFlagBitsEXT
pokeElemOff :: Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
$cpokeElemOff :: Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
peekElemOff :: Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> IO DebugUtilsMessageSeverityFlagBitsEXT
$cpeekElemOff :: Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> IO DebugUtilsMessageSeverityFlagBitsEXT
alignment :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
$calignment :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
sizeOf :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
$csizeOf :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
Storable, DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT
-> Zero DebugUtilsMessageSeverityFlagBitsEXT
forall a. a -> Zero a
zero :: DebugUtilsMessageSeverityFlagBitsEXT
$czero :: DebugUtilsMessageSeverityFlagBitsEXT
Zero, Eq DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT
Eq DebugUtilsMessageSeverityFlagBitsEXT =>
(DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> DebugUtilsMessageSeverityFlagBitsEXT
-> (Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT -> Int -> Bool)
-> (DebugUtilsMessageSeverityFlagBitsEXT -> Maybe Int)
-> (DebugUtilsMessageSeverityFlagBitsEXT -> Int)
-> (DebugUtilsMessageSeverityFlagBitsEXT -> Bool)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT)
-> (DebugUtilsMessageSeverityFlagBitsEXT -> Int)
-> Bits DebugUtilsMessageSeverityFlagBitsEXT
Int -> DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT -> Bool
DebugUtilsMessageSeverityFlagBitsEXT -> Int
DebugUtilsMessageSeverityFlagBitsEXT -> Maybe Int
DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT -> Int -> Bool
DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
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 :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
$cpopCount :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
rotateR :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$crotateR :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
rotateL :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$crotateL :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
unsafeShiftR :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$cunsafeShiftR :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
shiftR :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$cshiftR :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
unsafeShiftL :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$cunsafeShiftL :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
shiftL :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$cshiftL :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
isSigned :: DebugUtilsMessageSeverityFlagBitsEXT -> Bool
$cisSigned :: DebugUtilsMessageSeverityFlagBitsEXT -> Bool
bitSize :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
$cbitSize :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
bitSizeMaybe :: DebugUtilsMessageSeverityFlagBitsEXT -> Maybe Int
$cbitSizeMaybe :: DebugUtilsMessageSeverityFlagBitsEXT -> Maybe Int
testBit :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> Bool
$ctestBit :: DebugUtilsMessageSeverityFlagBitsEXT -> Int -> Bool
complementBit :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$ccomplementBit :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
clearBit :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$cclearBit :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
setBit :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$csetBit :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
bit :: Int -> DebugUtilsMessageSeverityFlagBitsEXT
$cbit :: Int -> DebugUtilsMessageSeverityFlagBitsEXT
zeroBits :: DebugUtilsMessageSeverityFlagBitsEXT
$czeroBits :: DebugUtilsMessageSeverityFlagBitsEXT
rotate :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$crotate :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
shift :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
$cshift :: DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT
complement :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
$ccomplement :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
xor :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
$cxor :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
.|. :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
$c.|. :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
.&. :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
$c.&. :: DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
$cp1Bits :: Eq DebugUtilsMessageSeverityFlagBitsEXT
Bits)
pattern $bDEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
$mDEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: forall r.
DebugUtilsMessageSeverityFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT = DebugUtilsMessageSeverityFlagBitsEXT 0x00000001
pattern $bDEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
$mDEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: forall r.
DebugUtilsMessageSeverityFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT = DebugUtilsMessageSeverityFlagBitsEXT 0x00000010
pattern $bDEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
$mDEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: forall r.
DebugUtilsMessageSeverityFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT = DebugUtilsMessageSeverityFlagBitsEXT 0x00000100
pattern $bDEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
$mDEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: forall r.
DebugUtilsMessageSeverityFlagBitsEXT
-> (Void# -> r) -> (Void# -> r) -> r
DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = DebugUtilsMessageSeverityFlagBitsEXT 0x00001000
type DebugUtilsMessageSeverityFlagsEXT = DebugUtilsMessageSeverityFlagBitsEXT
instance Show DebugUtilsMessageSeverityFlagBitsEXT where
showsPrec :: Int -> DebugUtilsMessageSeverityFlagBitsEXT -> ShowS
showsPrec p :: Int
p = \case
DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT -> String -> ShowS
showString "DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT"
DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT -> String -> ShowS
showString "DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT"
DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT -> String -> ShowS
showString "DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT"
DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT -> String -> ShowS
showString "DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT"
DebugUtilsMessageSeverityFlagBitsEXT x :: Word32
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "DebugUtilsMessageSeverityFlagBitsEXT 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 DebugUtilsMessageSeverityFlagBitsEXT where
readPrec :: ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
readPrec = ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec DebugUtilsMessageSeverityFlagBitsEXT)]
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [("DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT", DebugUtilsMessageSeverityFlagBitsEXT
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure DebugUtilsMessageSeverityFlagBitsEXT
DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT)
, ("DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT", DebugUtilsMessageSeverityFlagBitsEXT
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure DebugUtilsMessageSeverityFlagBitsEXT
DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT)
, ("DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT", DebugUtilsMessageSeverityFlagBitsEXT
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure DebugUtilsMessageSeverityFlagBitsEXT
DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT)
, ("DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT", DebugUtilsMessageSeverityFlagBitsEXT
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure DebugUtilsMessageSeverityFlagBitsEXT
DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT)]
ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
Int
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "DebugUtilsMessageSeverityFlagBitsEXT")
Word32
v <- ReadPrec Word32 -> ReadPrec Word32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Word32
forall a. Read a => ReadPrec a
readPrec
DebugUtilsMessageSeverityFlagBitsEXT
-> ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Word32 -> DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT Word32
v)))
newtype DebugUtilsMessageTypeFlagBitsEXT = DebugUtilsMessageTypeFlagBitsEXT Flags
deriving newtype (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
(("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool)
-> Eq ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
$c/= :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
== :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
$c== :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
Eq, Eq ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
Eq ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) =>
(("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Ordering)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Ord ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Ordering
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
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 :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cmin :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
max :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cmax :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
>= :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
$c>= :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
> :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
$c> :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
<= :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
$c<= :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
< :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
$c< :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
compare :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Ordering
$ccompare :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Ordering
$cp1Ord :: Eq ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
Ord, Ptr b
-> Int -> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
Ptr b
-> Int
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ()
Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ()
Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> IO ()
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int
(("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int)
-> (Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT))
-> (Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ())
-> (forall b.
Ptr b
-> Int -> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT))
-> (forall b.
Ptr b
-> Int
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ())
-> (Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT))
-> (Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> IO ())
-> Storable ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall b.
Ptr b
-> Int -> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall b.
Ptr b
-> Int
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> 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 ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> IO ()
$cpoke :: Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> IO ()
peek :: Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
$cpeek :: Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
pokeByteOff :: Ptr b
-> Int
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ()
$cpokeByteOff :: forall b.
Ptr b
-> Int
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ()
peekByteOff :: Ptr b
-> Int -> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
$cpeekByteOff :: forall b.
Ptr b
-> Int -> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
pokeElemOff :: Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ()
$cpokeElemOff :: Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> IO ()
peekElemOff :: Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
$cpeekElemOff :: Ptr ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> IO ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
alignment :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int
$calignment :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int
sizeOf :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int
$csizeOf :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int
Storable, "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Zero ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall a. a -> Zero a
zero :: "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$czero :: "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
Zero, Eq ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
"messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
Eq ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) =>
(("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> Bool)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Maybe Int)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int)
-> Bits ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Maybe Int
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int -> Bool
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
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 :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int
$cpopCount :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int
rotateR :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$crotateR :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
rotateL :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$crotateL :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
unsafeShiftR :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cunsafeShiftR :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
shiftR :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cshiftR :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
unsafeShiftL :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cunsafeShiftL :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
shiftL :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cshiftL :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
isSigned :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
$cisSigned :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Bool
bitSize :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int
$cbitSize :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int
bitSizeMaybe :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Maybe Int
$cbitSizeMaybe :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Maybe Int
testBit :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int -> Bool
$ctestBit :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> Int -> Bool
complementBit :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$ccomplementBit :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
clearBit :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cclearBit :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
setBit :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$csetBit :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
bit :: Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cbit :: Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
zeroBits :: "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$czeroBits :: "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
rotate :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$crotate :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
shift :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cshift :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> Int -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
complement :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$ccomplement :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
xor :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cxor :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
.|. :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$c.|. :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
.&. :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$c.&. :: ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$cp1Bits :: Eq ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
Bits)
pattern $bDEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$mDEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: forall r.
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (Void# -> r) -> (Void# -> r) -> r
DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = DebugUtilsMessageTypeFlagBitsEXT 0x00000001
pattern $bDEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$mDEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: forall r.
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (Void# -> r) -> (Void# -> r) -> r
DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = DebugUtilsMessageTypeFlagBitsEXT 0x00000002
pattern $bDEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
$mDEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: forall r.
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> (Void# -> r) -> (Void# -> r) -> r
DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = DebugUtilsMessageTypeFlagBitsEXT 0x00000004
type DebugUtilsMessageTypeFlagsEXT = DebugUtilsMessageTypeFlagBitsEXT
instance Show DebugUtilsMessageTypeFlagBitsEXT where
showsPrec :: Int -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> ShowS
showsPrec p :: Int
p = \case
DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT -> String -> ShowS
showString "DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT"
DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT -> String -> ShowS
showString "DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT"
DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT -> String -> ShowS
showString "DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT"
DebugUtilsMessageTypeFlagBitsEXT x :: Word32
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "DebugUtilsMessageTypeFlagBitsEXT 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 DebugUtilsMessageTypeFlagBitsEXT where
readPrec :: ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
readPrec = ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall a. ReadPrec a -> ReadPrec a
parens ([(String,
ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT))]
-> ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [("DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT", ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall (f :: * -> *) a. Applicative f => a -> f a
pure "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT)
, ("DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT", ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall (f :: * -> *) a. Applicative f => a -> f a
pure "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT)
, ("DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT", ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall (f :: * -> *) a. Applicative f => a -> f a
pure "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT)]
ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
Int
-> ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "DebugUtilsMessageTypeFlagBitsEXT")
Word32
v <- ReadPrec Word32 -> ReadPrec Word32
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Word32
forall a. Read a => ReadPrec a
readPrec
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
-> ReadPrec ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Word32 -> "messageTypes" ::: DebugUtilsMessageTypeFlagsEXT
DebugUtilsMessageTypeFlagBitsEXT Word32
v)))
type FN_vkDebugUtilsMessengerCallbackEXT = DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO Bool32
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr FN_vkDebugUtilsMessengerCallbackEXT
type EXT_DEBUG_UTILS_SPEC_VERSION = 2
pattern EXT_DEBUG_UTILS_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_DEBUG_UTILS_SPEC_VERSION :: a
$mEXT_DEBUG_UTILS_SPEC_VERSION :: forall r a. Integral a => a -> (Void# -> r) -> (Void# -> r) -> r
EXT_DEBUG_UTILS_SPEC_VERSION = 2
type EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils"
pattern EXT_DEBUG_UTILS_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_DEBUG_UTILS_EXTENSION_NAME :: a
$mEXT_DEBUG_UTILS_EXTENSION_NAME :: forall r a.
(Eq a, IsString a) =>
a -> (Void# -> r) -> (Void# -> r) -> r
EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils"