Function Prototype

vkDestroyImage

Destroy an image object

To destroy an image, call:

void vkDestroyImage(
    VkDevice device,
    VkImage image,
    const VkAllocationCallbacks* pAllocator);
  • 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.

Valid Usage

VUID-vkDestroyImage-image-01000

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

VUID-vkDestroyImage-image-01001

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

VUID-vkDestroyImage-image-01002

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

VUID-vkDestroyImage-image-04882

image must not have been acquired from vkGetSwapchainImagesKHR

Valid Usage (Implicit)

VUID-vkDestroyImage-device-parameter

device must be a valid VkDevice handle

VUID-vkDestroyImage-image-parameter

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

VUID-vkDestroyImage-pAllocator-parameter

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

VUID-vkDestroyImage-image-parent

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 ::