Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- setDebugUtilsObjectNameEXT :: forall io. MonadIO io => Device -> DebugUtilsObjectNameInfoEXT -> io ()
- setDebugUtilsObjectTagEXT :: forall io. MonadIO io => Device -> DebugUtilsObjectTagInfoEXT -> io ()
- queueBeginDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
- queueEndDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> io ()
- queueInsertDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
- cmdBeginDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
- cmdWithDebugUtilsLabelEXT :: forall r. CommandBuffer -> DebugUtilsLabelEXT -> IO r -> IO r
- cmdEndDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> io ()
- cmdInsertDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io ()
- createDebugUtilsMessengerEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessengerCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io DebugUtilsMessengerEXT
- withDebugUtilsMessengerEXT :: forall r. Instance -> DebugUtilsMessengerCreateInfoEXT -> Maybe AllocationCallbacks -> (DebugUtilsMessengerEXT -> IO r) -> IO r
- destroyDebugUtilsMessengerEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessengerEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io ()
- submitDebugUtilsMessageEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> DebugUtilsMessengerCallbackDataEXT -> io ()
- data DebugUtilsObjectNameInfoEXT = DebugUtilsObjectNameInfoEXT {}
- data DebugUtilsObjectTagInfoEXT = DebugUtilsObjectTagInfoEXT {
- objectType :: ObjectType
- objectHandle :: Word64
- tagName :: Word64
- tagSize :: Word64
- tag :: Ptr ()
- data DebugUtilsLabelEXT = DebugUtilsLabelEXT {}
- data DebugUtilsMessengerCreateInfoEXT = DebugUtilsMessengerCreateInfoEXT {}
- data DebugUtilsMessengerCallbackDataEXT = DebugUtilsMessengerCallbackDataEXT {}
- newtype DebugUtilsMessengerCreateFlagsEXT = DebugUtilsMessengerCreateFlagsEXT Flags
- newtype DebugUtilsMessengerCallbackDataFlagsEXT = DebugUtilsMessengerCallbackDataFlagsEXT Flags
- newtype DebugUtilsMessageSeverityFlagBitsEXT where
- DebugUtilsMessageSeverityFlagBitsEXT Flags
- pattern DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
- pattern DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
- pattern DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
- pattern DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT
- type DebugUtilsMessageSeverityFlagsEXT = DebugUtilsMessageSeverityFlagBitsEXT
- newtype DebugUtilsMessageTypeFlagBitsEXT where
- type DebugUtilsMessageTypeFlagsEXT = DebugUtilsMessageTypeFlagBitsEXT
- type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr FN_vkDebugUtilsMessengerCallbackEXT
- type FN_vkDebugUtilsMessengerCallbackEXT = DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO Bool32
- type EXT_DEBUG_UTILS_SPEC_VERSION = 1
- pattern EXT_DEBUG_UTILS_SPEC_VERSION :: forall a. Integral a => a
- type EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils"
- pattern EXT_DEBUG_UTILS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype DebugUtilsMessengerEXT = DebugUtilsMessengerEXT Word64
Documentation
setDebugUtilsObjectNameEXT :: forall io. MonadIO io => Device -> DebugUtilsObjectNameInfoEXT -> io () Source #
vkSetDebugUtilsObjectNameEXT - Give a user-friendly name to an object
Parameters
device
is the device that created the object.
pNameInfo
is a pointer to aDebugUtilsObjectNameInfoEXT
structure specifying parameters of the name to set on the object.
Valid Usage
pNameInfo->objectType
must not beOBJECT_TYPE_UNKNOWN
pNameInfo->objectHandle
must not beNULL_HANDLE
Valid Usage (Implicit)
device
must be a validDevice
handle
pNameInfo
must be a valid pointer to a validDebugUtilsObjectNameInfoEXT
structure
Host Synchronization
- Host access to
pNameInfo.objectHandle
must be externally synchronized
Return Codes
See Also
setDebugUtilsObjectTagEXT :: forall io. MonadIO io => Device -> DebugUtilsObjectTagInfoEXT -> io () Source #
vkSetDebugUtilsObjectTagEXT - Attach arbitrary data to an object
Parameters
device
is the device that created the object.
pTagInfo
is a pointer to aDebugUtilsObjectTagInfoEXT
structure specifying parameters of the tag to attach to the object.
Valid Usage (Implicit)
device
must be a validDevice
handle
pTagInfo
must be a valid pointer to a validDebugUtilsObjectTagInfoEXT
structure
Host Synchronization
- Host access to
pTagInfo.objectHandle
must be externally synchronized
Return Codes
See Also
queueBeginDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io () Source #
vkQueueBeginDebugUtilsLabelEXT - Open a queue debug label region
Parameters
queue
is the queue in which to start a debug label region.
pLabelInfo
is a pointer to aDebugUtilsLabelEXT
structure specifying parameters of the label region to open.
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
- | - | Any | - |
See Also
queueEndDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> io () Source #
vkQueueEndDebugUtilsLabelEXT - Close a queue debug label region
Parameters
queue
is the queue in which a debug label region should be closed.
Description
The calls to queueBeginDebugUtilsLabelEXT
and
queueEndDebugUtilsLabelEXT
must be matched and balanced.
Valid Usage
- There must be an outstanding
queueBeginDebugUtilsLabelEXT
command prior to thequeueEndDebugUtilsLabelEXT
on the queue
Valid Usage (Implicit)
queue
must be a validQueue
handle
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
- | - | Any | - |
See Also
queueInsertDebugUtilsLabelEXT :: forall io. MonadIO io => Queue -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io () Source #
vkQueueInsertDebugUtilsLabelEXT - Insert a label into a queue
Parameters
queue
is the queue into which a debug label will be inserted.
pLabelInfo
is a pointer to aDebugUtilsLabelEXT
structure specifying parameters of the label to insert.
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
- | - | Any | - |
See Also
cmdBeginDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io () Source #
vkCmdBeginDebugUtilsLabelEXT - Open a command buffer debug label region
Parameters
commandBuffer
is the command buffer into which the command is recorded.
pLabelInfo
is a pointer to aDebugUtilsLabelEXT
structure specifying parameters of the label region to open.
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pLabelInfo
must be a valid pointer to a validDebugUtilsLabelEXT
structurecommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics, or compute operations
Host Synchronization
- Host access to the
CommandPool
thatcommandBuffer
was allocated from must be externally synchronized
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
Primary Secondary | Both | Graphics Compute |
See Also
cmdWithDebugUtilsLabelEXT :: forall r. CommandBuffer -> DebugUtilsLabelEXT -> IO r -> IO r Source #
A safe wrapper for cmdBeginDebugUtilsLabelEXT
and
cmdEndDebugUtilsLabelEXT
using bracket_
cmdEndDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> io () Source #
vkCmdEndDebugUtilsLabelEXT - Close a command buffer label region
Parameters
commandBuffer
is the command buffer into which the command is recorded.
Description
An application may open a debug label region in one command buffer and
close it in another, or otherwise split debug label regions across
multiple command buffers or multiple queue submissions. When viewed from
the linear series of submissions to a single queue, the calls to
cmdBeginDebugUtilsLabelEXT
and cmdEndDebugUtilsLabelEXT
must be
matched and balanced.
Valid Usage
- There must be an outstanding
cmdBeginDebugUtilsLabelEXT
command prior to thecmdEndDebugUtilsLabelEXT
on the queue thatcommandBuffer
is submitted to
- If
commandBuffer
is a secondary command buffer, there must be an outstandingcmdBeginDebugUtilsLabelEXT
command recorded tocommandBuffer
that has not previously been ended by a call tocmdEndDebugUtilsLabelEXT
.
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
commandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics, or compute operations
Host Synchronization
- Host access to the
CommandPool
thatcommandBuffer
was allocated from must be externally synchronized
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
Primary Secondary | Both | Graphics Compute |
See Also
cmdInsertDebugUtilsLabelEXT :: forall io. MonadIO io => CommandBuffer -> ("labelInfo" ::: DebugUtilsLabelEXT) -> io () Source #
vkCmdInsertDebugUtilsLabelEXT - Insert a label into a command buffer
Parameters
commandBuffer
is the command buffer into which the command is recorded.
pInfo
is a pointer to aDebugUtilsLabelEXT
structure specifying parameters of the label to insert.
Valid Usage (Implicit)
commandBuffer
must be a validCommandBuffer
handle
pLabelInfo
must be a valid pointer to a validDebugUtilsLabelEXT
structurecommandBuffer
must be in the recording state- The
CommandPool
thatcommandBuffer
was allocated from must support graphics, or compute operations
Host Synchronization
- Host access to the
CommandPool
thatcommandBuffer
was allocated from must be externally synchronized
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
Primary Secondary | Both | Graphics Compute |
See Also
createDebugUtilsMessengerEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessengerCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io DebugUtilsMessengerEXT Source #
vkCreateDebugUtilsMessengerEXT - Create a debug messenger object
Parameters
instance
the instance the messenger will be used with.
pCreateInfo
is a pointer to aDebugUtilsMessengerCreateInfoEXT
structure containing the callback pointer, as well as defining conditions under which this messenger will trigger the callback.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.pMessenger
is a pointer to aDebugUtilsMessengerEXT
handle in which the created object is returned.
Valid Usage (Implicit)
instance
must be a validInstance
handle
pCreateInfo
must be a valid pointer to a validDebugUtilsMessengerCreateInfoEXT
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure pMessenger
must be a valid pointer to aDebugUtilsMessengerEXT
handle
Return Codes
The application must ensure that createDebugUtilsMessengerEXT
is not
executed in parallel with any Vulkan command that is also called with
instance
or child of instance
as the dispatchable argument.
See Also
AllocationCallbacks
,
DebugUtilsMessengerCreateInfoEXT
,
DebugUtilsMessengerEXT
,
Instance
withDebugUtilsMessengerEXT :: forall r. Instance -> DebugUtilsMessengerCreateInfoEXT -> Maybe AllocationCallbacks -> (DebugUtilsMessengerEXT -> IO r) -> IO r Source #
A safe wrapper for createDebugUtilsMessengerEXT
and
destroyDebugUtilsMessengerEXT
using bracket
The allocated value must not be returned from the provided computation
destroyDebugUtilsMessengerEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessengerEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io () Source #
vkDestroyDebugUtilsMessengerEXT - Destroy a debug messenger object
Parameters
instance
the instance where the callback was created.
messenger
theDebugUtilsMessengerEXT
object to destroy.messenger
is an externally synchronized object and must not be used on more than one thread at a time. This means thatdestroyDebugUtilsMessengerEXT
must not be called when a callback is active.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.
Valid Usage
- If
AllocationCallbacks
were provided whenmessenger
was created, a compatible set of callbacks must be provided here
- If no
AllocationCallbacks
were provided whenmessenger
was created,pAllocator
must beNULL
Valid Usage (Implicit)
instance
must be a validInstance
handle
messenger
must be a validDebugUtilsMessengerEXT
handle- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure messenger
must have been created, allocated, or retrieved frominstance
Host Synchronization
- Host access to
messenger
must be externally synchronized
The application must ensure that destroyDebugUtilsMessengerEXT
is
not executed in parallel with any Vulkan command that is also called
with instance
or child of instance
as the dispatchable argument.
See Also
submitDebugUtilsMessageEXT :: forall io. MonadIO io => Instance -> DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> DebugUtilsMessengerCallbackDataEXT -> io () Source #
vkSubmitDebugUtilsMessageEXT - Inject a message into a debug stream
Parameters
instance
is the debug stream’sInstance
.
messageSeverity
is theDebugUtilsMessageSeverityFlagBitsEXT
severity of this event/message.messageTypes
is a bitmask ofDebugUtilsMessageTypeFlagBitsEXT
specifying which type of event(s) to identify with this message.pCallbackData
contains all the callback related data in theDebugUtilsMessengerCallbackDataEXT
structure.
Description
The call will propagate through the layers and generate callback(s) as
indicated by the message’s flags. The parameters are passed on to the
callback in addition to the pUserData
value that was defined at the
time the messenger was registered.
Valid Usage
- The
objectType
member of each element ofpCallbackData->pObjects
must not beOBJECT_TYPE_UNKNOWN
Valid Usage (Implicit)
instance
must be a validInstance
handle
messageSeverity
must be a validDebugUtilsMessageSeverityFlagBitsEXT
valuemessageTypes
must be a valid combination ofDebugUtilsMessageTypeFlagBitsEXT
valuesmessageTypes
must not be0
pCallbackData
must be a valid pointer to a validDebugUtilsMessengerCallbackDataEXT
structure
See Also
DebugUtilsMessageSeverityFlagBitsEXT
, DebugUtilsMessageTypeFlagsEXT
,
DebugUtilsMessengerCallbackDataEXT
,
Instance
data DebugUtilsObjectNameInfoEXT Source #
VkDebugUtilsObjectNameInfoEXT - Specify parameters of a name to give to an object
Description
Applications may change the name associated with an object simply by
calling setDebugUtilsObjectNameEXT
again with a new string. If
pObjectName
is an empty string, then any previously set name is
removed.
Valid Usage
- If
objectType
isOBJECT_TYPE_UNKNOWN
,objectHandle
must not beNULL_HANDLE
- If
objectType
is notOBJECT_TYPE_UNKNOWN
,objectHandle
must beNULL_HANDLE
or a valid Vulkan handle of the type associated withobjectType
as defined in the VkObjectType and Vulkan Handle Relationship table
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
pNext
must beNULL
objectType
must be a validObjectType
valuepObjectName
must be a null-terminated UTF-8 string
See Also
DebugUtilsMessengerCallbackDataEXT
,
ObjectType
,
StructureType
,
setDebugUtilsObjectNameEXT
DebugUtilsObjectNameInfoEXT | |
|
Instances
Show DebugUtilsObjectNameInfoEXT Source # | |
Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils showsPrec :: Int -> DebugUtilsObjectNameInfoEXT -> ShowS # show :: DebugUtilsObjectNameInfoEXT -> String # showList :: [DebugUtilsObjectNameInfoEXT] -> ShowS # | |
FromCStruct DebugUtilsObjectNameInfoEXT Source # | |
ToCStruct DebugUtilsObjectNameInfoEXT Source # | |
Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils withCStruct :: DebugUtilsObjectNameInfoEXT -> (Ptr DebugUtilsObjectNameInfoEXT -> IO b) -> IO b Source # pokeCStruct :: Ptr DebugUtilsObjectNameInfoEXT -> DebugUtilsObjectNameInfoEXT -> IO b -> IO b Source # withZeroCStruct :: (Ptr DebugUtilsObjectNameInfoEXT -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr DebugUtilsObjectNameInfoEXT -> IO b -> IO b Source # cStructSize :: Int Source # | |
Zero DebugUtilsObjectNameInfoEXT Source # | |
data DebugUtilsObjectTagInfoEXT Source #
VkDebugUtilsObjectTagInfoEXT - Specify parameters of a tag to attach to an object
Description
The tagName
parameter gives a name or identifier to the type of data
being tagged. This can be used by debugging layers to easily filter for
only data that can be used by that implementation.
Valid Usage (Implicit)
See Also
DebugUtilsObjectTagInfoEXT | |
|
Instances
data DebugUtilsLabelEXT Source #
VkDebugUtilsLabelEXT - Specify parameters of a label region
Valid Usage (Implicit)
See Also
DebugUtilsMessengerCallbackDataEXT
,
StructureType
,
cmdBeginDebugUtilsLabelEXT
, cmdInsertDebugUtilsLabelEXT
,
queueBeginDebugUtilsLabelEXT
, queueInsertDebugUtilsLabelEXT
DebugUtilsLabelEXT | |
|
Instances
Show DebugUtilsLabelEXT Source # | |
Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils showsPrec :: Int -> DebugUtilsLabelEXT -> ShowS # show :: DebugUtilsLabelEXT -> String # showList :: [DebugUtilsLabelEXT] -> ShowS # | |
FromCStruct DebugUtilsLabelEXT Source # | |
ToCStruct DebugUtilsLabelEXT Source # | |
Defined in Graphics.Vulkan.Extensions.VK_EXT_debug_utils withCStruct :: DebugUtilsLabelEXT -> (Ptr DebugUtilsLabelEXT -> IO b) -> IO b Source # pokeCStruct :: Ptr DebugUtilsLabelEXT -> DebugUtilsLabelEXT -> IO b -> IO b Source # withZeroCStruct :: (Ptr DebugUtilsLabelEXT -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr DebugUtilsLabelEXT -> IO b -> IO b Source # cStructSize :: Int Source # | |
Zero DebugUtilsLabelEXT Source # | |
data DebugUtilsMessengerCreateInfoEXT Source #
VkDebugUtilsMessengerCreateInfoEXT - Structure specifying parameters of a newly created debug messenger
Description
For each DebugUtilsMessengerEXT
that is created the
DebugUtilsMessengerCreateInfoEXT
::messageSeverity
and
DebugUtilsMessengerCreateInfoEXT
::messageType
determine when that
DebugUtilsMessengerCreateInfoEXT
::pfnUserCallback
is called. The
process to determine if the user’s pfnUserCallback
is triggered when
an event occurs is as follows:
The implementation will perform a bitwise AND of the event’s
DebugUtilsMessageSeverityFlagBitsEXT
with themessageSeverity
provided during creation of theDebugUtilsMessengerEXT
object.- If the value is 0, the message is skipped.
The implementation will perform bitwise AND of the event’s
DebugUtilsMessageTypeFlagBitsEXT
with themessageType
provided during the creation of theDebugUtilsMessengerEXT
object.- If the value is 0, the message is skipped.
- The callback will trigger a debug message for the current event
The callback will come directly from the component that detected the event, unless some other layer intercepts the calls for its own purposes (filter them in a different way, log to a system error log, etc.).
An application can receive multiple callbacks if multiple
DebugUtilsMessengerEXT
objects are
created. A callback will always be executed in the same thread as the
originating Vulkan call.
A callback can be called from multiple threads simultaneously (if the application is making Vulkan calls from multiple threads).
Valid Usage (Implicit)
See Also
PFN_vkDebugUtilsMessengerCallbackEXT
,
DebugUtilsMessageSeverityFlagsEXT
, DebugUtilsMessageTypeFlagsEXT
,
DebugUtilsMessengerCreateFlagsEXT
,
StructureType
,
createDebugUtilsMessengerEXT
DebugUtilsMessengerCreateInfoEXT | |
|
Instances
data DebugUtilsMessengerCallbackDataEXT Source #
VkDebugUtilsMessengerCallbackDataEXT - Structure specifying parameters returned to the callback
Description
Note
This structure should only be considered valid during the lifetime of the triggered callback.
Since adding queue and command buffer labels behaves like pushing and
popping onto a stack, the order of both pQueueLabels
and
pCmdBufLabels
is based on the order the labels were defined. The
result is that the first label in either pQueueLabels
or
pCmdBufLabels
will be the first defined (and therefore the oldest)
while the last label in each list will be the most recent.
Note
pQueueLabels
will only be non-NULL if one of the objects in pObjects
can be related directly to a defined
Queue
which has had one or more labels
associated with it.
Likewise, pCmdBufLabels
will only be non-NULL if one of the objects in
pObjects
can be related directly to a defined
CommandBuffer
which has had one or more
labels associated with it. Additionally, while command buffer labels
allow for beginning and ending across different command buffers, the
debug messaging framework cannot guarantee that labels in
pCmdBufLables
will contain those defined outside of the associated
command buffer. This is partially due to the fact that the association
of one command buffer with another may not have been defined at the time
the debug message is triggered.
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT
pNext
must beNULL
flags
must be0
- If
pMessageIdName
is notNULL
,pMessageIdName
must be a null-terminated UTF-8 string pMessage
must be a null-terminated UTF-8 string- If
queueLabelCount
is not0
,pQueueLabels
must be a valid pointer to an array ofqueueLabelCount
validDebugUtilsLabelEXT
structures - If
cmdBufLabelCount
is not0
,pCmdBufLabels
must be a valid pointer to an array ofcmdBufLabelCount
validDebugUtilsLabelEXT
structures - If
objectCount
is not0
,pObjects
must be a valid pointer to an array ofobjectCount
validDebugUtilsObjectNameInfoEXT
structures
See Also
DebugUtilsLabelEXT
, DebugUtilsMessengerCallbackDataFlagsEXT
,
DebugUtilsObjectNameInfoEXT
,
StructureType
,
submitDebugUtilsMessageEXT
DebugUtilsMessengerCallbackDataEXT | |
|
Instances
newtype DebugUtilsMessengerCreateFlagsEXT Source #
Instances
newtype DebugUtilsMessengerCallbackDataFlagsEXT Source #
Instances
newtype DebugUtilsMessageSeverityFlagBitsEXT Source #
VkDebugUtilsMessageSeverityFlagBitsEXT - Bitmask specifying which severities of events cause a debug messenger callback
See Also
DebugUtilsMessageSeverityFlagsEXT
, submitDebugUtilsMessageEXT
pattern DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT |
|
pattern DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT |
|
pattern DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT |
|
pattern DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: DebugUtilsMessageSeverityFlagBitsEXT |
|
Instances
newtype DebugUtilsMessageTypeFlagBitsEXT Source #
VkDebugUtilsMessageTypeFlagBitsEXT - Bitmask specifying which types of events cause a debug messenger callback
See Also
pattern DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT |
|
pattern DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT |
|
pattern DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: DebugUtilsMessageTypeFlagBitsEXT |
|
Instances
type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr FN_vkDebugUtilsMessengerCallbackEXT Source #
PFN_vkDebugUtilsMessengerCallbackEXT - Application-defined debug messenger callback function
Parameters
messageSeverity
specifies theDebugUtilsMessageSeverityFlagBitsEXT
that triggered this callback.
messageTypes
is a bitmask ofDebugUtilsMessageTypeFlagBitsEXT
specifying which type of event(s) triggered this callback.pCallbackData
contains all the callback related data in theDebugUtilsMessengerCallbackDataEXT
structure.pUserData
is the user data provided when theDebugUtilsMessengerEXT
was created.
Description
The callback must not call destroyDebugUtilsMessengerEXT
.
The callback returns a Bool32
, which
is interpreted in a layer-specified manner. The application should
always return FALSE
. The
TRUE
value is reserved for use in
layer development.
See Also
type FN_vkDebugUtilsMessengerCallbackEXT = DebugUtilsMessageSeverityFlagBitsEXT -> ("messageTypes" ::: DebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr DebugUtilsMessengerCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO Bool32 Source #
type EXT_DEBUG_UTILS_SPEC_VERSION = 1 Source #
pattern EXT_DEBUG_UTILS_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils" Source #
pattern EXT_DEBUG_UTILS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
newtype DebugUtilsMessengerEXT Source #
VkDebugUtilsMessengerEXT - Opaque handle to a debug messenger object
Description
The debug messenger will provide detailed feedback on the application’s use of Vulkan when events of interest occur. When an event of interest does occur, the debug messenger will submit a debug message to the debug callback that was provided during its creation. Additionally, the debug messenger is responsible with filtering out debug messages that the callback is not interested in and will only provide desired debug messages.