## C Specification

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);

## Parameters

• 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 this 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 string detailing the trigger conditions.

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

Valid Usage
Valid Usage (Implicit)
• instance must be a valid VkInstance handle

• flags must be a valid combination of VkDebugReportFlagBitsEXT values

• flags must not be 0

• objectType must be a valid VkDebugReportObjectTypeEXT value

• pLayerPrefix must be a null-terminated UTF-8 string

• pMessage must be a null-terminated UTF-8 string

## Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.