Class VkDebugUtilsMessengerCallbackDataEXT

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class VkDebugUtilsMessengerCallbackDataEXT
    extends Struct
    implements NativeResource
    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 be STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT
    • pNext must be NULL
    • flags must be 0
    • If pMessageIdName is not NULL, pMessageIdName must be a null-terminated UTF-8 string
    • pMessage must be a null-terminated UTF-8 string
    • objectCount must be greater than 0
    See Also

    VkDebugUtilsLabelEXT, VkDebugUtilsObjectNameInfoEXT, SubmitDebugUtilsMessageEXT

    Member documentation

    • sType – the type of this structure.
    • pNextNULL or a pointer to an extension-specific structure.
    • flags – 0 and reserved for future use.
    • pMessageIdName – a null-terminated 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 may contain the portion of the Vulkan specification that is believed to have been violated.
    • messageIdNumber – the ID number of the triggering message. If the message corresponds to a validation layer message, then this number is related to the internal number associated with the message being triggered.
    • pMessage – a null-terminated string detailing the trigger conditions.
    • queueLabelCount – a count of items contained in the pQueueLabels array.
    • pQueueLabels – NULL or a pointer to an array of VkDebugUtilsLabelEXT active in the current VkQueue at the time the callback was triggered. Refer to Queue Labels for more information.
    • cmdBufLabelCount – a count of items contained in the pCmdBufLabels array.
    • pCmdBufLabels – NULL or a pointer to an array of VkDebugUtilsLabelEXT active in the current VkCommandBuffer at the time the callback was triggered. Refer to Command Buffer Labels for more information.
    • objectCount – a count of items contained in the pObjects array.
    • pObjects – 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.

    Layout

    
     struct VkDebugUtilsMessengerCallbackDataEXT {
         VkStructureType sType;
         void const * pNext;
         VkDebugUtilsMessengerCallbackDataFlagsEXT flags;
         char const * pMessageIdName;
         int32_t messageIdNumber;
         char const * pMessage;
         uint32_t queueLabelCount;
         VkDebugUtilsLabelEXT * pQueueLabels;
         uint32_t cmdBufLabelCount;
         VkDebugUtilsLabelEXT * pCmdBufLabels;
         uint32_t objectCount;
         VkDebugUtilsObjectNameInfoEXT * pObjects;
     }