## C Specification

To destroy an image, call:

void vkDestroyImage(
VkDevice                                    device,
VkImage                                     image,
const VkAllocationCallbacks*                pAllocator);

## Parameters

• device is the logical device that destroys the image.

• image is the image to destroy.

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

## Description

Valid Usage
• All submitted commands that refer to image, either directly or via a VkImageView, must have completed execution

• If VkAllocationCallbacks were provided when image was created, a compatible set of callbacks must be provided here

• If no VkAllocationCallbacks were provided when image was created, pAllocator must be NULL

Valid Usage (Implicit)
• device must be a valid VkDevice handle

• If image is not VK_NULL_HANDLE, image must be a valid VkImage handle

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

• If image is a valid handle, it must have been created, allocated, or retrieved from device

Host Synchronization
• Host access to image must be externally synchronized