# vkDestroyInstance(3) Manual Page

## Name

vkDestroyInstance - Destroy an instance of Vulkan

Loading… please wait.

## C Specification

To destroy an instance, call:

    // Provided by VK_VERSION_1_0
    void vkDestroyInstance(
        VkInstance                                  instance,
        const VkAllocationCallbacks*                pAllocator);

## Parameters

- `instance` is the handle of the instance to destroy.

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

## Description

Prior to destroying an instance, an application is responsible for destroying/freeing any Vulkan objects with explicit `vkDestroy*` or `vkFree*` commands that were created using that instance, or any VkPhysicalDevice object retrieved from it, as the first parameter of the corresponding `vkCreate*` or `vkAllocate*` command.

Valid Usage

- VUID-vkDestroyInstance-instance-00629
  All child objects that were created with `instance` or with a VkPhysicalDevice retrieved from it, and that can be destroyed or freed, must have been destroyed or freed prior to destroying `instance`

- VUID-vkDestroyInstance-instance-00630
  If `VkAllocationCallbacks` were provided when `instance` was created, a compatible set of callbacks must be provided here

- VUID-vkDestroyInstance-instance-00631
  If no `VkAllocationCallbacks` were provided when `instance` was created, `pAllocator` must be `NULL`

Valid Usage (Implicit)

- VUID-vkDestroyInstance-instance-parameter
  If `instance` is not `NULL`, `instance` must be a valid VkInstance handle

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

Host Synchronization

- Host access to `instance` must be externally synchronized

- Host access to all `VkPhysicalDevice` objects enumerated from `instance` must be externally synchronized

## See Also

VK_VERSION_1_0, VkAllocationCallbacks, 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 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0