Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype VkDebugUtilsMessageSeverityFlagBitsEXT = VkDebugUtilsMessageSeverityFlagBitsEXT VkFlags
- pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT
- pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT
- pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT
- pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT
- newtype VkDebugUtilsMessageTypeFlagBitsEXT = VkDebugUtilsMessageTypeFlagBitsEXT VkFlags
- pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT
- pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT
- pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT
- newtype VkDebugUtilsMessengerCreateFlagsEXT = VkDebugUtilsMessengerCreateFlagsEXT VkFlags
- newtype VkDebugUtilsMessengerCallbackDataFlagsEXT = VkDebugUtilsMessengerCallbackDataFlagsEXT VkFlags
- pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT :: VkStructureType
- pattern VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: VkObjectType
- pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION :: Integral a => a
- pattern VK_EXT_DEBUG_UTILS_EXTENSION_NAME :: (Eq a, IsString a) => a
- type PFN_vkDebugUtilsMessengerCallbackEXT = Ptr (("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageType" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO VkBool32)
- type VkDebugUtilsMessengerEXT = Ptr VkDebugUtilsMessengerEXT_T
- vkSetDebugUtilsObjectNameEXT :: ("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult
- vkSetDebugUtilsObjectTagEXT :: ("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult
- vkQueueBeginDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()
- vkQueueEndDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> IO ()
- vkQueueInsertDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()
- vkCmdBeginDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()
- vkCmdEndDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> IO ()
- vkCmdInsertDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()
- vkCreateDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult
- vkDestroyDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()
- vkSubmitDebugUtilsMessageEXT :: ("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()
- data VkDebugUtilsObjectNameInfoEXT = VkDebugUtilsObjectNameInfoEXT {}
- data VkDebugUtilsObjectTagInfoEXT = VkDebugUtilsObjectTagInfoEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkObjectType :: VkObjectType
- vkObjectHandle :: Word64
- vkTagName :: Word64
- vkTagSize :: CSize
- vkPTag :: Ptr ()
- data VkDebugUtilsLabelEXT = VkDebugUtilsLabelEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkPLabelName :: Ptr CChar
- vkColor :: Vector 4 CFloat
- data VkDebugUtilsMessengerCreateInfoEXT = VkDebugUtilsMessengerCreateInfoEXT {}
- data VkDebugUtilsMessengerCallbackDataEXT = VkDebugUtilsMessengerCallbackDataEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkFlags :: VkDebugUtilsMessengerCallbackDataFlagsEXT
- vkPMessageIdName :: Ptr CChar
- vkMessageIdNumber :: Int32
- vkPMessage :: Ptr CChar
- vkQueueLabelCount :: Word32
- vkPQueueLabels :: Ptr VkDebugUtilsLabelEXT
- vkCmdBufLabelCount :: Word32
- vkPCmdBufLabels :: Ptr VkDebugUtilsLabelEXT
- vkObjectCount :: Word32
- vkPObjects :: Ptr VkDebugUtilsObjectNameInfoEXT
- type VkDebugUtilsMessageSeverityFlagsEXT = VkDebugUtilsMessageSeverityFlagBitsEXT
- type VkDebugUtilsMessageTypeFlagsEXT = VkDebugUtilsMessageTypeFlagBitsEXT
Documentation
newtype VkDebugUtilsMessageSeverityFlagBitsEXT Source #
VkDebugUtilsMessageSeverityFlagBitsEXT - Bitmask specifying which severities of events cause a debug messenger callback
See Also
VkDebugUtilsMessageSeverityFlagsEXT
, vkSubmitDebugUtilsMessageEXT
Instances
pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT
specifies the most
verbose output indicating all diagnostic messages from the Vulkan
loader, layers, and drivers should be captured.
pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT
specifies an
informational message such as resource details that may be handy when
debugging an application.
pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT
specifies use of
Vulkan that may expose an app bug. Such cases may not be immediately
harmful, such as a fragment shader outputting to a location with no
attachment. Other cases may point to behavior that is almost certainly
bad when unintended such as using an image whose memory has not been
filled. In general if you see a warning but you know that the behavior
is intended/desired, then simply ignore the warning.
pattern VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT :: VkDebugUtilsMessageSeverityFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT
specifies that an error
that may cause undefined results, including an application crash.
newtype VkDebugUtilsMessageTypeFlagBitsEXT Source #
VkDebugUtilsMessageTypeFlagBitsEXT - Bitmask specifying which types of events cause a debug messenger callback
See Also
Instances
pattern VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT
specifies that some
general event has occurred. This is typically a non-specification,
non-performance event.
pattern VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT
specifies that
something has occurred during validation against the Vulkan
specification that may indicate invalid behavior.
pattern VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT :: VkDebugUtilsMessageTypeFlagBitsEXT Source #
VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT
specifies a
potentially non-optimal use of Vulkan, e.g. using
vkCmdClearColorImage
when
setting VkAttachmentDescription
::loadOp
to VK_ATTACHMENT_LOAD_OP_CLEAR
would have worked.
newtype VkDebugUtilsMessengerCreateFlagsEXT Source #
Instances
newtype VkDebugUtilsMessengerCallbackDataFlagsEXT Source #
Instances
pattern VK_EXT_DEBUG_UTILS_SPEC_VERSION :: Integral a => a Source #
pattern VK_EXT_DEBUG_UTILS_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
type PFN_vkDebugUtilsMessengerCallbackEXT = Ptr (("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageType" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> ("pUserData" ::: Ptr ()) -> IO VkBool32) Source #
PFN_vkDebugUtilsMessengerCallbackEXT - Application-defined debug messenger callback function
Parameters
messageSeverity
specifies theVkDebugUtilsMessageSeverityFlagBitsEXT
that triggered this callback.
messageTypes
specifies theVkDebugUtilsMessageTypeFlagBitsEXT
that triggered this callback.pCallbackData
contains all the callback related data in theVkDebugUtilsMessengerCallbackDataEXT
structure.pUserData
is the user data provided when theVkDebugUtilsMessengerEXT
was created.
Description
The callback must not call vkDestroyDebugUtilsMessengerEXT
.
The callback returns a VkBool32
, which is interpreted in a
layer-specified manner. The application should always return
VK_FALSE
. The VK_TRUE
value is reserved for use in layer
development.
See Also
type VkDebugUtilsMessengerEXT = Ptr VkDebugUtilsMessengerEXT_T 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 isn’t interested in and will only provide desired debug messages.
See Also
vkCreateDebugUtilsMessengerEXT
, vkDestroyDebugUtilsMessengerEXT
vkSetDebugUtilsObjectNameEXT :: ("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult Source #
vkSetDebugUtilsObjectNameEXT - Give a user-friendly name to an object
Parameters
device
is the device that created the object.
pNameInfo
is a pointer to an instance of theVkDebugUtilsObjectNameInfoEXT
structure specifying the parameters of the name to set on the object.
Valid Usage (Implicit)
device
must be a validVkDevice
handle
pNameInfo
must be a valid pointer to a validVkDebugUtilsObjectNameInfoEXT
structure
Host Synchronization
- Host access to
pNameInfo.objectHandle
must be externally synchronized
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_OUT_OF_HOST_MEMORY
VK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
vkSetDebugUtilsObjectTagEXT :: ("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult Source #
vkSetDebugUtilsObjectTagEXT - Attach arbitrary data to an object
Parameters
device
is the device that created the object.
pTagInfo
is a pointer to an instance of theVkDebugUtilsObjectTagInfoEXT
structure specifying the parameters of the tag to attach to the object.
Valid Usage (Implicit)
device
must be a validVkDevice
handle
pTagInfo
must be a valid pointer to a validVkDebugUtilsObjectTagInfoEXT
structure
Host Synchronization
- Host access to
pTagInfo.objectHandle
must be externally synchronized
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_OUT_OF_HOST_MEMORY
VK_ERROR_OUT_OF_DEVICE_MEMORY
See Also
vkQueueBeginDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> 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 an instance of theVkDebugUtilsLabelEXT
structure specifying the parameters of the label region to open.
Valid Usage (Implicit)
queue
must be a validVkQueue
handle
pLabelInfo
must be a valid pointer to a validVkDebugUtilsLabelEXT
structure
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
- | - | Any | - |
See Also
vkQueueEndDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> 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 vkQueueBeginDebugUtilsLabelEXT
and
vkQueueEndDebugUtilsLabelEXT
must be matched and balanced.
Valid Usage
- There must be an outstanding
vkQueueBeginDebugUtilsLabelEXT
command prior to thevkQueueEndDebugUtilsLabelEXT
on the queue
Valid Usage (Implicit)
queue
must be a validVkQueue
handle
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
- | - | Any | - |
See Also
vkQueueInsertDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> 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 an instance of theVkDebugUtilsLabelEXT
structure specifying the parameters of the label to insert.
Valid Usage (Implicit)
queue
must be a validVkQueue
handle
pLabelInfo
must be a valid pointer to a validVkDebugUtilsLabelEXT
structure
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
- | - | Any | - |
See Also
vkCmdBeginDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> 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 an instance of theVkDebugUtilsLabelEXT
structure specifying the parameters of the label region to open.
Valid Usage (Implicit)
commandBuffer
must be a validVkCommandBuffer
handle
pLabelInfo
must be a valid pointer to a validVkDebugUtilsLabelEXT
structurecommandBuffer
must be in the recording state- The
VkCommandPool
thatcommandBuffer
was allocated from must support graphics, or compute operations
Host Synchronization
- Host access to the
VkCommandPool
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
vkCmdEndDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> 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
vkCmdBeginDebugUtilsLabelEXT
and vkCmdEndDebugUtilsLabelEXT
must
be matched and balanced.
Valid Usage
- There must be an outstanding
vkCmdBeginDebugUtilsLabelEXT
command prior to thevkCmdEndDebugUtilsLabelEXT
on the queue thatcommandBuffer
is submitted to
- If
commandBuffer
is a secondary command buffer, there must be an outstandingvkCmdBeginDebugUtilsLabelEXT
command recorded tocommandBuffer
that has not previously been ended by a call tovkCmdEndDebugUtilsLabelEXT
.
Valid Usage (Implicit)
commandBuffer
must be a validVkCommandBuffer
handle
commandBuffer
must be in the recording state- The
VkCommandPool
thatcommandBuffer
was allocated from must support graphics, or compute operations
Host Synchronization
- Host access to the
VkCommandPool
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
vkCmdInsertDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> 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 an instance of theVkDebugUtilsLabelEXT
structure specifying the parameters of the label to insert.
Valid Usage (Implicit)
commandBuffer
must be a validVkCommandBuffer
handle
pLabelInfo
must be a valid pointer to a validVkDebugUtilsLabelEXT
structurecommandBuffer
must be in the recording state- The
VkCommandPool
thatcommandBuffer
was allocated from must support graphics, or compute operations
Host Synchronization
- Host access to the
VkCommandPool
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
vkCreateDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult Source #
vkCreateDebugUtilsMessengerEXT - Create a debug messenger object
Parameters
instance
the instance the messenger will be used with.
pCreateInfo
points to aVkDebugUtilsMessengerCreateInfoEXT
structure which contains the callback pointer as well as defines the 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 record theVkDebugUtilsMessengerEXT
object created.
Valid Usage (Implicit)
instance
must be a validVkInstance
handle
pCreateInfo
must be a valid pointer to a validVkDebugUtilsMessengerCreateInfoEXT
structure- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure pMessenger
must be a valid pointer to aVkDebugUtilsMessengerEXT
handle
Return Codes
[Success]
- VK_SUCCESS
[Failure]
- VK_ERROR_OUT_OF_HOST_MEMORY
See Also
VkAllocationCallbacks
,
VkDebugUtilsMessengerCreateInfoEXT
, VkDebugUtilsMessengerEXT
,
VkInstance
vkDestroyDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () Source #
vkDestroyDebugUtilsMessengerEXT - Destroy a debug messenger object
Parameters
instance
the instance where the callback was created.
messenger
theVkDebugUtilsMessengerEXT
object to destroy.messenger
is an externally synchronized object and must not be used on more than one thread at a time. This means thatvkDestroyDebugUtilsMessengerEXT
must not be called when a callback is active.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.
Valid Usage
- If
VkAllocationCallbacks
were provided whenmessenger
was created, a compatible set of callbacks must be provided here
- If no
VkAllocationCallbacks
were provided whenmessenger
was created,pAllocator
must beNULL
Valid Usage (Implicit)
instance
must be a validVkInstance
handle
messenger
must be a validVkDebugUtilsMessengerEXT
handle- If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validVkAllocationCallbacks
structure messenger
must have been created, allocated, or retrieved frominstance
Host Synchronization
- Host access to
messenger
must be externally synchronized
See Also
vkSubmitDebugUtilsMessageEXT :: ("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO () Source #
vkSubmitDebugUtilsMessageEXT - Inject a message into a debug stream
Parameters
instance
is the debug stream’sVkInstance
.
messageSeverity
is theVkDebugUtilsMessageSeverityFlagBitsEXT
severity of this event/message.messageTypes
is a bitmask ofVkDebugUtilsMessageTypeFlagBitsEXT
specifying which type of event(s) to identify with this message.pCallbackData
contains all the callback related data in theVkDebugUtilsMessengerCallbackDataEXT
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 (Implicit)
instance
must be a validVkInstance
handle
messageSeverity
must be a validVkDebugUtilsMessageSeverityFlagBitsEXT
valuemessageTypes
must be a valid combination ofVkDebugUtilsMessageTypeFlagBitsEXT
valuesmessageTypes
must not be0
pCallbackData
must be a valid pointer to a validVkDebugUtilsMessengerCallbackDataEXT
structure
See Also
VkDebugUtilsMessageSeverityFlagBitsEXT
,
VkDebugUtilsMessageTypeFlagsEXT
,
VkDebugUtilsMessengerCallbackDataEXT
,
VkInstance
data VkDebugUtilsObjectNameInfoEXT 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 vkSetDebugUtilsObjectNameEXT
again with a new string. If
pObjectName
is an empty string, then any previously set name is
removed.
Valid Usage
objectType
must not beVK_OBJECT_TYPE_UNKNOWN
objectHandle
must not beVK_NULL_HANDLE
objectHandle
must be a Vulkan object of the type associated withobjectType
as defined in {html_spec_relative}#debugging-object-types.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
pNext
must beNULL
objectType
must be a validVkObjectType
value- If
pObjectName
is notNULL
,pObjectName
must be a null-terminated UTF-8 string
See Also
VkDebugUtilsMessengerCallbackDataEXT
,
VkObjectType
,
VkStructureType
,
vkSetDebugUtilsObjectNameEXT
VkDebugUtilsObjectNameInfoEXT | |
|
Instances
data VkDebugUtilsObjectTagInfoEXT 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
objectType
must not beVK_OBJECT_TYPE_UNKNOWN
objectHandle
must not beVK_NULL_HANDLE
objectHandle
must be a Vulkan object of the type associated withobjectType
as defined in {html_spec_relative}#debugging-object-types.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT
pNext
must beNULL
objectType
must be a validVkObjectType
valuepTag
must be a valid pointer to an array oftagSize
bytestagSize
must be greater than0
See Also
VkDebugUtilsObjectTagInfoEXT | |
|
Instances
data VkDebugUtilsLabelEXT Source #
VkDebugUtilsLabelEXT - Specify parameters of a label region
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT
pNext
must beNULL
pLabelName
must be a null-terminated UTF-8 string
See Also
VkDebugUtilsMessengerCallbackDataEXT
,
VkStructureType
,
vkCmdBeginDebugUtilsLabelEXT
, vkCmdInsertDebugUtilsLabelEXT
,
vkQueueBeginDebugUtilsLabelEXT
, vkQueueInsertDebugUtilsLabelEXT
VkDebugUtilsLabelEXT | |
|
Instances
Eq VkDebugUtilsLabelEXT Source # | |
(==) :: VkDebugUtilsLabelEXT -> VkDebugUtilsLabelEXT -> Bool # (/=) :: VkDebugUtilsLabelEXT -> VkDebugUtilsLabelEXT -> Bool # | |
Show VkDebugUtilsLabelEXT Source # | |
showsPrec :: Int -> VkDebugUtilsLabelEXT -> ShowS # show :: VkDebugUtilsLabelEXT -> String # showList :: [VkDebugUtilsLabelEXT] -> ShowS # | |
Storable VkDebugUtilsLabelEXT Source # | |
sizeOf :: VkDebugUtilsLabelEXT -> Int # alignment :: VkDebugUtilsLabelEXT -> Int # peekElemOff :: Ptr VkDebugUtilsLabelEXT -> Int -> IO VkDebugUtilsLabelEXT # pokeElemOff :: Ptr VkDebugUtilsLabelEXT -> Int -> VkDebugUtilsLabelEXT -> IO () # peekByteOff :: Ptr b -> Int -> IO VkDebugUtilsLabelEXT # pokeByteOff :: Ptr b -> Int -> VkDebugUtilsLabelEXT -> IO () # peek :: Ptr VkDebugUtilsLabelEXT -> IO VkDebugUtilsLabelEXT # poke :: Ptr VkDebugUtilsLabelEXT -> VkDebugUtilsLabelEXT -> IO () # |
data VkDebugUtilsMessengerCreateInfoEXT Source #
VkDebugUtilsMessengerCreateInfoEXT - Structure specifying parameters of a newly created debug messenger
Description
For each VkDebugUtilsMessengerEXT
that is created the
VkDebugUtilsMessengerCreateInfoEXT
::messageSeverity
and
VkDebugUtilsMessengerCreateInfoEXT
::messageTypes
determine when that
VkDebugUtilsMessengerCreateInfoEXT
::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
VkDebugUtilsMessageSeverityFlagBitsEXT
with themessageSeverity
provided during creation of theVkDebugUtilsMessengerEXT
object.- If the value is 0, the message is skipped.
The implementation will perform bitwise AND of the event’s
VkDebugUtilsMessageTypeFlagBitsEXT
with themessageType
provided during the creation of theVkDebugUtilsMessengerEXT
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
VkDebugUtilsMessengerEXT
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
pfnUserCallback
must be a validPFN_vkDebugUtilsMessengerCallbackEXT
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
flags
must be0
messageSeverity
must be a valid combination ofVkDebugUtilsMessageSeverityFlagBitsEXT
valuesmessageSeverity
must not be0
messageType
must be a valid combination ofVkDebugUtilsMessageTypeFlagBitsEXT
valuesmessageType
must not be0
See Also
PFN_vkDebugUtilsMessengerCallbackEXT
,
VkDebugUtilsMessageSeverityFlagsEXT
,
VkDebugUtilsMessageTypeFlagsEXT
,
VkDebugUtilsMessengerCreateFlagsEXT
,
VkStructureType
,
vkCreateDebugUtilsMessengerEXT
VkDebugUtilsMessengerCreateInfoEXT | |
|
Instances
data VkDebugUtilsMessengerCallbackDataEXT 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 VkQueue
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 VkCommandBuffer
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 beVK_STRUCTURE_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 stringobjectCount
must be greater than0
See Also
VkDebugUtilsLabelEXT
, VkDebugUtilsMessengerCallbackDataFlagsEXT
,
VkDebugUtilsObjectNameInfoEXT
,
VkStructureType
,
vkSubmitDebugUtilsMessageEXT
VkDebugUtilsMessengerCallbackDataEXT | |
|