vkDestroySurfaceKHR(3)

# vkDestroySurfaceKHR(3) Manual Page

## Name

vkDestroySurfaceKHR - Destroy a VkSurfaceKHR object

## C Specification

To destroy a `VkSurfaceKHR` object, call:

    void vkDestroySurfaceKHR(
        VkInstance                                  instance,
        VkSurfaceKHR                                surface,
        const VkAllocationCallbacks*                pAllocator);

## Parameters

- `instance` is the instance used to create the surface.

- `surface` is the surface to destroy.

- `pAllocator` is the allocator used for host memory allocated for the surface object when there is no more specific allocator available (see Memory Allocation).

## Description

Destroying a `VkSurfaceKHR` merely severs the connection between Vulkan and the native surface, and does not imply destroying the native surface, closing a window, or similar behavior.

Valid Usage

- All `VkSwapchainKHR` objects created for `surface` must have been destroyed prior to destroying `surface`

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

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

Valid Usage (Implicit)

- `instance` must be a valid VkInstance handle

- If `surface` is not VK_NULL_HANDLE, `surface` must be a valid VkSurfaceKHR handle

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

- If `surface` is a valid handle, it must have been created, allocated, or retrieved from `instance`

Host Synchronization

- Host access to `surface` must be externally synchronized

## See Also

VkAllocationCallbacks, VkInstance, VkSurfaceKHR

## 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.