pRegions, must not overlap in memorysrcImage must contain FORMAT_FEATURE_TRANSFER_SRC_BITsrcImageLayout must specify the layout of the image subresources of srcImage specified in pRegions at the time this command is executed on a VkDevicesrcImageLayout must be IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, IMAGE_LAYOUT_GENERAL, or IMAGE_LAYOUT_SHARED_PRESENT_KHRdstImage must contain FORMAT_FEATURE_TRANSFER_DST_BITdstImageLayout must specify the layout of the image subresources of dstImage specified in pRegions at the time this command is executed on a VkDevicedstImageLayout must be IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, IMAGE_LAYOUT_GENERAL, or IMAGE_LAYOUT_SHARED_PRESENT_KHRVkFormat of each of srcImage and dstImage is not a multi-planar format, the VkFormat of each of srcImage and dstImage must be size-compatibleVkFormat of the image and plane must be compatible according to the description of compatible planes for the plane being copiedsrcImage and dstImage must matchsrcOffset and extent members of each element of pRegions must respect the image transfer granularity requirements of commandBuffer’s command pool’s queue family, as described in VkQueueFamilyPropertiesdstOffset and extent members of each element of pRegions must respect the image transfer granularity requirements of commandBuffer’s command pool’s queue family, as described in VkQueueFamilyPropertiessrcImage nor dstImage has a multi-planar image format then for each element of pRegions, srcSubresource.aspectMask and dstSubresource.aspectMask must matchsrcImage has a multi-planar image format, then for each element of pRegions, srcSubresource.aspectMask must be a single valid multi-planar aspect mask bitdstImage has a multi-planar image format, then for each element of pRegions, dstSubresource.aspectMask must be a single valid multi-planar aspect mask bitsrcImage has a multi-planar image format and the dstImage does not have a multi-planar image format, then for each element of pRegions, dstSubresource.aspectMask must be IMAGE_ASPECT_COLOR_BITdstImage has a multi-planar image format and the srcImage does not have a multi-planar image format, then for each element of pRegions, srcSubresource.aspectMask must be IMAGE_ASPECT_COLOR_BITVK_KHR_maintenance1 extension is not enabled, VkPhysicalDeviceProperties::apiVersion is less than Vulkan 1.1, and either srcImage or dstImage is of type IMAGE_TYPE_3D, then for each element of pRegions, srcSubresource.baseArrayLayer and dstSubresource.baseArrayLayer must each be 0, and srcSubresource.layerCount and dstSubresource.layerCount must each be 1srcImage is of type IMAGE_TYPE_3D, then for each element of pRegions, srcSubresource.baseArrayLayer must be 0 and srcSubresource.layerCount must be 1dstImage is of type IMAGE_TYPE_3D, then for each element of pRegions, dstSubresource.baseArrayLayer must be 0 and dstSubresource.layerCount must be 1pRegions, srcSubresource.aspectMask must specify aspects present in srcImagepRegions, dstSubresource.aspectMask must specify aspects present in dstImagepRegions, srcOffset.x and (extent.width + srcOffset.x) must both be greater than or equal to 0 and less than or equal to the width of the specified srcSubresource of srcImagepRegions, srcOffset.y and (extent.height + srcOffset.y) must both be greater than or equal to 0 and less than or equal to the height of the specified srcSubresource of srcImagesrcImage is of type IMAGE_TYPE_1D, then for each element of pRegions, srcOffset.y must be 0 and extent.height must be 1srcImage is of type IMAGE_TYPE_3D, then for each element of pRegions, srcOffset.z and (extent.depth + srcOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified srcSubresource of srcImagesrcImage is of type IMAGE_TYPE_1D, then for each element of pRegions, srcOffset.z must be 0 and extent.depth must be 1dstImage is of type IMAGE_TYPE_1D, then for each element of pRegions, dstOffset.z must be 0 and extent.depth must be 1srcImage is of type IMAGE_TYPE_2D, then for each element of pRegions, srcOffset.z must be 0dstImage is of type IMAGE_TYPE_2D, then for each element of pRegions, dstOffset.z must be 0VK_KHR_maintenance1 extension is not enabled, VkPhysicalDeviceProperties::apiVersion is less than Vulkan 1.1, srcImage and dstImage must have the same VkImageTypeVK_KHR_maintenance1 extension is not enabled, VkPhysicalDeviceProperties::apiVersion is less than Vulkan 1.1, and srcImage or dstImage is of type IMAGE_TYPE_2D, then for each element of pRegions, extent.depth must be 1srcImage and dstImage have a different VkImageType, and maintenance5 is not enabled, one must be IMAGE_TYPE_3D and the other must be IMAGE_TYPE_2Dmaintenance5 feature is not enabled, the layerCount member of srcSubresource or dstSubresource must not be REMAINING_ARRAY_LAYERSsrcImage and dstImage have the same VkImageType, and neither of the layerCount members of srcSubresource or dstSubresource are REMAINING_ARRAY_LAYERS, the layerCount members must matchsrcImage and dstImage have the same VkImageType, and one of the layerCount members of srcSubresource or dstSubresource is REMAINING_ARRAY_LAYERS, the other member must be either REMAINING_ARRAY_LAYERS or equal to the arrayLayers member of the VkImageCreateInfo used to create the image minus baseArrayLayersrcImage and dstImage are both of type IMAGE_TYPE_2D, then for each element of pRegions, extent.depth must be 1srcImage is of type IMAGE_TYPE_2D, and dstImage is of type IMAGE_TYPE_3D, then for each element of pRegions, extent.depth must equal srcSubresource.layerCountdstImage is of type IMAGE_TYPE_2D, and srcImage is of type IMAGE_TYPE_3D, then for each element of pRegions, extent.depth must equal dstSubresource.layerCountpRegions, dstOffset.x and (extent.width + dstOffset.x) must both be greater than or equal to 0 and less than or equal to the width of the specified dstSubresource of dstImagepRegions, dstOffset.y and (extent.height + dstOffset.y) must both be greater than or equal to 0 and less than or equal to the height of the specified dstSubresource of dstImagedstImage is of type IMAGE_TYPE_1D, then for each element of pRegions, dstOffset.y must be 0 and extent.height must be 1dstImage is of type IMAGE_TYPE_3D, then for each element of pRegions, dstOffset.z and (extent.depth + dstOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified dstSubresource of dstImagepRegions, srcOffset.x must be a multiple of the texel block extent width of the VkFormat of srcImagepRegions, srcOffset.y must be a multiple of the texel block extent height of the VkFormat of srcImagepRegions, srcOffset.z must be a multiple of the texel block extent depth of the VkFormat of srcImagepRegions, dstOffset.x must be a multiple of the texel block extent width of the VkFormat of dstImagepRegions, dstOffset.y must be a multiple of the texel block extent height of the VkFormat of dstImagepRegions, dstOffset.z must be a multiple of the texel block extent depth of the VkFormat of dstImagepRegions, if the sum of srcOffset.x and extent.width does not equal the width of the subresource specified by srcSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of srcImagepRegions, if the sum of srcOffset.y and extent.height does not equal the height of the subresource specified by srcSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of srcImagepRegions, if the sum of srcOffset.z and extent.depth does not equal the depth of the subresource specified by srcSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of srcImagepRegions, if the sum of dstOffset.x and extent.width does not equal the width of the subresource specified by dstSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of dstImagepRegions, if the sum of dstOffset.y and extent.height does not equal the height of the subresource specified by dstSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of dstImagepRegions, if the sum of dstOffset.z and extent.depth does not equal the depth of the subresource specified by dstSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of dstImageaspect member of any element of pRegions includes any flag other than IMAGE_ASPECT_STENCIL_BIT or srcImage was not created with separate stencil usage, IMAGE_USAGE_TRANSFER_SRC_BIT must have been included in the VkImageCreateInfo::usage used to create srcImageaspect member of any element of pRegions includes any flag other than IMAGE_ASPECT_STENCIL_BIT or dstImage was not created with separate stencil usage, IMAGE_USAGE_TRANSFER_DST_BIT must have been included in the VkImageCreateInfo::usage used to create dstImageaspect member of any element of pRegions includes IMAGE_ASPECT_STENCIL_BIT, and srcImage was created with separate stencil usage, IMAGE_USAGE_TRANSFER_SRC_BIT must have been included in the VkImageStencilUsageCreateInfo::stencilUsage used to create srcImageaspect member of any element of pRegions includes IMAGE_ASPECT_STENCIL_BIT, and dstImage was created with separate stencil usage, IMAGE_USAGE_TRANSFER_DST_BIT must have been included in the VkImageStencilUsageCreateInfo::stencilUsage used to create dstImagesrcImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory objectsrcSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when srcImage was createdsrcSubresource.baseArrayLayer + srcSubresource.layerCount of each element of pRegions , if srcSubresource.layerCount is not REMAINING_ARRAY_LAYERS and maintenance5 is not enabled, must be less than or equal to the arrayLayers specified in VkImageCreateInfo when srcImage was createdsrcImage must not have been created with flags containing IMAGE_CREATE_SUBSAMPLED_BIT_EXTdstImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory objectdstSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when dstImage was createddstSubresource.baseArrayLayer + dstSubresource.layerCount of each element of pRegions , if dstSubresource.layerCount is not REMAINING_ARRAY_LAYERS and maintenance5 is not enabled, must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was createddstImage must not have been created with flags containing IMAGE_CREATE_SUBSAMPLED_BIT_EXTsType must be STRUCTURE_TYPE_COPY_IMAGE_INFO_2pNext must be NULLsrcImage must be a valid VkImage handlesrcImageLayout must be a valid VkImageLayout valuedstImage must be a valid VkImage handledstImageLayout must be a valid VkImageLayout valuepRegions must be a valid pointer to an array of regionCount valid VkImageCopy2 structuresregionCount must be greater than 0dstImage, and srcImage must have been created, allocated, or retrieved from the same VkDeviceVkImageCopy2, CmdCopyImage2, CmdCopyImage2KHR
struct VkCopyImageInfo2 {
VkStructureType sType;
void const * pNext;
VkImage srcImage;
VkImageLayout srcImageLayout;
VkImage dstImage;
VkImageLayout dstImageLayout;
uint32_t regionCount;
VkImageCopy2 const * pRegions;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkCopyImageInfo2.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | DSTIMAGE
The struct member offsets. |
| public static final int | DSTIMAGELAYOUT
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PREGIONS
The struct member offsets. |
| public static final int | REGIONCOUNT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | SRCIMAGE
The struct member offsets. |
| public static final int | SRCIMAGELAYOUT
The struct member offsets. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkCopyImageInfo2(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkCopyImageInfo2 | |
| public static VkCopyImageInfo2. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkCopyImageInfo2 | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkCopyImageInfo2. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkCopyImageInfo2 | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkCopyImageInfo2 | |
| public static VkCopyImageInfo2 | |
| public static VkCopyImageInfo2. | create(int
the buffer capacity capacity)Returns a new |
| public static VkCopyImageInfo2. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkCopyImageInfo2 | |
| public static VkCopyImageInfo2. | |
| public long | |
| public VkCopyImageInfo2 | |
| public int | |
| public VkCopyImageInfo2 | |
| public static VkCopyImageInfo2 | |
| public static VkCopyImageInfo2. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkCopyImageInfo2 | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkCopyImageInfo2. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static VkImageCopy2. | |
| public static void | |
| public static int | |
| public static void | nregionCount(long struct, int value)
Sets the specified value to the |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkCopyImageInfo2 | |
| public VkImageCopy2. | |
| public VkCopyImageInfo2 | pRegions(VkImageCopy2.
Sets the address of the specified |
| public int | |
| public VkCopyImageInfo2 | set(int sType, long pNext, long srcImage, int srcImageLayout, long dstImage, int dstImageLayout, VkImageCopy2.
Initializes this struct with the specified values. |
| public VkCopyImageInfo2 | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public long | |
| public VkCopyImageInfo2 | |
| public int | |
| public VkCopyImageInfo2 | |
| public int | |
| public VkCopyImageInfo2 | |
| public VkCopyImageInfo2 | |
| public static void |