C Specification

To destroy a VkDebugUtilsMessengerEXT object, call:

// Provided by VK_EXT_debug_utils
void vkDestroyDebugUtilsMessengerEXT(
    VkInstance                                  instance,
    VkDebugUtilsMessengerEXT                    messenger,
    const VkAllocationCallbacks*                pAllocator);

Parameters

  • instance is the instance where the callback was created.

  • messenger is the VkDebugUtilsMessengerEXT object to destroy. messenger is an externally synchronized object and must not be used on more than one thread at a time. This means that vkDestroyDebugUtilsMessengerEXT must not be called when a callback is active.

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

Description

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

  • VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parameter
    If messenger is not VK_NULL_HANDLE, messenger must be a valid VkDebugUtilsMessengerEXT handle

  • VUID-vkDestroyDebugUtilsMessengerEXT-pAllocator-null
    pAllocator must be NULL

  • VUID-vkDestroyDebugUtilsMessengerEXT-messenger-parent
    If messenger is a valid handle, it must have been created, allocated, or retrieved from instance

Host Synchronization
  • Host access to messenger must be externally synchronized

The application must ensure that vkDestroyDebugUtilsMessengerEXT is not executed in parallel with any Vulkan command that is also called with instance or child of instance as the dispatchable argument.

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