vkDebugReportMessageEXT(3)

# vkDebugReportMessageEXT(3) Manual Page

## Name

vkDebugReportMessageEXT - Inject a message into a debug stream

## 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

- `object` must be a Vulkan object or VK_NULL_HANDLE

- 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 https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#debug-report-object-types.

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

## See Also

VkDebugReportFlagsEXT, VkDebugReportObjectTypeEXT, VkInstance

## 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.

## Copyright

Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.