VkDebugUtilsMessengerCallbackDataEXT
The definition of VkDebugUtilsMessengerCallbackDataEXT is:
typedef struct VkDebugUtilsMessengerCallbackDataEXT {
VkStructureType sType;
const void* pNext;
VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
const char* pMessageIdName;
int32_t messageIdNumber;
const char* pMessage;
uint32_t queueLabelCount;
const VkDebugUtilsLabelEXT* pQueueLabels;
uint32_t cmdBufLabelCount;
const VkDebugUtilsLabelEXT* pCmdBufLabels;
uint32_t objectCount;
const VkDebugUtilsObjectNameInfoEXT* pObjects;
} VkDebugUtilsMessengerCallbackDataEXT;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.flagsis0and is reserved for future use.pMessageIdNameisNULLor a null-terminated UTF-8 string that identifies the particular message ID that is associated with the provided message. If the message corresponds to a validation layer message, then this string will be the VUID.messageIdNumberis the ID number of the triggering message. If the message corresponds to a validation layer message, then this number is an internal hash of the VUID.pMessageisNULLifmessageTypesis equal toVK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT, or a null-terminated UTF-8 string detailing the trigger conditions. If the message corresponds to a validation layer message, then this will contain the main message with the specification text and link.queueLabelCountis a count of items contained in thepQueueLabelsarray.pQueueLabelsisNULLor a pointer to an array of VkDebugUtilsLabelEXT active in the currentVkQueueat the time the callback was triggered. Refer to Queue Labels for more information.cmdBufLabelCountis a count of items contained in thepCmdBufLabelsarray.pCmdBufLabelsisNULLor a pointer to an array of VkDebugUtilsLabelEXT active in the currentVkCommandBufferat the time the callback was triggered. Refer to Command Buffer Labels for more information.objectCountis a count of items contained in thepObjectsarray.pObjectsis a pointer to an array of VkDebugUtilsObjectNameInfoEXT objects related to the detected issue. The array is roughly in order or importance, but the 0th element is always guaranteed to be the most important object for this message.
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.
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)
VUID-VkDebugUtilsMessengerCallbackDataEXT-sType-sType
sType must be VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT
VUID-VkDebugUtilsMessengerCallbackDataEXT-pNext-pNext
pNext must be NULL or a pointer to a valid instance of VkDeviceAddressBindingCallbackDataEXT
VUID-VkDebugUtilsMessengerCallbackDataEXT-sType-unique
The sType value of each structure in the pNext chain must be unique
VUID-VkDebugUtilsMessengerCallbackDataEXT-flags-zerobitmask
flags must be 0
VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessageIdName-parameter
If pMessageIdName is not NULL, pMessageIdName must be a null-terminated UTF-8 string
VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter
If pMessage is not NULL, pMessage must be a null-terminated UTF-8 string
VUID-VkDebugUtilsMessengerCallbackDataEXT-pQueueLabels-parameter
If queueLabelCount is not 0, pQueueLabels must be a valid pointer to an array of queueLabelCount valid VkDebugUtilsLabelEXT structures
VUID-VkDebugUtilsMessengerCallbackDataEXT-pCmdBufLabels-parameter
If cmdBufLabelCount is not 0, pCmdBufLabels must be a valid pointer to an array of cmdBufLabelCount valid VkDebugUtilsLabelEXT structures
VUID-VkDebugUtilsMessengerCallbackDataEXT-pObjects-parameter
If objectCount is not 0, pObjects must be a valid pointer to an array of objectCount valid VkDebugUtilsObjectNameInfoEXT structures