VKIMAGEBLIT(3)

NAME
VkImageBlit - Structure specifying an image blit operation

C SPECIFICATION

The VkImageBlit structure is defined as:

    typedef struct VkImageBlit {
        VkImageSubresourceLayers    srcSubresource;
        VkOffset3D                  srcOffsets[2];
        VkImageSubresourceLayers    dstSubresource;
        VkOffset3D                  dstOffsets[2];
    } VkImageBlit;

MEMBERS

    • srcSubresource is the subresource to blit from.

    • srcOffsets is an array of two VkOffset3D structures specifying the bounds of the source region within srcSubresource.

    • dstSubresource is the subresource to blit into.

    • dstOffsets is an array of two VkOffset3D structures specifying the bounds of the destination region within dstSubresource.

DESCRIPTION

For each element of the pRegions array, a blit operation is performed the specified source and destination regions. Valid Usage

    • The aspectMask member of srcSubresource and dstSubresource must match

    • The layerCount member of srcSubresource and dstSubresource must match

    • If either of the calling command’s srcImage or dstImage parameters are of VkImageType VK_IMAGE_TYPE_3D, the baseArrayLayer and layerCount members of both srcSubresource and dstSubresource must be 0 and 1, respectively

    • The aspectMask member of srcSubresource must specify aspects present in the calling command’s srcImage

    • The aspectMask member of dstSubresource must specify aspects present in the calling command’s dstImage

    • The layerCount member of dstSubresource must be equal to the layerCount member of srcSubresource

    • srcOffset[0].x and srcOffset[1].x must both be greater than or equal to 0 and less than or equal to the source image subresource width

    • srcOffset[0].y and srcOffset[1].y must both be greater than or equal to 0 and less than or equal to the source image subresource height

    • If the calling command’s srcImage is of type VK_IMAGE_TYPE_1D, then srcOffset[0].y must be 0 and srcOffset[1].y must be 1.

    • srcOffset[0].z and srcOffset[1].z must both be greater than or equal to 0 and less than or equal to the source image subresource depth

    • If the calling command’s srcImage is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then srcOffset[0].z must be 0 and srcOffset[1].z must be 1.

    • dstOffset[0].x and dstOffset[1].x must both be greater than or equal to 0 and less than or equal to the destination image subresource width

    • dstOffset[0].y and dstOffset[1].y must both be greater than or equal to 0 and less than or equal to the destination image subresource height

    • If the calling command’s dstImage is of type VK_IMAGE_TYPE_1D, then dstOffset[0].y must be 0 and dstOffset[1].y must be 1.

    • dstOffset[0].z and dstOffset[1].z must both be greater than or equal to 0 and less than or equal to the destination image subresource depth

    • If the calling command’s dstImage is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then dstOffset[0].z must be 0 and dstOffset[1].z must be 1.
Valid Usage (Implicit)

    • srcSubresource must be a valid VkImageSubresourceLayers structure

    • dstSubresource must be a valid VkImageSubresourceLayers structure

SEE ALSO

VkImageSubresourceLayers, VkOffset3D, vkCmdBlitImage

DOCUMENT NOTES

For more information, see the Vulkan Specification at URL

https://www.khronos.org/registry/vulkan/specs/1.0/xhtml/vkspec.html#VkImageBlit

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification,not directly.

COPYRIGHT

Copyright (c) 2014-2016 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.

AUTHOR

Khronos Group
    Author.