C Specification

There may be times that a user wishes to intentionally submit a debug message. To do this, call:

// Provided by VK_EXT_debug_utils
void vkSubmitDebugUtilsMessageEXT(
    VkInstance                                  instance,
    VkDebugUtilsMessageSeverityFlagBitsEXT      messageSeverity,
    VkDebugUtilsMessageTypeFlagsEXT             messageTypes,
    const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData);



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

Valid Usage
  • VUID-vkSubmitDebugUtilsMessageEXT-objectType-02591
    The objectType member of each element of pCallbackData->pObjects must not be VK_OBJECT_TYPE_UNKNOWN

Valid Usage (Implicit)
  • VUID-vkSubmitDebugUtilsMessageEXT-instance-parameter
    instance must be a valid VkInstance handle

  • VUID-vkSubmitDebugUtilsMessageEXT-messageSeverity-parameter
    messageSeverity must be a valid VkDebugUtilsMessageSeverityFlagBitsEXT value

  • VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-parameter
    messageTypes must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values

  • VUID-vkSubmitDebugUtilsMessageEXT-messageTypes-requiredbitmask
    messageTypes must not be 0

  • VUID-vkSubmitDebugUtilsMessageEXT-pCallbackData-parameter
    pCallbackData must be a valid pointer to a valid VkDebugUtilsMessengerCallbackDataEXT structure

See Also

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 2014-2022 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0