C Specification

Debug report callbacks give more detailed feedback on the application’s use of Vulkan when events of interest occur.

To register a debug report callback, an application uses vkCreateDebugReportCallbackEXT.

// Provided by VK_EXT_debug_report
VkResult vkCreateDebugReportCallbackEXT(
    VkInstance                                  instance,
    const VkDebugReportCallbackCreateInfoEXT*   pCreateInfo,
    const VkAllocationCallbacks*                pAllocator,
    VkDebugReportCallbackEXT*                   pCallback);


  • instance is the instance the callback will be logged on.

  • pCreateInfo is a pointer to a VkDebugReportCallbackCreateInfoEXT structure defining the conditions under which this callback will be called.

  • pAllocator controls host memory allocation as described in the Memory Allocation chapter.

  • pCallback is a pointer to a VkDebugReportCallbackEXT handle in which the created object is returned.


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

  • VUID-vkCreateDebugReportCallbackEXT-pCreateInfo-parameter
    pCreateInfo must be a valid pointer to a valid VkDebugReportCallbackCreateInfoEXT structure

  • VUID-vkCreateDebugReportCallbackEXT-pAllocator-parameter
    If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure

  • VUID-vkCreateDebugReportCallbackEXT-pCallback-parameter
    pCallback must be a valid pointer to a VkDebugReportCallbackEXT handle

Return Codes
On success, this command returns

On failure, this command returns

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

SPDX-License-Identifier: CC-BY-4.0