# vkDestroyDebugUtilsMessengerEXT(3) Manual Page

## Name

vkDestroyDebugUtilsMessengerEXT - Destroy a debug messenger object

## C Specification

To destroy a `VkDebugUtilsMessengerEXT` object, call:

    void vkDestroyDebugUtilsMessengerEXT(
        VkInstance                                  instance,
        VkDebugUtilsMessengerEXT                    messenger,
        const VkAllocationCallbacks*                pAllocator);

## Parameters

- `instance` the instance where the callback was created.

- `messenger` 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

- If `VkAllocationCallbacks` were provided when `messenger` was created, a compatible set of callbacks must be provided here

- If no `VkAllocationCallbacks` were provided when `messenger` was created, `pAllocator` must be `NULL`

Valid Usage (Implicit)

- `instance` must be a valid VkInstance handle

- `messenger` must be a valid VkDebugUtilsMessengerEXT handle

- If `pAllocator` is not `NULL`, `pAllocator` must be a valid pointer to a valid VkAllocationCallbacks structure

- `messenger` 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

VkAllocationCallbacks, VkDebugUtilsMessengerEXT, 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-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.