// WARNING: DO NOT MODIFY! This file is automatically generated from the vk.xml registry ifndef::doctype-manpage[] .Valid Usage ******************************************************************************** endif::doctype-manpage[] ifdef::doctype-manpage[] Valid Usage ----------- endif::doctype-manpage[] * pname:imageSubresource must: be a valid sname:VkImageSubresourceLayers structure * pname:bufferOffset must: be a multiple of the calling command's sname:VkImage parameter's texel size * pname:bufferOffset must: be a multiple of `4` * pname:bufferRowLength must: be `0`, or greater than or equal to the pname:width member of pname:imageExtent * pname:bufferImageHeight must: be `0`, or greater than or equal to the pname:height member of pname:imageExtent * pname:imageOffset.x and (pname:imageExtent.width + pname:imageOffset.x) must: both be greater than or equal to `0` and less than or equal to the image subresource width * pname:imageOffset.y and (imageExtent.height + pname:imageOffset.y) must: both be greater than or equal to `0` and less than or equal to the image subresource height * pname:imageOffset.z and (imageExtent.depth + pname: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 sname:VkImage parameter is a compressed format image: * pname:bufferRowLength, pname:bufferImageHeight and all members of pname:imageOffset must: be a multiple of the block size in the relevant dimensions * pname:bufferOffset must: be a multiple of the block size in bytes * pname:imageExtent.width must: be a multiple of the block width or (pname:imageExtent.width + pname:imageOffset.x) must: equal the image subresource width * pname:imageExtent.height must: be a multiple of the block height or (pname:imageExtent.height + pname:imageOffset.y) must: equal the image subresource height * pname:imageExtent.depth must: be a multiple of the block depth or (pname:imageExtent.depth + pname:imageOffset.z) must: equal the image subresource depth * pname:bufferOffset, pname:bufferRowLength, pname:bufferImageHeight and all members of pname:imageOffset and pname:imageExtent must: respect the image transfer granularity requirements of the queue family that it will be submitted against, as described in <> * The pname:aspectMask member of pname:imageSubresource must: specify aspects present in the calling command's sname:VkImage parameter * The pname:aspectMask member of pname:imageSubresource must: only have a single bit set * If the calling command's sname:VkImage parameter is of elink:VkImageType ename:VK_IMAGE_TYPE_3D, the pname:baseArrayLayer and pname:layerCount members of pname:imageSubresource must: be `0` and `1`, respectively ifndef::doctype-manpage[] ******************************************************************************** endif::doctype-manpage[]