VkImageCopy2(3)

# VkImageCopy2(3) Manual Page

## Name

VkImageCopy2 - Structure specifying an image copy operation

Loading… please wait.

## C Specification

The `VkImageCopy2` structure is defined as:

    // Provided by VK_VERSION_1_3
    typedef struct VkImageCopy2 {
        VkStructureType             sType;
        const void*                 pNext;
        VkImageSubresourceLayers    srcSubresource;
        VkOffset3D                  srcOffset;
        VkImageSubresourceLayers    dstSubresource;
        VkOffset3D                  dstOffset;
        VkExtent3D                  extent;
    } VkImageCopy2;

    // Provided by VK_KHR_copy_commands2
    // Equivalent to VkImageCopy2
    typedef VkImageCopy2 VkImageCopy2KHR;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `srcSubresource` and `dstSubresource` are VkImageSubresourceLayers structures specifying the image subresources of the images used for the source and destination image data, respectively.

- `srcOffset` and `dstOffset` select the initial `x`, `y`, and `z` offsets in texels of the sub-regions of the source and destination image data.

- `extent` is the size in texels of the image to copy in `width`, `height` and `depth`.

## Description

Valid Usage

- VUID-VkImageCopy2-apiVersion-07940
  If the VK_KHR_sampler_ycbcr_conversion extension is not enabled, and VkPhysicalDeviceProperties::`apiVersion` is less than Vulkan 1.1, the `aspectMask` member of `srcSubresource` and `dstSubresource` must match

- VUID-VkImageCopy2-apiVersion-07941
  If the VK_KHR_maintenance1 extension is not enabled, and VkPhysicalDeviceProperties::`apiVersion` is less than Vulkan 1.1, the `layerCount` member of `srcSubresource` and `dstSubresource` must match

- VUID-VkImageCopy2-extent-06668
  `extent.width` must not be 0

- VUID-VkImageCopy2-extent-06669
  `extent.height` must not be 0

- VUID-VkImageCopy2-extent-06670
  `extent.depth` must not be 0

Valid Usage (Implicit)

- VUID-VkImageCopy2-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_IMAGE_COPY_2

- VUID-VkImageCopy2-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkImageCopy2-srcSubresource-parameter
  `srcSubresource` must be a valid VkImageSubresourceLayers structure

- VUID-VkImageCopy2-dstSubresource-parameter
  `dstSubresource` must be a valid VkImageSubresourceLayers structure

## See Also

VK_KHR_copy_commands2, VK_VERSION_1_3, VkCopyImageInfo2, VkCopyImageToImageInfo, VkExtent3D, VkImageSubresourceLayers, VkOffset3D, VkStructureType

## 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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0