Function Prototype

vkDebugReportMessageEXT

Inject a message into a debug stream

To inject its own messages into the debug stream, call:

void vkDebugReportMessageEXT(
    VkInstance instance,
    VkDebugReportFlagsEXT flags,
    VkDebugReportObjectTypeEXT objectType,
    uint64_t object,
    size_t location,
    int32_t messageCode,
    const char* pLayerPrefix,
    const char* pMessage);
  • instance is the debug stream’s VkInstance.
  • flags specifies the VkDebugReportFlagBitsEXT classification of this event/message.
  • objectType is a VkDebugReportObjectTypeEXT specifying the type of object being used or created at the time the event was triggered.
  • object is the object where the issue was detected. object can be VK_NULL_HANDLE if there is no object associated with the event.
  • location is an application-defined value.
  • messageCode is an application-defined value.
  • pLayerPrefix is the abbreviation of the component making this event/message.
  • pMessage is a null-terminated UTF-8 string detailing the trigger conditions.

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 callback was registered.

Valid Usage

VUID-vkDebugReportMessageEXT-objectType-01498

If objectType is not VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT and object is not VK_NULL_HANDLE, object must be a Vulkan object of the corresponding type associated with objectType as defined in Table 1. VkDebugReportObjectTypeEXT and Vulkan Handle Relationship

Valid Usage (Implicit)