// Copyright 2020-2024 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 // Common Valid Usage // Common to VkBufferImageCopy*, VkMemoryToImageCopy* and VkImageToMemoryCopy* // structs // This relies on additional attributes {bufferrowlength} and // {bufferimageheight} set by the command which includes this file, specifying // the type of the non-image target of the copy (which is either buffer* or // memory*). * [[VUID-{refpage}-{bufferrowlength}-99101]] pname:{bufferrowlength} must: be `0`, or greater than or equal to the pname:width member of pname:imageExtent * [[VUID-{refpage}-{bufferimageheight}-99102]] pname:{bufferimageheight} must: be `0`, or greater than or equal to the pname:height member of pname:imageExtent * [[VUID-{refpage}-aspectMask-99103]] The pname:aspectMask member of pname:imageSubresource must: only have a single bit set * [[VUID-{refpage}-imageExtent-96659]] pname:imageExtent.width must: not be 0 * [[VUID-{refpage}-imageExtent-96660]] pname:imageExtent.height must: not be 0 * [[VUID-{refpage}-imageExtent-96661]] pname:imageExtent.depth must: not be 0 // Common Valid Usage