{-# 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(..)
, DebugUtilsMessageSeverityFlagsEXT
, 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
, ..
)
, DebugUtilsMessageTypeFlagsEXT
, DebugUtilsMessageTypeFlagBitsEXT( DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT
, DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT
, DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT
, DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT
, ..
)
, 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 Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.CStruct.Utils (FixedArray)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Exception.Base (bracket)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import Data.Typeable (eqT)
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Marshal.Alloc (callocBytes)
import Foreign.Marshal.Alloc (free)
import Foreign.Marshal.Utils (maybePeek)
import GHC.Base (when)
import GHC.IO (throwIO)
import GHC.Ptr (castPtr)
import GHC.Ptr (nullFunPtr)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showString)
import Numeric (showHex)
import Data.ByteString (packCString)
import Data.ByteString (useAsCString)
import Data.Coerce (coerce)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Data.Vector (generateM)
import qualified Data.Vector (imapM_)
import qualified Data.Vector (length)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
import Vulkan.Zero (Zero(..))
import Control.Monad.IO.Class (MonadIO)
import Data.String (IsString)
import Data.Type.Equality ((:~:)(Refl))
import Data.Typeable (Typeable)
import Foreign.C.Types (CChar)
import Foreign.C.Types (CFloat)
import Foreign.C.Types (CFloat(..))
import Foreign.C.Types (CFloat(CFloat))
import Foreign.C.Types (CSize)
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.Generics (Generic)
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 GHC.Show (Show(showsPrec))
import Data.Word (Word32)
import Data.Word (Word64)
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.Extends (forgetExtensions)
import Vulkan.CStruct.Utils (lowerArrayPtr)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.CStruct.Extends (Chain)
import Vulkan.Core10.Handles (CommandBuffer)
import Vulkan.Core10.Handles (CommandBuffer(..))
import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
import Vulkan.Core10.Handles (CommandBuffer_T)
import Vulkan.Extensions.Handles (DebugUtilsMessengerEXT)
import Vulkan.Extensions.Handles (DebugUtilsMessengerEXT(..))
import Vulkan.Core10.Handles (Device)
import Vulkan.Core10.Handles (Device(..))
import Vulkan.Core10.Handles (Device(Device))
import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_device_address_binding_report (DeviceAddressBindingCallbackDataEXT)
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.CStruct.Extends (Extends)
import Vulkan.CStruct.Extends (Extendss)
import Vulkan.CStruct.Extends (Extensible(..))
import Vulkan.Core10.FundamentalTypes (Flags)
import Vulkan.Core10.Handles (Instance)
import Vulkan.Core10.Handles (Instance(..))
import Vulkan.Core10.Handles (Instance(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.CStruct.Extends (PeekChain)
import Vulkan.CStruct.Extends (PeekChain(..))
import Vulkan.CStruct.Extends (PokeChain)
import Vulkan.CStruct.Extends (PokeChain(..))
import Vulkan.Core10.Handles (Queue)
import Vulkan.Core10.Handles (Queue(..))
import Vulkan.Core10.Handles (Queue(Queue))
import Vulkan.Core10.Handles (Queue_T)
import Vulkan.Core10.Enums.Result (Result)
import Vulkan.Core10.Enums.Result (Result(..))
import Vulkan.CStruct.Extends (SomeStruct)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Exception (VulkanException(..))
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 :: forall (io :: * -> *).
MonadIO io =>
Device -> DebugUtilsObjectNameInfoEXT -> io ()
setDebugUtilsObjectNameEXT Device
device DebugUtilsObjectNameInfoEXT
nameInfo = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT 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 (case Device
device of Device{DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result)
vkSetDebugUtilsObjectNameEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkSetDebugUtilsObjectNameEXT is null" forall a. Maybe a
Nothing 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 <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsObjectNameInfoEXT
nameInfo)
Result
r <- forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkSetDebugUtilsObjectNameEXT" (Ptr Device_T
-> ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO Result
vkSetDebugUtilsObjectNameEXT'
(Device -> Ptr Device_T
deviceHandle (Device
device))
"pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pNameInfo)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (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 :: forall (io :: * -> *).
MonadIO io =>
Device -> DebugUtilsObjectTagInfoEXT -> io ()
setDebugUtilsObjectTagEXT Device
device DebugUtilsObjectTagInfoEXT
tagInfo = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT 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 (case Device
device of Device{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:Device :: Device -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result)
vkSetDebugUtilsObjectTagEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkSetDebugUtilsObjectTagEXT is null" forall a. Maybe a
Nothing 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 <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsObjectTagInfoEXT
tagInfo)
Result
r <- forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkSetDebugUtilsObjectTagEXT" (Ptr Device_T
-> ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO Result
vkSetDebugUtilsObjectTagEXT'
(Device -> Ptr Device_T
deviceHandle (Device
device))
"pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
pTagInfo)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (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 :: forall (io :: * -> *).
MonadIO io =>
Queue -> DebugUtilsLabelEXT -> io ()
queueBeginDebugUtilsLabelEXT Queue
queue DebugUtilsLabelEXT
labelInfo = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
let vkQueueBeginDebugUtilsLabelEXTPtr :: FunPtr
(Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkQueueBeginDebugUtilsLabelEXTPtr = DeviceCmds
-> FunPtr
(Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
pVkQueueBeginDebugUtilsLabelEXT (case Queue
queue of Queue{DeviceCmds
$sel:deviceCmds:Queue :: Queue -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkQueueBeginDebugUtilsLabelEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkQueueBeginDebugUtilsLabelEXT is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkQueueBeginDebugUtilsLabelEXT' :: Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()
vkQueueBeginDebugUtilsLabelEXT' = FunPtr
(Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
-> Ptr Queue_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT)
-> IO ()
mkVkQueueBeginDebugUtilsLabelEXT FunPtr
(Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkQueueBeginDebugUtilsLabelEXTPtr
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pLabelInfo <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsLabelEXT
labelInfo)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkQueueBeginDebugUtilsLabelEXT" (Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()
vkQueueBeginDebugUtilsLabelEXT'
(Queue -> Ptr Queue_T
queueHandle (Queue
queue))
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pLabelInfo)
forall (f :: * -> *) a. Applicative f => a -> f a
pure 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 :: forall (io :: * -> *). MonadIO io => Queue -> io ()
queueEndDebugUtilsLabelEXT Queue
queue = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let vkQueueEndDebugUtilsLabelEXTPtr :: FunPtr (Ptr Queue_T -> IO ())
vkQueueEndDebugUtilsLabelEXTPtr = DeviceCmds -> FunPtr (Ptr Queue_T -> IO ())
pVkQueueEndDebugUtilsLabelEXT (case Queue
queue of Queue{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:Queue :: Queue -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr (Ptr Queue_T -> IO ())
vkQueueEndDebugUtilsLabelEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkQueueEndDebugUtilsLabelEXT is null" forall a. Maybe a
Nothing 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
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkQueueEndDebugUtilsLabelEXT" (Ptr Queue_T -> IO ()
vkQueueEndDebugUtilsLabelEXT'
(Queue -> Ptr Queue_T
queueHandle (Queue
queue)))
forall (f :: * -> *) a. Applicative f => a -> f a
pure 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 :: forall (io :: * -> *).
MonadIO io =>
Queue -> DebugUtilsLabelEXT -> io ()
queueInsertDebugUtilsLabelEXT Queue
queue DebugUtilsLabelEXT
labelInfo = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
let vkQueueInsertDebugUtilsLabelEXTPtr :: FunPtr
(Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkQueueInsertDebugUtilsLabelEXTPtr = DeviceCmds
-> FunPtr
(Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
pVkQueueInsertDebugUtilsLabelEXT (case Queue
queue of Queue{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:Queue :: Queue -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkQueueInsertDebugUtilsLabelEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkQueueInsertDebugUtilsLabelEXT is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkQueueInsertDebugUtilsLabelEXT' :: Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()
vkQueueInsertDebugUtilsLabelEXT' = FunPtr
(Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
-> Ptr Queue_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT)
-> IO ()
mkVkQueueInsertDebugUtilsLabelEXT FunPtr
(Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkQueueInsertDebugUtilsLabelEXTPtr
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pLabelInfo <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsLabelEXT
labelInfo)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkQueueInsertDebugUtilsLabelEXT" (Ptr Queue_T -> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()
vkQueueInsertDebugUtilsLabelEXT'
(Queue -> Ptr Queue_T
queueHandle (Queue
queue))
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pLabelInfo)
forall (f :: * -> *) a. Applicative f => a -> f a
pure 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 :: forall (io :: * -> *).
MonadIO io =>
CommandBuffer -> DebugUtilsLabelEXT -> io ()
cmdBeginDebugUtilsLabelEXT CommandBuffer
commandBuffer DebugUtilsLabelEXT
labelInfo = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
let vkCmdBeginDebugUtilsLabelEXTPtr :: FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkCmdBeginDebugUtilsLabelEXTPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
pVkCmdBeginDebugUtilsLabelEXT (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkCmdBeginDebugUtilsLabelEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdBeginDebugUtilsLabelEXT is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkCmdBeginDebugUtilsLabelEXT' :: Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()
vkCmdBeginDebugUtilsLabelEXT' = FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
-> Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT)
-> IO ()
mkVkCmdBeginDebugUtilsLabelEXT FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkCmdBeginDebugUtilsLabelEXTPtr
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pLabelInfo <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsLabelEXT
labelInfo)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdBeginDebugUtilsLabelEXT" (Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()
vkCmdBeginDebugUtilsLabelEXT'
(CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer))
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pLabelInfo)
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ()
cmdUseDebugUtilsLabelEXT :: forall io r . MonadIO io => CommandBuffer -> DebugUtilsLabelEXT -> io r -> io r
cmdUseDebugUtilsLabelEXT :: forall (io :: * -> *) r.
MonadIO io =>
CommandBuffer -> DebugUtilsLabelEXT -> io r -> io r
cmdUseDebugUtilsLabelEXT CommandBuffer
commandBuffer DebugUtilsLabelEXT
pLabelInfo io r
a =
(forall (io :: * -> *).
MonadIO io =>
CommandBuffer -> DebugUtilsLabelEXT -> io ()
cmdBeginDebugUtilsLabelEXT CommandBuffer
commandBuffer
DebugUtilsLabelEXT
pLabelInfo) forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
*> io r
a forall (f :: * -> *) a b. Applicative f => f a -> f b -> f a
<* (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 :: forall (io :: * -> *). MonadIO io => CommandBuffer -> io ()
cmdEndDebugUtilsLabelEXT CommandBuffer
commandBuffer = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let vkCmdEndDebugUtilsLabelEXTPtr :: FunPtr (Ptr CommandBuffer_T -> IO ())
vkCmdEndDebugUtilsLabelEXTPtr = DeviceCmds -> FunPtr (Ptr CommandBuffer_T -> IO ())
pVkCmdEndDebugUtilsLabelEXT (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr (Ptr CommandBuffer_T -> IO ())
vkCmdEndDebugUtilsLabelEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdEndDebugUtilsLabelEXT is null" forall a. Maybe a
Nothing 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
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdEndDebugUtilsLabelEXT" (Ptr CommandBuffer_T -> IO ()
vkCmdEndDebugUtilsLabelEXT'
(CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)))
forall (f :: * -> *) a. Applicative f => a -> f a
pure 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 :: forall (io :: * -> *).
MonadIO io =>
CommandBuffer -> DebugUtilsLabelEXT -> io ()
cmdInsertDebugUtilsLabelEXT CommandBuffer
commandBuffer DebugUtilsLabelEXT
labelInfo = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
let vkCmdInsertDebugUtilsLabelEXTPtr :: FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkCmdInsertDebugUtilsLabelEXTPtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
pVkCmdInsertDebugUtilsLabelEXT (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkCmdInsertDebugUtilsLabelEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdInsertDebugUtilsLabelEXT is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkCmdInsertDebugUtilsLabelEXT' :: Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()
vkCmdInsertDebugUtilsLabelEXT' = FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
-> Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT)
-> IO ()
mkVkCmdInsertDebugUtilsLabelEXT FunPtr
(Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ())
vkCmdInsertDebugUtilsLabelEXTPtr
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pLabelInfo <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsLabelEXT
labelInfo)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdInsertDebugUtilsLabelEXT" (Ptr CommandBuffer_T
-> ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO ()
vkCmdInsertDebugUtilsLabelEXT'
(CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer))
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pLabelInfo)
forall (f :: * -> *) a. Applicative f => a -> f a
pure 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 :: forall (io :: * -> *).
MonadIO io =>
Instance
-> DebugUtilsMessengerCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io DebugUtilsMessengerEXT
createDebugUtilsMessengerEXT Instance
instance'
DebugUtilsMessengerCreateInfoEXT
createInfo
"allocator" ::: Maybe AllocationCallbacks
allocator = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT 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 (case Instance
instance' of Instance{InstanceCmds
$sel:instanceCmds:Instance :: Instance -> InstanceCmds
instanceCmds :: InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Instance_T
-> ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> ("pMessenger" ::: Ptr DebugUtilsMessengerEXT)
-> IO Result)
vkCreateDebugUtilsMessengerEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCreateDebugUtilsMessengerEXT is null" forall a. Maybe a
Nothing 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 <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ 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
"allocator" ::: Maybe AllocationCallbacks
Nothing -> forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a. Ptr a
nullPtr
Just AllocationCallbacks
j -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
"pMessenger" ::: Ptr DebugUtilsMessengerEXT
pPMessenger <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b c. IO a -> (a -> IO b) -> (a -> IO c) -> IO c
bracket (forall a. Int -> IO (Ptr a)
callocBytes @DebugUtilsMessengerEXT Int
8) forall a. Ptr a -> IO ()
free
Result
r <- forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCreateDebugUtilsMessengerEXT" (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))
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
when (Result
r forall a. Ord a => a -> a -> Bool
< Result
SUCCESS) (forall e a. Exception e => e -> IO a
throwIO (Result -> VulkanException
VulkanException Result
r))
DebugUtilsMessengerEXT
pMessenger <- forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> IO a
peek @DebugUtilsMessengerEXT "pMessenger" ::: Ptr DebugUtilsMessengerEXT
pPMessenger
forall (f :: * -> *) a. Applicative f => a -> f a
pure 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 :: forall (io :: * -> *) r.
MonadIO io =>
Instance
-> DebugUtilsMessengerCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> (io DebugUtilsMessengerEXT
-> (DebugUtilsMessengerEXT -> io ()) -> r)
-> r
withDebugUtilsMessengerEXT Instance
instance' DebugUtilsMessengerCreateInfoEXT
pCreateInfo "allocator" ::: Maybe AllocationCallbacks
pAllocator io DebugUtilsMessengerEXT -> (DebugUtilsMessengerEXT -> io ()) -> r
b =
io DebugUtilsMessengerEXT -> (DebugUtilsMessengerEXT -> io ()) -> r
b (forall (io :: * -> *).
MonadIO io =>
Instance
-> DebugUtilsMessengerCreateInfoEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io DebugUtilsMessengerEXT
createDebugUtilsMessengerEXT Instance
instance' DebugUtilsMessengerCreateInfoEXT
pCreateInfo "allocator" ::: Maybe AllocationCallbacks
pAllocator)
(\(DebugUtilsMessengerEXT
o0) -> 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 :: forall (io :: * -> *).
MonadIO io =>
Instance
-> DebugUtilsMessengerEXT
-> ("allocator" ::: Maybe AllocationCallbacks)
-> io ()
destroyDebugUtilsMessengerEXT Instance
instance'
DebugUtilsMessengerEXT
messenger
"allocator" ::: Maybe AllocationCallbacks
allocator = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT 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 (case Instance
instance' of Instance{InstanceCmds
instanceCmds :: InstanceCmds
$sel:instanceCmds:Instance :: Instance -> InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ())
vkDestroyDebugUtilsMessengerEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkDestroyDebugUtilsMessengerEXT is null" forall a. Maybe a
Nothing 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
"allocator" ::: Maybe AllocationCallbacks
Nothing -> forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a. Ptr a
nullPtr
Just AllocationCallbacks
j -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (AllocationCallbacks
j)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkDestroyDebugUtilsMessengerEXT" (Ptr Instance_T
-> DebugUtilsMessengerEXT
-> ("pAllocator" ::: Ptr AllocationCallbacks)
-> IO ()
vkDestroyDebugUtilsMessengerEXT'
(Instance -> Ptr Instance_T
instanceHandle (Instance
instance'))
(DebugUtilsMessengerEXT
messenger)
"pAllocator" ::: Ptr AllocationCallbacks
pAllocator)
forall (f :: * -> *) a. Applicative f => a -> f a
pure 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 (SomeStruct DebugUtilsMessengerCallbackDataEXT) -> IO ()) -> Ptr Instance_T -> DebugUtilsMessageSeverityFlagBitsEXT -> DebugUtilsMessageTypeFlagsEXT -> Ptr (SomeStruct DebugUtilsMessengerCallbackDataEXT) -> IO ()
submitDebugUtilsMessageEXT :: forall a io
. ( Extendss DebugUtilsMessengerCallbackDataEXT a
, PokeChain a
, MonadIO io )
=>
Instance
->
DebugUtilsMessageSeverityFlagBitsEXT
->
("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT)
->
(DebugUtilsMessengerCallbackDataEXT a)
-> io ()
submitDebugUtilsMessageEXT :: forall (a :: [*]) (io :: * -> *).
(Extendss DebugUtilsMessengerCallbackDataEXT a, PokeChain a,
MonadIO io) =>
Instance
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessengerCallbackDataEXT a
-> io ()
submitDebugUtilsMessageEXT Instance
instance'
DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity
DebugUtilsMessageTypeFlagBitsEXT
messageTypes
DebugUtilsMessengerCallbackDataEXT a
callbackData = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
let vkSubmitDebugUtilsMessageEXTPtr :: FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> ("pCallbackData"
::: Ptr (SomeStruct DebugUtilsMessengerCallbackDataEXT))
-> IO ())
vkSubmitDebugUtilsMessageEXTPtr = InstanceCmds
-> FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> ("pCallbackData"
::: Ptr (SomeStruct DebugUtilsMessengerCallbackDataEXT))
-> IO ())
pVkSubmitDebugUtilsMessageEXT (case Instance
instance' of Instance{InstanceCmds
instanceCmds :: InstanceCmds
$sel:instanceCmds:Instance :: Instance -> InstanceCmds
instanceCmds} -> InstanceCmds
instanceCmds)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *). Applicative f => Bool -> f () -> f ()
unless (FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> ("pCallbackData"
::: Ptr (SomeStruct DebugUtilsMessengerCallbackDataEXT))
-> IO ())
vkSubmitDebugUtilsMessageEXTPtr forall a. Eq a => a -> a -> Bool
/= forall a. FunPtr a
nullFunPtr) forall a b. (a -> b) -> a -> b
$
forall e a. Exception e => e -> IO a
throwIO forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkSubmitDebugUtilsMessageEXT is null" forall a. Maybe a
Nothing forall a. Maybe a
Nothing
let vkSubmitDebugUtilsMessageEXT' :: Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> ("pCallbackData"
::: Ptr (SomeStruct DebugUtilsMessengerCallbackDataEXT))
-> IO ()
vkSubmitDebugUtilsMessageEXT' = FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> ("pCallbackData"
::: Ptr (SomeStruct DebugUtilsMessengerCallbackDataEXT))
-> IO ())
-> Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> ("pCallbackData"
::: Ptr (SomeStruct DebugUtilsMessengerCallbackDataEXT))
-> IO ()
mkVkSubmitDebugUtilsMessageEXT FunPtr
(Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> ("pCallbackData"
::: Ptr (SomeStruct DebugUtilsMessengerCallbackDataEXT))
-> IO ())
vkSubmitDebugUtilsMessageEXTPtr
Ptr (DebugUtilsMessengerCallbackDataEXT a)
pCallbackData <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => a -> (Ptr a -> IO b) -> IO b
withCStruct (DebugUtilsMessengerCallbackDataEXT a
callbackData)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. String -> IO a -> IO a
traceAroundEvent String
"vkSubmitDebugUtilsMessageEXT" (Ptr Instance_T
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> ("pCallbackData"
::: Ptr (SomeStruct DebugUtilsMessengerCallbackDataEXT))
-> IO ()
vkSubmitDebugUtilsMessageEXT'
(Instance -> Ptr Instance_T
instanceHandle (Instance
instance'))
(DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity)
(DebugUtilsMessageTypeFlagBitsEXT
messageTypes)
(forall (a :: [*] -> *) (es :: [*]).
Ptr (a es) -> Ptr (SomeStruct a)
forgetExtensions Ptr (DebugUtilsMessengerCallbackDataEXT a)
pCallbackData))
forall (f :: * -> *) a. Applicative f => a -> f a
pure 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)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DebugUtilsObjectNameInfoEXT)
#endif
deriving instance Show DebugUtilsObjectNameInfoEXT
instance ToCStruct DebugUtilsObjectNameInfoEXT where
withCStruct :: forall b.
DebugUtilsObjectNameInfoEXT
-> (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b)
-> IO b
withCStruct DebugUtilsObjectNameInfoEXT
x ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 forall a b. (a -> b) -> a -> b
$ \"pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p -> 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 :: forall b.
("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> DebugUtilsObjectNameInfoEXT -> IO b -> IO b
pokeCStruct "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p DebugUtilsObjectNameInfoEXT{Maybe ByteString
Word64
ObjectType
objectName :: Maybe ByteString
objectHandle :: Word64
objectType :: ObjectType
$sel:objectName:DebugUtilsObjectNameInfoEXT :: DebugUtilsObjectNameInfoEXT -> Maybe ByteString
$sel:objectHandle:DebugUtilsObjectNameInfoEXT :: DebugUtilsObjectNameInfoEXT -> Word64
$sel:objectType:DebugUtilsObjectNameInfoEXT :: DebugUtilsObjectNameInfoEXT -> ObjectType
..} IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ObjectType)) (ObjectType
objectType)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word64)) (Word64
objectHandle)
Ptr CChar
pObjectName'' <- case (Maybe ByteString
objectName) of
Maybe ByteString
Nothing -> forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a. Ptr a
nullPtr
Just ByteString
j -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
j)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr (Ptr CChar))) Ptr CChar
pObjectName''
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT) -> IO b -> IO b
pokeZeroCStruct "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ObjectType)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word64)) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DebugUtilsObjectNameInfoEXT where
peekCStruct :: ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT)
-> IO DebugUtilsObjectNameInfoEXT
peekCStruct "pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p = do
ObjectType
objectType <- forall a. Storable a => Ptr a -> IO a
peek @ObjectType (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ObjectType))
Word64
objectHandle <- forall a. Storable a => Ptr a -> IO a
peek @Word64 (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word64))
Ptr CChar
pObjectName <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr CChar) (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr (Ptr CChar)))
Maybe ByteString
pObjectName' <- forall a b. (Ptr a -> IO b) -> Ptr a -> IO (Maybe b)
maybePeek (\Ptr CChar
j -> Ptr CChar -> IO ByteString
packCString (Ptr CChar
j)) Ptr CChar
pObjectName
forall (f :: * -> *) a. Applicative f => a -> f a
pure 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
forall a. Zero a => a
zero
forall a. Zero a => a
zero
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)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DebugUtilsObjectTagInfoEXT)
#endif
deriving instance Show DebugUtilsObjectTagInfoEXT
instance ToCStruct DebugUtilsObjectTagInfoEXT where
withCStruct :: forall b.
DebugUtilsObjectTagInfoEXT
-> (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO b)
-> IO b
withCStruct DebugUtilsObjectTagInfoEXT
x ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
56 forall a b. (a -> b) -> a -> b
$ \"pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p -> 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 :: forall b.
("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> DebugUtilsObjectTagInfoEXT -> IO b -> IO b
pokeCStruct "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p DebugUtilsObjectTagInfoEXT{Word64
Ptr ()
ObjectType
tag :: Ptr ()
tagSize :: Word64
tagName :: Word64
objectHandle :: Word64
objectType :: ObjectType
$sel:tag:DebugUtilsObjectTagInfoEXT :: DebugUtilsObjectTagInfoEXT -> Ptr ()
$sel:tagSize:DebugUtilsObjectTagInfoEXT :: DebugUtilsObjectTagInfoEXT -> Word64
$sel:tagName:DebugUtilsObjectTagInfoEXT :: DebugUtilsObjectTagInfoEXT -> Word64
$sel:objectHandle:DebugUtilsObjectTagInfoEXT :: DebugUtilsObjectTagInfoEXT -> Word64
$sel:objectType:DebugUtilsObjectTagInfoEXT :: DebugUtilsObjectTagInfoEXT -> ObjectType
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ObjectType)) (ObjectType
objectType)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word64)) (Word64
objectHandle)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word64)) (Word64
tagName)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr CSize)) (Word64 -> CSize
CSize (Word64
tagSize))
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr (Ptr ()))) (Ptr ()
tag)
IO b
f
cStructSize :: Int
cStructSize = Int
56
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT) -> IO b -> IO b
pokeZeroCStruct "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ObjectType)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word64)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word64)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr CSize)) (Word64 -> CSize
CSize (forall a. Zero a => a
zero))
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr (Ptr ()))) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DebugUtilsObjectTagInfoEXT where
peekCStruct :: ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> IO DebugUtilsObjectTagInfoEXT
peekCStruct "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p = do
ObjectType
objectType <- forall a. Storable a => Ptr a -> IO a
peek @ObjectType (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ObjectType))
Word64
objectHandle <- forall a. Storable a => Ptr a -> IO a
peek @Word64 (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Word64))
Word64
tagName <- forall a. Storable a => Ptr a -> IO a
peek @Word64 (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Word64))
CSize
tagSize <- forall a. Storable a => Ptr a -> IO a
peek @CSize (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr CSize))
Ptr ()
pTag <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) (("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr (Ptr ())))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ObjectType
-> Word64
-> Word64
-> Word64
-> Ptr ()
-> DebugUtilsObjectTagInfoEXT
DebugUtilsObjectTagInfoEXT
ObjectType
objectType
Word64
objectHandle
Word64
tagName
(coerce :: forall a b. Coercible a b => a -> b
coerce @CSize @Word64 CSize
tagSize)
Ptr ()
pTag
instance Storable DebugUtilsObjectTagInfoEXT where
sizeOf :: DebugUtilsObjectTagInfoEXT -> Int
sizeOf ~DebugUtilsObjectTagInfoEXT
_ = Int
56
alignment :: DebugUtilsObjectTagInfoEXT -> Int
alignment ~DebugUtilsObjectTagInfoEXT
_ = Int
8
peek :: ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> IO DebugUtilsObjectTagInfoEXT
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: ("pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT)
-> DebugUtilsObjectTagInfoEXT -> IO ()
poke "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
ptr DebugUtilsObjectTagInfoEXT
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pTagInfo" ::: Ptr DebugUtilsObjectTagInfoEXT
ptr DebugUtilsObjectTagInfoEXT
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DebugUtilsObjectTagInfoEXT where
zero :: DebugUtilsObjectTagInfoEXT
zero = ObjectType
-> Word64
-> Word64
-> Word64
-> Ptr ()
-> DebugUtilsObjectTagInfoEXT
DebugUtilsObjectTagInfoEXT
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
data DebugUtilsLabelEXT = DebugUtilsLabelEXT
{
DebugUtilsLabelEXT -> ByteString
labelName :: ByteString
,
DebugUtilsLabelEXT -> (Float, Float, Float, Float)
color :: (Float, Float, Float, Float)
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DebugUtilsLabelEXT)
#endif
deriving instance Show DebugUtilsLabelEXT
instance ToCStruct DebugUtilsLabelEXT where
withCStruct :: forall b.
DebugUtilsLabelEXT
-> (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO b) -> IO b
withCStruct DebugUtilsLabelEXT
x ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
40 forall a b. (a -> b) -> a -> b
$ \"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p DebugUtilsLabelEXT
x (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO b
f "pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p)
pokeCStruct :: forall b.
("pLabelInfo" ::: Ptr DebugUtilsLabelEXT)
-> DebugUtilsLabelEXT -> IO b -> IO b
pokeCStruct "pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p DebugUtilsLabelEXT{(Float, Float, Float, Float)
ByteString
color :: (Float, Float, Float, Float)
labelName :: ByteString
$sel:color:DebugUtilsLabelEXT :: DebugUtilsLabelEXT -> (Float, Float, Float, Float)
$sel:labelName:DebugUtilsLabelEXT :: DebugUtilsLabelEXT -> ByteString
..} IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
Ptr CChar
pLabelName'' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
labelName)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr CChar))) Ptr CChar
pLabelName''
let pColor' :: Ptr CFloat
pColor' = forall a (n :: Nat). Ptr (FixedArray n a) -> Ptr a
lowerArrayPtr (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (FixedArray 4 CFloat)))
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ case ((Float, Float, Float, Float)
color) of
(Float
e0, Float
e1, Float
e2, Float
e3) -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e0))
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e1))
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e2))
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
12 :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e3))
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
40
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b. ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO b -> IO b
pokeZeroCStruct "pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
Ptr CChar
pLabelName'' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (forall a. Monoid a => a
mempty)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr CChar))) Ptr CChar
pLabelName''
let pColor' :: Ptr CFloat
pColor' = forall a (n :: Nat). Ptr (FixedArray n a) -> Ptr a
lowerArrayPtr (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (FixedArray 4 CFloat)))
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ case ((forall a. Zero a => a
zero, forall a. Zero a => a
zero, forall a. Zero a => a
zero, forall a. Zero a => a
zero)) of
(Float
e0, Float
e1, Float
e2, Float
e3) -> do
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e0))
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4 :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e1))
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e2))
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CFloat
pColor' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
12 :: Ptr CFloat) (Float -> CFloat
CFloat (Float
e3))
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
instance FromCStruct DebugUtilsLabelEXT where
peekCStruct :: ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT) -> IO DebugUtilsLabelEXT
peekCStruct "pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p = do
ByteString
pLabelName <- Ptr CChar -> IO ByteString
packCString forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< forall a. Storable a => Ptr a -> IO a
peek (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr (Ptr CChar)))
let pcolor :: Ptr CFloat
pcolor = forall a (n :: Nat). Ptr (FixedArray n a) -> Ptr a
lowerArrayPtr @CFloat (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (FixedArray 4 CFloat)))
CFloat
color0 <- forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr CFloat
pcolor forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` Int
0 :: Ptr CFloat))
CFloat
color1 <- forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr CFloat
pcolor forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` Int
4 :: Ptr CFloat))
CFloat
color2 <- forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr CFloat
pcolor forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` Int
8 :: Ptr CFloat))
CFloat
color3 <- forall a. Storable a => Ptr a -> IO a
peek @CFloat ((Ptr CFloat
pcolor forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` Int
12 :: Ptr CFloat))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ ByteString -> (Float, Float, Float, Float) -> DebugUtilsLabelEXT
DebugUtilsLabelEXT
ByteString
pLabelName
(( (coerce :: forall a b. Coercible a b => a -> b
coerce @CFloat @Float CFloat
color0)
, (coerce :: forall a b. Coercible a b => a -> b
coerce @CFloat @Float CFloat
color1)
, (coerce :: forall a b. Coercible a b => a -> b
coerce @CFloat @Float CFloat
color2)
, (coerce :: forall a b. Coercible a b => a -> b
coerce @CFloat @Float CFloat
color3) ))
instance Zero DebugUtilsLabelEXT where
zero :: DebugUtilsLabelEXT
zero = ByteString -> (Float, Float, Float, Float) -> DebugUtilsLabelEXT
DebugUtilsLabelEXT
forall a. Monoid a => a
mempty
(forall a. Zero a => a
zero, forall a. Zero a => a
zero, forall a. Zero a => a
zero, forall a. Zero a => a
zero)
data DebugUtilsMessengerCreateInfoEXT = DebugUtilsMessengerCreateInfoEXT
{
DebugUtilsMessengerCreateInfoEXT
-> DebugUtilsMessengerCreateFlagsEXT
flags :: DebugUtilsMessengerCreateFlagsEXT
,
DebugUtilsMessengerCreateInfoEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity :: DebugUtilsMessageSeverityFlagsEXT
,
DebugUtilsMessengerCreateInfoEXT
-> DebugUtilsMessageTypeFlagBitsEXT
messageType :: DebugUtilsMessageTypeFlagsEXT
,
DebugUtilsMessengerCreateInfoEXT
-> PFN_vkDebugUtilsMessengerCallbackEXT
pfnUserCallback :: PFN_vkDebugUtilsMessengerCallbackEXT
,
DebugUtilsMessengerCreateInfoEXT -> Ptr ()
userData :: Ptr ()
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DebugUtilsMessengerCreateInfoEXT)
#endif
deriving instance Show DebugUtilsMessengerCreateInfoEXT
instance ToCStruct DebugUtilsMessengerCreateInfoEXT where
withCStruct :: forall b.
DebugUtilsMessengerCreateInfoEXT
-> (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO b)
-> IO b
withCStruct DebugUtilsMessengerCreateInfoEXT
x ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT) -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
48 forall a b. (a -> b) -> a -> b
$ \"pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p -> 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 :: forall b.
("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> DebugUtilsMessengerCreateInfoEXT -> IO b -> IO b
pokeCStruct "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p DebugUtilsMessengerCreateInfoEXT{Ptr ()
PFN_vkDebugUtilsMessengerCallbackEXT
DebugUtilsMessageTypeFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessengerCreateFlagsEXT
userData :: Ptr ()
pfnUserCallback :: PFN_vkDebugUtilsMessengerCallbackEXT
messageType :: DebugUtilsMessageTypeFlagBitsEXT
messageSeverity :: DebugUtilsMessageSeverityFlagBitsEXT
flags :: DebugUtilsMessengerCreateFlagsEXT
$sel:userData:DebugUtilsMessengerCreateInfoEXT :: DebugUtilsMessengerCreateInfoEXT -> Ptr ()
$sel:pfnUserCallback:DebugUtilsMessengerCreateInfoEXT :: DebugUtilsMessengerCreateInfoEXT
-> PFN_vkDebugUtilsMessengerCallbackEXT
$sel:messageType:DebugUtilsMessengerCreateInfoEXT :: DebugUtilsMessengerCreateInfoEXT
-> DebugUtilsMessageTypeFlagBitsEXT
$sel:messageSeverity:DebugUtilsMessengerCreateInfoEXT :: DebugUtilsMessengerCreateInfoEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
$sel:flags:DebugUtilsMessengerCreateInfoEXT :: DebugUtilsMessengerCreateInfoEXT
-> DebugUtilsMessengerCreateFlagsEXT
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DebugUtilsMessengerCreateFlagsEXT)) (DebugUtilsMessengerCreateFlagsEXT
flags)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr DebugUtilsMessageSeverityFlagsEXT)) (DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr DebugUtilsMessageTypeFlagsEXT)) (DebugUtilsMessageTypeFlagBitsEXT
messageType)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PFN_vkDebugUtilsMessengerCallbackEXT)) (PFN_vkDebugUtilsMessengerCallbackEXT
pfnUserCallback)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr (Ptr ()))) (Ptr ()
userData)
IO b
f
cStructSize :: Int
cStructSize = Int
48
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO b -> IO b
pokeZeroCStruct "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr DebugUtilsMessageSeverityFlagsEXT)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr DebugUtilsMessageTypeFlagsEXT)) (forall a. Zero a => a
zero)
forall a. Storable a => Ptr a -> a -> IO ()
poke (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PFN_vkDebugUtilsMessengerCallbackEXT)) (forall a. Zero a => a
zero)
IO b
f
instance FromCStruct DebugUtilsMessengerCreateInfoEXT where
peekCStruct :: ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO DebugUtilsMessengerCreateInfoEXT
peekCStruct "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p = do
DebugUtilsMessengerCreateFlagsEXT
flags <- forall a. Storable a => Ptr a -> IO a
peek @DebugUtilsMessengerCreateFlagsEXT (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DebugUtilsMessengerCreateFlagsEXT))
DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity <- forall a. Storable a => Ptr a -> IO a
peek @DebugUtilsMessageSeverityFlagsEXT (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr DebugUtilsMessageSeverityFlagsEXT))
DebugUtilsMessageTypeFlagBitsEXT
messageType <- forall a. Storable a => Ptr a -> IO a
peek @DebugUtilsMessageTypeFlagsEXT (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr DebugUtilsMessageTypeFlagsEXT))
PFN_vkDebugUtilsMessengerCallbackEXT
pfnUserCallback <- forall a. Storable a => Ptr a -> IO a
peek @PFN_vkDebugUtilsMessengerCallbackEXT (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr PFN_vkDebugUtilsMessengerCallbackEXT))
Ptr ()
pUserData <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) (("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr (Ptr ())))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> PFN_vkDebugUtilsMessengerCallbackEXT
-> Ptr ()
-> DebugUtilsMessengerCreateInfoEXT
DebugUtilsMessengerCreateInfoEXT
DebugUtilsMessengerCreateFlagsEXT
flags DebugUtilsMessageSeverityFlagBitsEXT
messageSeverity DebugUtilsMessageTypeFlagBitsEXT
messageType PFN_vkDebugUtilsMessengerCallbackEXT
pfnUserCallback Ptr ()
pUserData
instance Storable DebugUtilsMessengerCreateInfoEXT where
sizeOf :: DebugUtilsMessengerCreateInfoEXT -> Int
sizeOf ~DebugUtilsMessengerCreateInfoEXT
_ = Int
48
alignment :: DebugUtilsMessengerCreateInfoEXT -> Int
alignment ~DebugUtilsMessengerCreateInfoEXT
_ = Int
8
peek :: ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> IO DebugUtilsMessengerCreateInfoEXT
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: ("pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT)
-> DebugUtilsMessengerCreateInfoEXT -> IO ()
poke "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
ptr DebugUtilsMessengerCreateInfoEXT
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct "pCreateInfo" ::: Ptr DebugUtilsMessengerCreateInfoEXT
ptr DebugUtilsMessengerCreateInfoEXT
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero DebugUtilsMessengerCreateInfoEXT where
zero :: DebugUtilsMessengerCreateInfoEXT
zero = DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> PFN_vkDebugUtilsMessengerCallbackEXT
-> Ptr ()
-> DebugUtilsMessengerCreateInfoEXT
DebugUtilsMessengerCreateInfoEXT
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
forall a. Zero a => a
zero
data DebugUtilsMessengerCallbackDataEXT (es :: [Type]) = DebugUtilsMessengerCallbackDataEXT
{
forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Chain es
next :: Chain es
,
forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es
-> DebugUtilsMessengerCallbackDataFlagsEXT
flags :: DebugUtilsMessengerCallbackDataFlagsEXT
,
forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Maybe ByteString
messageIdName :: Maybe ByteString
,
forall (es :: [*]). DebugUtilsMessengerCallbackDataEXT es -> Int32
messageIdNumber :: Int32
,
forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> ByteString
message :: ByteString
,
forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Vector DebugUtilsLabelEXT
queueLabels :: Vector DebugUtilsLabelEXT
,
forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Vector DebugUtilsLabelEXT
cmdBufLabels :: Vector DebugUtilsLabelEXT
,
forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es
-> Vector DebugUtilsObjectNameInfoEXT
objects :: Vector DebugUtilsObjectNameInfoEXT
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (DebugUtilsMessengerCallbackDataEXT (es :: [Type]))
#endif
deriving instance Show (Chain es) => Show (DebugUtilsMessengerCallbackDataEXT es)
instance Extensible DebugUtilsMessengerCallbackDataEXT where
extensibleTypeName :: String
extensibleTypeName = String
"DebugUtilsMessengerCallbackDataEXT"
setNext :: forall (ds :: [*]) (es :: [*]).
DebugUtilsMessengerCallbackDataEXT ds
-> Chain es -> DebugUtilsMessengerCallbackDataEXT es
setNext DebugUtilsMessengerCallbackDataEXT{Int32
Maybe ByteString
ByteString
Vector DebugUtilsObjectNameInfoEXT
Vector DebugUtilsLabelEXT
Chain ds
DebugUtilsMessengerCallbackDataFlagsEXT
objects :: Vector DebugUtilsObjectNameInfoEXT
cmdBufLabels :: Vector DebugUtilsLabelEXT
queueLabels :: Vector DebugUtilsLabelEXT
message :: ByteString
messageIdNumber :: Int32
messageIdName :: Maybe ByteString
flags :: DebugUtilsMessengerCallbackDataFlagsEXT
next :: Chain ds
$sel:objects:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es
-> Vector DebugUtilsObjectNameInfoEXT
$sel:cmdBufLabels:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Vector DebugUtilsLabelEXT
$sel:queueLabels:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Vector DebugUtilsLabelEXT
$sel:message:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> ByteString
$sel:messageIdNumber:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]). DebugUtilsMessengerCallbackDataEXT es -> Int32
$sel:messageIdName:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Maybe ByteString
$sel:flags:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es
-> DebugUtilsMessengerCallbackDataFlagsEXT
$sel:next:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Chain es
..} Chain es
next' = DebugUtilsMessengerCallbackDataEXT{$sel:next:DebugUtilsMessengerCallbackDataEXT :: Chain es
next = Chain es
next', Int32
Maybe ByteString
ByteString
Vector DebugUtilsObjectNameInfoEXT
Vector DebugUtilsLabelEXT
DebugUtilsMessengerCallbackDataFlagsEXT
objects :: Vector DebugUtilsObjectNameInfoEXT
cmdBufLabels :: Vector DebugUtilsLabelEXT
queueLabels :: Vector DebugUtilsLabelEXT
message :: ByteString
messageIdNumber :: Int32
messageIdName :: Maybe ByteString
flags :: DebugUtilsMessengerCallbackDataFlagsEXT
$sel:objects:DebugUtilsMessengerCallbackDataEXT :: Vector DebugUtilsObjectNameInfoEXT
$sel:cmdBufLabels:DebugUtilsMessengerCallbackDataEXT :: Vector DebugUtilsLabelEXT
$sel:queueLabels:DebugUtilsMessengerCallbackDataEXT :: Vector DebugUtilsLabelEXT
$sel:message:DebugUtilsMessengerCallbackDataEXT :: ByteString
$sel:messageIdNumber:DebugUtilsMessengerCallbackDataEXT :: Int32
$sel:messageIdName:DebugUtilsMessengerCallbackDataEXT :: Maybe ByteString
$sel:flags:DebugUtilsMessengerCallbackDataEXT :: DebugUtilsMessengerCallbackDataFlagsEXT
..}
getNext :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Chain es
getNext DebugUtilsMessengerCallbackDataEXT{Int32
Maybe ByteString
ByteString
Vector DebugUtilsObjectNameInfoEXT
Vector DebugUtilsLabelEXT
Chain es
DebugUtilsMessengerCallbackDataFlagsEXT
objects :: Vector DebugUtilsObjectNameInfoEXT
cmdBufLabels :: Vector DebugUtilsLabelEXT
queueLabels :: Vector DebugUtilsLabelEXT
message :: ByteString
messageIdNumber :: Int32
messageIdName :: Maybe ByteString
flags :: DebugUtilsMessengerCallbackDataFlagsEXT
next :: Chain es
$sel:objects:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es
-> Vector DebugUtilsObjectNameInfoEXT
$sel:cmdBufLabels:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Vector DebugUtilsLabelEXT
$sel:queueLabels:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Vector DebugUtilsLabelEXT
$sel:message:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> ByteString
$sel:messageIdNumber:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]). DebugUtilsMessengerCallbackDataEXT es -> Int32
$sel:messageIdName:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Maybe ByteString
$sel:flags:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es
-> DebugUtilsMessengerCallbackDataFlagsEXT
$sel:next:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Chain es
..} = Chain es
next
extends :: forall e b proxy. Typeable e => proxy e -> (Extends DebugUtilsMessengerCallbackDataEXT e => b) -> Maybe b
extends :: forall e b (proxy :: * -> *).
Typeable e =>
proxy e
-> (Extends DebugUtilsMessengerCallbackDataEXT e => b) -> Maybe b
extends proxy e
_ Extends DebugUtilsMessengerCallbackDataEXT e => b
f
| Just e :~: DeviceAddressBindingCallbackDataEXT
Refl <- forall {k} (a :: k) (b :: k).
(Typeable a, Typeable b) =>
Maybe (a :~: b)
eqT @e @DeviceAddressBindingCallbackDataEXT = forall a. a -> Maybe a
Just Extends DebugUtilsMessengerCallbackDataEXT e => b
f
| Bool
otherwise = forall a. Maybe a
Nothing
instance ( Extendss DebugUtilsMessengerCallbackDataEXT es
, PokeChain es ) => ToCStruct (DebugUtilsMessengerCallbackDataEXT es) where
withCStruct :: forall b.
DebugUtilsMessengerCallbackDataEXT es
-> (Ptr (DebugUtilsMessengerCallbackDataEXT es) -> IO b) -> IO b
withCStruct DebugUtilsMessengerCallbackDataEXT es
x Ptr (DebugUtilsMessengerCallbackDataEXT es) -> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
96 forall a b. (a -> b) -> a -> b
$ \Ptr (DebugUtilsMessengerCallbackDataEXT es)
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr (DebugUtilsMessengerCallbackDataEXT es)
p DebugUtilsMessengerCallbackDataEXT es
x (Ptr (DebugUtilsMessengerCallbackDataEXT es) -> IO b
f Ptr (DebugUtilsMessengerCallbackDataEXT es)
p)
pokeCStruct :: forall b.
Ptr (DebugUtilsMessengerCallbackDataEXT es)
-> DebugUtilsMessengerCallbackDataEXT es -> IO b -> IO b
pokeCStruct Ptr (DebugUtilsMessengerCallbackDataEXT es)
p DebugUtilsMessengerCallbackDataEXT{Int32
Maybe ByteString
ByteString
Vector DebugUtilsObjectNameInfoEXT
Vector DebugUtilsLabelEXT
Chain es
DebugUtilsMessengerCallbackDataFlagsEXT
objects :: Vector DebugUtilsObjectNameInfoEXT
cmdBufLabels :: Vector DebugUtilsLabelEXT
queueLabels :: Vector DebugUtilsLabelEXT
message :: ByteString
messageIdNumber :: Int32
messageIdName :: Maybe ByteString
flags :: DebugUtilsMessengerCallbackDataFlagsEXT
next :: Chain es
$sel:objects:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es
-> Vector DebugUtilsObjectNameInfoEXT
$sel:cmdBufLabels:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Vector DebugUtilsLabelEXT
$sel:queueLabels:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Vector DebugUtilsLabelEXT
$sel:message:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> ByteString
$sel:messageIdNumber:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]). DebugUtilsMessengerCallbackDataEXT es -> Int32
$sel:messageIdName:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Maybe ByteString
$sel:flags:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es
-> DebugUtilsMessengerCallbackDataFlagsEXT
$sel:next:DebugUtilsMessengerCallbackDataEXT :: forall (es :: [*]).
DebugUtilsMessengerCallbackDataEXT es -> Chain es
..} IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT)
Ptr ()
pNext'' <- forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap forall a b. Ptr a -> Ptr b
castPtr forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall (es :: [*]) a.
PokeChain es =>
Chain es -> (Ptr (Chain es) -> IO a) -> IO a
withChain (Chain es
next)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) Ptr ()
pNext''
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT)) (DebugUtilsMessengerCallbackDataFlagsEXT
flags)
Ptr CChar
pMessageIdName'' <- case (Maybe ByteString
messageIdName) of
Maybe ByteString
Nothing -> forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a. Ptr a
nullPtr
Just ByteString
j -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
j)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr CChar))) Ptr CChar
pMessageIdName''
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Int32)) (Int32
messageIdNumber)
Ptr CChar
pMessage'' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (ByteString
message)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr (Ptr CChar))) Ptr CChar
pMessage''
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Word32)) ((forall a b. (Integral a, Num b) => a -> b
fromIntegral (forall a. Vector a -> Int
Data.Vector.length forall a b. (a -> b) -> a -> b
$ (Vector DebugUtilsLabelEXT
queueLabels)) :: Word32))
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pPQueueLabels' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @DebugUtilsLabelEXT ((forall a. Vector a -> Int
Data.Vector.length (Vector DebugUtilsLabelEXT
queueLabels)) forall a. Num a => a -> a -> a
* Int
40)
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i DebugUtilsLabelEXT
e -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pPQueueLabels' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
40 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsLabelEXT) (DebugUtilsLabelEXT
e) forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a b. (a -> b) -> a -> b
$ ())) (Vector DebugUtilsLabelEXT
queueLabels)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr (Ptr DebugUtilsLabelEXT))) ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pPQueueLabels')
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr Word32)) ((forall a b. (Integral a, Num b) => a -> b
fromIntegral (forall a. Vector a -> Int
Data.Vector.length forall a b. (a -> b) -> a -> b
$ (Vector DebugUtilsLabelEXT
cmdBufLabels)) :: Word32))
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pPCmdBufLabels' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @DebugUtilsLabelEXT ((forall a. Vector a -> Int
Data.Vector.length (Vector DebugUtilsLabelEXT
cmdBufLabels)) forall a. Num a => a -> a -> a
* Int
40)
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i DebugUtilsLabelEXT
e -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pPCmdBufLabels' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
40 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsLabelEXT) (DebugUtilsLabelEXT
e) forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a b. (a -> b) -> a -> b
$ ())) (Vector DebugUtilsLabelEXT
cmdBufLabels)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr (Ptr DebugUtilsLabelEXT))) ("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pPCmdBufLabels')
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr Word32)) ((forall a b. (Integral a, Num b) => a -> b
fromIntegral (forall a. Vector a -> Int
Data.Vector.length forall a b. (a -> b) -> a -> b
$ (Vector DebugUtilsObjectNameInfoEXT
objects)) :: Word32))
"pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pPObjects' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes @DebugUtilsObjectNameInfoEXT ((forall a. Vector a -> Int
Data.Vector.length (Vector DebugUtilsObjectNameInfoEXT
objects)) forall a. Num a => a -> a -> a
* Int
40)
forall (m :: * -> *) a b.
Monad m =>
(Int -> a -> m b) -> Vector a -> m ()
Data.Vector.imapM_ (\Int
i DebugUtilsObjectNameInfoEXT
e -> forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pPObjects' forall a b. Ptr a -> Int -> Ptr b
`plusPtr` (Int
40 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsObjectNameInfoEXT) (DebugUtilsObjectNameInfoEXT
e) forall b c a. (b -> c) -> (a -> b) -> a -> c
. (forall a b. (a -> b) -> a -> b
$ ())) (Vector DebugUtilsObjectNameInfoEXT
objects)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
88 :: Ptr (Ptr DebugUtilsObjectNameInfoEXT))) ("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pPObjects')
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
96
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr (DebugUtilsMessengerCallbackDataEXT es) -> IO b -> IO b
pokeZeroCStruct Ptr (DebugUtilsMessengerCallbackDataEXT es)
p IO b
f = forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT forall a b. (a -> b) -> a -> b
$ do
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT)
Ptr ()
pNext' <- forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap forall a b. Ptr a -> Ptr b
castPtr forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall (es :: [*]) a.
PokeChain es =>
(Ptr (Chain es) -> IO a) -> IO a
withZeroChain @es
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) Ptr ()
pNext'
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Int32)) (forall a. Zero a => a
zero)
Ptr CChar
pMessage'' <- forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT forall a b. (a -> b) -> a -> b
$ forall a. ByteString -> (Ptr CChar -> IO a) -> IO a
useAsCString (forall a. Monoid a => a
mempty)
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr (Ptr CChar))) Ptr CChar
pMessage''
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift forall a b. (a -> b) -> a -> b
$ IO b
f
instance ( Extendss DebugUtilsMessengerCallbackDataEXT es
, PeekChain es ) => FromCStruct (DebugUtilsMessengerCallbackDataEXT es) where
peekCStruct :: Ptr (DebugUtilsMessengerCallbackDataEXT es)
-> IO (DebugUtilsMessengerCallbackDataEXT es)
peekCStruct Ptr (DebugUtilsMessengerCallbackDataEXT es)
p = do
Ptr ()
pNext <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr ()) ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ())))
Chain es
next <- forall (es :: [*]). PeekChain es => Ptr (Chain es) -> IO (Chain es)
peekChain (forall a b. Ptr a -> Ptr b
castPtr Ptr ()
pNext)
DebugUtilsMessengerCallbackDataFlagsEXT
flags <- forall a. Storable a => Ptr a -> IO a
peek @DebugUtilsMessengerCallbackDataFlagsEXT ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr DebugUtilsMessengerCallbackDataFlagsEXT))
Ptr CChar
pMessageIdName <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr CChar) ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr (Ptr CChar)))
Maybe ByteString
pMessageIdName' <- forall a b. (Ptr a -> IO b) -> Ptr a -> IO (Maybe b)
maybePeek (\Ptr CChar
j -> Ptr CChar -> IO ByteString
packCString (Ptr CChar
j)) Ptr CChar
pMessageIdName
Int32
messageIdNumber <- forall a. Storable a => Ptr a -> IO a
peek @Int32 ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Int32))
ByteString
pMessage <- Ptr CChar -> IO ByteString
packCString forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< forall a. Storable a => Ptr a -> IO a
peek ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr (Ptr CChar)))
Flags
queueLabelCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Word32))
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pQueueLabels <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr DebugUtilsLabelEXT) ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr (Ptr DebugUtilsLabelEXT)))
Vector DebugUtilsLabelEXT
pQueueLabels' <- forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (forall a b. (Integral a, Num b) => a -> b
fromIntegral Flags
queueLabelCount) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @DebugUtilsLabelEXT (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pQueueLabels forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
40 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsLabelEXT)))
Flags
cmdBufLabelCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr Word32))
"pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pCmdBufLabels <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr DebugUtilsLabelEXT) ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr (Ptr DebugUtilsLabelEXT)))
Vector DebugUtilsLabelEXT
pCmdBufLabels' <- forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (forall a b. (Integral a, Num b) => a -> b
fromIntegral Flags
cmdBufLabelCount) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @DebugUtilsLabelEXT (("pLabelInfo" ::: Ptr DebugUtilsLabelEXT
pCmdBufLabels forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
40 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsLabelEXT)))
Flags
objectCount <- forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr Word32))
"pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pObjects <- forall a. Storable a => Ptr a -> IO a
peek @(Ptr DebugUtilsObjectNameInfoEXT) ((Ptr (DebugUtilsMessengerCallbackDataEXT es)
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
88 :: Ptr (Ptr DebugUtilsObjectNameInfoEXT)))
Vector DebugUtilsObjectNameInfoEXT
pObjects' <- forall (m :: * -> *) a.
Monad m =>
Int -> (Int -> m a) -> m (Vector a)
generateM (forall a b. (Integral a, Num b) => a -> b
fromIntegral Flags
objectCount) (\Int
i -> forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @DebugUtilsObjectNameInfoEXT (("pNameInfo" ::: Ptr DebugUtilsObjectNameInfoEXT
pObjects forall a. Ptr a -> Int -> Ptr a
`advancePtrBytes` (Int
40 forall a. Num a => a -> a -> a
* (Int
i)) :: Ptr DebugUtilsObjectNameInfoEXT)))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ forall (es :: [*]).
Chain es
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> Maybe ByteString
-> Int32
-> ByteString
-> Vector DebugUtilsLabelEXT
-> Vector DebugUtilsLabelEXT
-> Vector DebugUtilsObjectNameInfoEXT
-> DebugUtilsMessengerCallbackDataEXT es
DebugUtilsMessengerCallbackDataEXT
Chain es
next
DebugUtilsMessengerCallbackDataFlagsEXT
flags
Maybe ByteString
pMessageIdName'
Int32
messageIdNumber
ByteString
pMessage
Vector DebugUtilsLabelEXT
pQueueLabels'
Vector DebugUtilsLabelEXT
pCmdBufLabels'
Vector DebugUtilsObjectNameInfoEXT
pObjects'
instance es ~ '[] => Zero (DebugUtilsMessengerCallbackDataEXT es) where
zero :: DebugUtilsMessengerCallbackDataEXT es
zero = forall (es :: [*]).
Chain es
-> DebugUtilsMessengerCallbackDataFlagsEXT
-> Maybe ByteString
-> Int32
-> ByteString
-> Vector DebugUtilsLabelEXT
-> Vector DebugUtilsLabelEXT
-> Vector DebugUtilsObjectNameInfoEXT
-> DebugUtilsMessengerCallbackDataEXT es
DebugUtilsMessengerCallbackDataEXT
()
forall a. Zero a => a
zero
forall a. Maybe a
Nothing
forall a. Zero a => a
zero
forall a. Monoid a => a
mempty
forall a. Monoid a => a
mempty
forall a. Monoid a => a
mempty
forall a. Monoid a => a
mempty
newtype DebugUtilsMessengerCreateFlagsEXT = DebugUtilsMessengerCreateFlagsEXT Flags
deriving newtype (DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> Bool
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
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
Ord, Ptr DebugUtilsMessengerCreateFlagsEXT
-> IO DebugUtilsMessengerCreateFlagsEXT
Ptr DebugUtilsMessengerCreateFlagsEXT
-> Int -> IO DebugUtilsMessengerCreateFlagsEXT
Ptr DebugUtilsMessengerCreateFlagsEXT
-> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ()
Ptr DebugUtilsMessengerCreateFlagsEXT
-> DebugUtilsMessengerCreateFlagsEXT -> IO ()
DebugUtilsMessengerCreateFlagsEXT -> Int
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 :: forall b.
Ptr b -> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> DebugUtilsMessengerCreateFlagsEXT -> IO ()
peekByteOff :: forall b. 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
forall a. a -> Zero a
zero :: DebugUtilsMessengerCreateFlagsEXT
$czero :: DebugUtilsMessengerCreateFlagsEXT
Zero, Eq DebugUtilsMessengerCreateFlagsEXT
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
Bits, Bits DebugUtilsMessengerCreateFlagsEXT
DebugUtilsMessengerCreateFlagsEXT -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: DebugUtilsMessengerCreateFlagsEXT -> Int
$ccountTrailingZeros :: DebugUtilsMessengerCreateFlagsEXT -> Int
countLeadingZeros :: DebugUtilsMessengerCreateFlagsEXT -> Int
$ccountLeadingZeros :: DebugUtilsMessengerCreateFlagsEXT -> Int
finiteBitSize :: DebugUtilsMessengerCreateFlagsEXT -> Int
$cfiniteBitSize :: DebugUtilsMessengerCreateFlagsEXT -> Int
FiniteBits)
conNameDebugUtilsMessengerCreateFlagsEXT :: String
conNameDebugUtilsMessengerCreateFlagsEXT :: String
conNameDebugUtilsMessengerCreateFlagsEXT = String
"DebugUtilsMessengerCreateFlagsEXT"
enumPrefixDebugUtilsMessengerCreateFlagsEXT :: String
enumPrefixDebugUtilsMessengerCreateFlagsEXT :: String
enumPrefixDebugUtilsMessengerCreateFlagsEXT = String
""
showTableDebugUtilsMessengerCreateFlagsEXT :: [(DebugUtilsMessengerCreateFlagsEXT, String)]
showTableDebugUtilsMessengerCreateFlagsEXT :: [(DebugUtilsMessengerCreateFlagsEXT, String)]
showTableDebugUtilsMessengerCreateFlagsEXT = []
instance Show DebugUtilsMessengerCreateFlagsEXT where
showsPrec :: Int -> DebugUtilsMessengerCreateFlagsEXT -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDebugUtilsMessengerCreateFlagsEXT
[(DebugUtilsMessengerCreateFlagsEXT, String)]
showTableDebugUtilsMessengerCreateFlagsEXT
String
conNameDebugUtilsMessengerCreateFlagsEXT
(\(DebugUtilsMessengerCreateFlagsEXT Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read DebugUtilsMessengerCreateFlagsEXT where
readPrec :: ReadPrec DebugUtilsMessengerCreateFlagsEXT
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDebugUtilsMessengerCreateFlagsEXT
[(DebugUtilsMessengerCreateFlagsEXT, String)]
showTableDebugUtilsMessengerCreateFlagsEXT
String
conNameDebugUtilsMessengerCreateFlagsEXT
Flags -> DebugUtilsMessengerCreateFlagsEXT
DebugUtilsMessengerCreateFlagsEXT
newtype DebugUtilsMessengerCallbackDataFlagsEXT = DebugUtilsMessengerCallbackDataFlagsEXT Flags
deriving newtype (DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> Bool
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
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
Ord, Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> IO DebugUtilsMessengerCallbackDataFlagsEXT
Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> IO DebugUtilsMessengerCallbackDataFlagsEXT
Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
Ptr DebugUtilsMessengerCallbackDataFlagsEXT
-> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
DebugUtilsMessengerCallbackDataFlagsEXT -> Int
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 :: forall b.
Ptr b -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> IO ()
peekByteOff :: forall b.
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
forall a. a -> Zero a
zero :: DebugUtilsMessengerCallbackDataFlagsEXT
$czero :: DebugUtilsMessengerCallbackDataFlagsEXT
Zero, Eq DebugUtilsMessengerCallbackDataFlagsEXT
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
Bits, Bits DebugUtilsMessengerCallbackDataFlagsEXT
DebugUtilsMessengerCallbackDataFlagsEXT -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
$ccountTrailingZeros :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
countLeadingZeros :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
$ccountLeadingZeros :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
finiteBitSize :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
$cfiniteBitSize :: DebugUtilsMessengerCallbackDataFlagsEXT -> Int
FiniteBits)
conNameDebugUtilsMessengerCallbackDataFlagsEXT :: String
conNameDebugUtilsMessengerCallbackDataFlagsEXT :: String
conNameDebugUtilsMessengerCallbackDataFlagsEXT = String
"DebugUtilsMessengerCallbackDataFlagsEXT"
enumPrefixDebugUtilsMessengerCallbackDataFlagsEXT :: String
enumPrefixDebugUtilsMessengerCallbackDataFlagsEXT :: String
enumPrefixDebugUtilsMessengerCallbackDataFlagsEXT = String
""
showTableDebugUtilsMessengerCallbackDataFlagsEXT :: [(DebugUtilsMessengerCallbackDataFlagsEXT, String)]
showTableDebugUtilsMessengerCallbackDataFlagsEXT :: [(DebugUtilsMessengerCallbackDataFlagsEXT, String)]
showTableDebugUtilsMessengerCallbackDataFlagsEXT = []
instance Show DebugUtilsMessengerCallbackDataFlagsEXT where
showsPrec :: Int -> DebugUtilsMessengerCallbackDataFlagsEXT -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDebugUtilsMessengerCallbackDataFlagsEXT
[(DebugUtilsMessengerCallbackDataFlagsEXT, String)]
showTableDebugUtilsMessengerCallbackDataFlagsEXT
String
conNameDebugUtilsMessengerCallbackDataFlagsEXT
(\(DebugUtilsMessengerCallbackDataFlagsEXT Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read DebugUtilsMessengerCallbackDataFlagsEXT where
readPrec :: ReadPrec DebugUtilsMessengerCallbackDataFlagsEXT
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDebugUtilsMessengerCallbackDataFlagsEXT
[(DebugUtilsMessengerCallbackDataFlagsEXT, String)]
showTableDebugUtilsMessengerCallbackDataFlagsEXT
String
conNameDebugUtilsMessengerCallbackDataFlagsEXT
Flags -> DebugUtilsMessengerCallbackDataFlagsEXT
DebugUtilsMessengerCallbackDataFlagsEXT
type DebugUtilsMessageSeverityFlagsEXT = DebugUtilsMessageSeverityFlagBitsEXT
newtype DebugUtilsMessageSeverityFlagBitsEXT = DebugUtilsMessageSeverityFlagBitsEXT Flags
deriving newtype (DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> Bool
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
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
Ord, Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> IO DebugUtilsMessageSeverityFlagBitsEXT
Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> IO DebugUtilsMessageSeverityFlagBitsEXT
Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
Ptr DebugUtilsMessageSeverityFlagBitsEXT
-> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
DebugUtilsMessageSeverityFlagBitsEXT -> Int
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 :: forall b.
Ptr b -> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
$cpokeByteOff :: forall b.
Ptr b -> Int -> DebugUtilsMessageSeverityFlagBitsEXT -> IO ()
peekByteOff :: forall b. 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
forall a. a -> Zero a
zero :: DebugUtilsMessageSeverityFlagBitsEXT
$czero :: DebugUtilsMessageSeverityFlagBitsEXT
Zero, Eq DebugUtilsMessageSeverityFlagBitsEXT
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
Bits, Bits DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
$ccountTrailingZeros :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
countLeadingZeros :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
$ccountLeadingZeros :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
finiteBitSize :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
$cfiniteBitSize :: DebugUtilsMessageSeverityFlagBitsEXT -> Int
FiniteBits)
pattern $bDEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
$mDEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: forall {r}.
DebugUtilsMessageSeverityFlagBitsEXT
-> ((# #) -> r) -> ((# #) -> 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
-> ((# #) -> r) -> ((# #) -> 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
-> ((# #) -> r) -> ((# #) -> 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
-> ((# #) -> r) -> ((# #) -> r) -> r
DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT = DebugUtilsMessageSeverityFlagBitsEXT 0x00001000
conNameDebugUtilsMessageSeverityFlagBitsEXT :: String
conNameDebugUtilsMessageSeverityFlagBitsEXT :: String
conNameDebugUtilsMessageSeverityFlagBitsEXT = String
"DebugUtilsMessageSeverityFlagBitsEXT"
enumPrefixDebugUtilsMessageSeverityFlagBitsEXT :: String
enumPrefixDebugUtilsMessageSeverityFlagBitsEXT :: String
enumPrefixDebugUtilsMessageSeverityFlagBitsEXT = String
"DEBUG_UTILS_MESSAGE_SEVERITY_"
showTableDebugUtilsMessageSeverityFlagBitsEXT :: [(DebugUtilsMessageSeverityFlagBitsEXT, String)]
showTableDebugUtilsMessageSeverityFlagBitsEXT :: [(DebugUtilsMessageSeverityFlagBitsEXT, String)]
showTableDebugUtilsMessageSeverityFlagBitsEXT =
[
( DebugUtilsMessageSeverityFlagBitsEXT
DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT
, String
"VERBOSE_BIT_EXT"
)
,
( DebugUtilsMessageSeverityFlagBitsEXT
DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT
, String
"INFO_BIT_EXT"
)
,
( DebugUtilsMessageSeverityFlagBitsEXT
DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT
, String
"WARNING_BIT_EXT"
)
,
( DebugUtilsMessageSeverityFlagBitsEXT
DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT
, String
"ERROR_BIT_EXT"
)
]
instance Show DebugUtilsMessageSeverityFlagBitsEXT where
showsPrec :: Int -> DebugUtilsMessageSeverityFlagBitsEXT -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDebugUtilsMessageSeverityFlagBitsEXT
[(DebugUtilsMessageSeverityFlagBitsEXT, String)]
showTableDebugUtilsMessageSeverityFlagBitsEXT
String
conNameDebugUtilsMessageSeverityFlagBitsEXT
(\(DebugUtilsMessageSeverityFlagBitsEXT Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read DebugUtilsMessageSeverityFlagBitsEXT where
readPrec :: ReadPrec DebugUtilsMessageSeverityFlagBitsEXT
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDebugUtilsMessageSeverityFlagBitsEXT
[(DebugUtilsMessageSeverityFlagBitsEXT, String)]
showTableDebugUtilsMessageSeverityFlagBitsEXT
String
conNameDebugUtilsMessageSeverityFlagBitsEXT
Flags -> DebugUtilsMessageSeverityFlagBitsEXT
DebugUtilsMessageSeverityFlagBitsEXT
type DebugUtilsMessageTypeFlagsEXT = DebugUtilsMessageTypeFlagBitsEXT
newtype DebugUtilsMessageTypeFlagBitsEXT = DebugUtilsMessageTypeFlagBitsEXT Flags
deriving newtype (DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
$c/= :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
== :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
$c== :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
Eq, Eq DebugUtilsMessageTypeFlagBitsEXT
DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Ordering
DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
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 :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
$cmin :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
max :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
$cmax :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
>= :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
$c>= :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
> :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
$c> :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
<= :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
$c<= :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
< :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
$c< :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Bool
compare :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Ordering
$ccompare :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> Ordering
Ord, Ptr DebugUtilsMessageTypeFlagBitsEXT
-> IO DebugUtilsMessageTypeFlagBitsEXT
Ptr DebugUtilsMessageTypeFlagBitsEXT
-> Int -> IO DebugUtilsMessageTypeFlagBitsEXT
Ptr DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT -> IO ()
Ptr DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> IO ()
DebugUtilsMessageTypeFlagBitsEXT -> Int
forall b. Ptr b -> Int -> IO DebugUtilsMessageTypeFlagBitsEXT
forall b. Ptr b -> Int -> DebugUtilsMessageTypeFlagBitsEXT -> 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 DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> IO ()
$cpoke :: Ptr DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT -> IO ()
peek :: Ptr DebugUtilsMessageTypeFlagBitsEXT
-> IO DebugUtilsMessageTypeFlagBitsEXT
$cpeek :: Ptr DebugUtilsMessageTypeFlagBitsEXT
-> IO DebugUtilsMessageTypeFlagBitsEXT
pokeByteOff :: forall b. Ptr b -> Int -> DebugUtilsMessageTypeFlagBitsEXT -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> DebugUtilsMessageTypeFlagBitsEXT -> IO ()
peekByteOff :: forall b. Ptr b -> Int -> IO DebugUtilsMessageTypeFlagBitsEXT
$cpeekByteOff :: forall b. Ptr b -> Int -> IO DebugUtilsMessageTypeFlagBitsEXT
pokeElemOff :: Ptr DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT -> IO ()
$cpokeElemOff :: Ptr DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT -> IO ()
peekElemOff :: Ptr DebugUtilsMessageTypeFlagBitsEXT
-> Int -> IO DebugUtilsMessageTypeFlagBitsEXT
$cpeekElemOff :: Ptr DebugUtilsMessageTypeFlagBitsEXT
-> Int -> IO DebugUtilsMessageTypeFlagBitsEXT
alignment :: DebugUtilsMessageTypeFlagBitsEXT -> Int
$calignment :: DebugUtilsMessageTypeFlagBitsEXT -> Int
sizeOf :: DebugUtilsMessageTypeFlagBitsEXT -> Int
$csizeOf :: DebugUtilsMessageTypeFlagBitsEXT -> Int
Storable, DebugUtilsMessageTypeFlagBitsEXT
forall a. a -> Zero a
zero :: DebugUtilsMessageTypeFlagBitsEXT
$czero :: DebugUtilsMessageTypeFlagBitsEXT
Zero, Eq DebugUtilsMessageTypeFlagBitsEXT
DebugUtilsMessageTypeFlagBitsEXT
Int -> DebugUtilsMessageTypeFlagBitsEXT
DebugUtilsMessageTypeFlagBitsEXT -> Bool
DebugUtilsMessageTypeFlagBitsEXT -> Int
DebugUtilsMessageTypeFlagBitsEXT -> Maybe Int
DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
DebugUtilsMessageTypeFlagBitsEXT -> Int -> Bool
DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
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 :: DebugUtilsMessageTypeFlagBitsEXT -> Int
$cpopCount :: DebugUtilsMessageTypeFlagBitsEXT -> Int
rotateR :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$crotateR :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
rotateL :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$crotateL :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
unsafeShiftR :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$cunsafeShiftR :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
shiftR :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$cshiftR :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
unsafeShiftL :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$cunsafeShiftL :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
shiftL :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$cshiftL :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
isSigned :: DebugUtilsMessageTypeFlagBitsEXT -> Bool
$cisSigned :: DebugUtilsMessageTypeFlagBitsEXT -> Bool
bitSize :: DebugUtilsMessageTypeFlagBitsEXT -> Int
$cbitSize :: DebugUtilsMessageTypeFlagBitsEXT -> Int
bitSizeMaybe :: DebugUtilsMessageTypeFlagBitsEXT -> Maybe Int
$cbitSizeMaybe :: DebugUtilsMessageTypeFlagBitsEXT -> Maybe Int
testBit :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> Bool
$ctestBit :: DebugUtilsMessageTypeFlagBitsEXT -> Int -> Bool
complementBit :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$ccomplementBit :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
clearBit :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$cclearBit :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
setBit :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$csetBit :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
bit :: Int -> DebugUtilsMessageTypeFlagBitsEXT
$cbit :: Int -> DebugUtilsMessageTypeFlagBitsEXT
zeroBits :: DebugUtilsMessageTypeFlagBitsEXT
$czeroBits :: DebugUtilsMessageTypeFlagBitsEXT
rotate :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$crotate :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
shift :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
$cshift :: DebugUtilsMessageTypeFlagBitsEXT
-> Int -> DebugUtilsMessageTypeFlagBitsEXT
complement :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
$ccomplement :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
xor :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
$cxor :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
.|. :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
$c.|. :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
.&. :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
$c.&. :: DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
-> DebugUtilsMessageTypeFlagBitsEXT
Bits, Bits DebugUtilsMessageTypeFlagBitsEXT
DebugUtilsMessageTypeFlagBitsEXT -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: DebugUtilsMessageTypeFlagBitsEXT -> Int
$ccountTrailingZeros :: DebugUtilsMessageTypeFlagBitsEXT -> Int
countLeadingZeros :: DebugUtilsMessageTypeFlagBitsEXT -> Int
$ccountLeadingZeros :: DebugUtilsMessageTypeFlagBitsEXT -> Int
finiteBitSize :: DebugUtilsMessageTypeFlagBitsEXT -> Int
$cfiniteBitSize :: DebugUtilsMessageTypeFlagBitsEXT -> Int
FiniteBits)
pattern $bDEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT
$mDEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: forall {r}.
DebugUtilsMessageTypeFlagBitsEXT
-> ((# #) -> r) -> ((# #) -> r) -> r
DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = DebugUtilsMessageTypeFlagBitsEXT 0x00000001
pattern $bDEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT
$mDEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: forall {r}.
DebugUtilsMessageTypeFlagBitsEXT
-> ((# #) -> r) -> ((# #) -> r) -> r
DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = DebugUtilsMessageTypeFlagBitsEXT 0x00000002
pattern $bDEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT
$mDEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: forall {r}.
DebugUtilsMessageTypeFlagBitsEXT
-> ((# #) -> r) -> ((# #) -> r) -> r
DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = DebugUtilsMessageTypeFlagBitsEXT 0x00000004
pattern $bDEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT
$mDEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT :: forall {r}.
DebugUtilsMessageTypeFlagBitsEXT
-> ((# #) -> r) -> ((# #) -> r) -> r
DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = DebugUtilsMessageTypeFlagBitsEXT 0x00000008
conNameDebugUtilsMessageTypeFlagBitsEXT :: String
conNameDebugUtilsMessageTypeFlagBitsEXT :: String
conNameDebugUtilsMessageTypeFlagBitsEXT = String
"DebugUtilsMessageTypeFlagBitsEXT"
enumPrefixDebugUtilsMessageTypeFlagBitsEXT :: String
enumPrefixDebugUtilsMessageTypeFlagBitsEXT :: String
enumPrefixDebugUtilsMessageTypeFlagBitsEXT = String
"DEBUG_UTILS_MESSAGE_TYPE_"
showTableDebugUtilsMessageTypeFlagBitsEXT :: [(DebugUtilsMessageTypeFlagBitsEXT, String)]
showTableDebugUtilsMessageTypeFlagBitsEXT :: [(DebugUtilsMessageTypeFlagBitsEXT, String)]
showTableDebugUtilsMessageTypeFlagBitsEXT =
[
( DebugUtilsMessageTypeFlagBitsEXT
DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT
, String
"GENERAL_BIT_EXT"
)
,
( DebugUtilsMessageTypeFlagBitsEXT
DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT
, String
"VALIDATION_BIT_EXT"
)
,
( DebugUtilsMessageTypeFlagBitsEXT
DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT
, String
"PERFORMANCE_BIT_EXT"
)
,
( DebugUtilsMessageTypeFlagBitsEXT
DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT
, String
"DEVICE_ADDRESS_BINDING_BIT_EXT"
)
]
instance Show DebugUtilsMessageTypeFlagBitsEXT where
showsPrec :: Int -> DebugUtilsMessageTypeFlagBitsEXT -> ShowS
showsPrec =
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixDebugUtilsMessageTypeFlagBitsEXT
[(DebugUtilsMessageTypeFlagBitsEXT, String)]
showTableDebugUtilsMessageTypeFlagBitsEXT
String
conNameDebugUtilsMessageTypeFlagBitsEXT
(\(DebugUtilsMessageTypeFlagBitsEXT Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)
instance Read DebugUtilsMessageTypeFlagBitsEXT where
readPrec :: ReadPrec DebugUtilsMessageTypeFlagBitsEXT
readPrec =
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixDebugUtilsMessageTypeFlagBitsEXT
[(DebugUtilsMessageTypeFlagBitsEXT, String)]
showTableDebugUtilsMessageTypeFlagBitsEXT
String
conNameDebugUtilsMessageTypeFlagBitsEXT
Flags -> DebugUtilsMessageTypeFlagBitsEXT
DebugUtilsMessageTypeFlagBitsEXT
type FN_vkDebugUtilsMessengerCallbackEXT = DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr (SomeStruct 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 :: forall a. Integral a => a
$mEXT_DEBUG_UTILS_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> 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 :: forall a. (Eq a, IsString a) => a
$mEXT_DEBUG_UTILS_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils"