Structures
VkImageCopy
Structure specifying an image copy operation
The VkImageCopy structure is defined as:
typedef struct VkImageCopy {
VkImageSubresourceLayers srcSubresource;
VkOffset3D srcOffset;
VkImageSubresourceLayers dstSubresource;
VkOffset3D dstOffset;
VkExtent3D extent;
} VkImageCopy;
pub struct ImageCopy {
src_subresource: vk::ImageSubresourceLayers,
src_offset: vk::Offset3D, // Specified in pixels for both compressed and uncompressed images
dst_subresource: vk::ImageSubresourceLayers,
dst_offset: vk::Offset3D, // Specified in pixels for both compressed and uncompressed images
extent: vk::Extent3D, // Specified in pixels for both compressed and uncompressed images
}
srcSubresourceanddstSubresourceare VkImageSubresourceLayers structures specifying the image subresources of the images used for the source and destination image data, respectively.srcOffsetanddstOffsetselect the initialx,y, andzoffsets in texels of the sub-regions of the source and destination image data.extentis the size in texels of the image to copy inwidth,heightanddepth.
Valid Usage
VUID-VkImageCopy-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-VkImageCopy-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-VkImageCopy-extent-06668
extent.width must not be 0
VUID-VkImageCopy-extent-06669
extent.height must not be 0
VUID-VkImageCopy-extent-06670
extent.depth must not be 0
Valid Usage (Implicit)
VUID-VkImageCopy-srcSubresource-parameter
srcSubresource must be a valid VkImageSubresourceLayers structure
VUID-VkImageCopy-dstSubresource-parameter
dstSubresource must be a valid VkImageSubresourceLayers structure
Parent
VK_VERSION_1_0Type
Structures