VKBUFFERIMAGECOPY(3)

NAME
VkBufferImageCopy - Stub page (not yet written)

C SPECIFICATION

    typedef struct VkBufferImageCopy {
        VkDeviceSize                bufferOffset;
        uint32_t                    bufferRowLength;
        uint32_t                    bufferImageHeight;
        VkImageSubresourceLayers    imageSubresource;
        VkOffset3D                  imageOffset;
        VkExtent3D                  imageExtent;
    } VkBufferImageCopy;

This is a stub page. Content has not been filled in yet. Khronos is aware of the problem and working on it as time allows; please do not file Github issues bringing the missing content to our attention.

FIELDS

DESCRIPTION

VALID USAGE

    • imageSubresource must be a valid VkImageSubresourceLayers structure

    • bufferOffset must be a multiple of the calling command’s VkImage parameter’s texel size

    • bufferOffset must be a multiple of 4

    • bufferRowLength must be 0, or greater than or equal to the width member of imageExtent

    • bufferImageHeight must be 0, or greater than or equal to the height member of imageExtent

    • imageOffset.x and (imageExtent.width + imageOffset.x) must both be greater than or equal to 0 and less than or equal to the image subresource width

    • imageOffset.y and (imageExtent.height + imageOffset.y) must both be greater than or equal to 0 and less than or equal to the image subresource height

    • imageOffset.z and (imageExtent.depth + imageOffset.z) must both be greater than or equal to 0 and less than or equal to the image subresource depth

    • If the calling command’s VkImage parameter is a compressed format image:

        • bufferRowLength must be a multiple of the compressed texel block width

        • bufferImageHeight must be a multiple of the compressed texel block height

        • all members of imageOffset must be a multiple of the corresponding dimensions of the compressed texel block

        • bufferOffset must be a multiple of the compressed texel block size in bytes

        • imageExtent.width must be a multiple of the compressed texel block width or (imageExtent.width + imageOffset.x) must equal the image subresource width

        • imageExtent.height must be a multiple of the compressed texel block height or (imageExtent.height + imageOffset.y) must equal the image subresource height

        • imageExtent.depth must be a multiple of the compressed texel block depth or (imageExtent.depth + imageOffset.z) must equal the image subresource depth

    • bufferOffset, bufferRowLength, bufferImageHeight and all members of imageOffset and imageExtent must respect the image transfer granularity requirements of the queue family that it will be submitted against, as described in Physical Device Enumeration

    • The aspectMask member of imageSubresource must specify aspects present in the calling command’s VkImage parameter

    • The aspectMask member of imageSubresource must only have a single bit set

    • If the calling command’s VkImage parameter is of VkImageType VK_IMAGE_TYPE_3D, the baseArrayLayer and layerCount members of imageSubresource must be 0 and 1, respectively

SEE ALSO

COPYRIGHT

Copyright © 2014-2016 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.

AUTHOR

Khronos Group
    Author.