1// Copyright 2020-2023 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5// Common Valid Usage 6// Common to VkBufferImageCopy*, VkMemoryToImageCopy* and VkImageToMemoryCopy* 7// structs 8// This relies on additional attributes {bufferrowlength} and 9// {bufferimageheight} set by the command which includes this file, specifying 10// the type of the non-image target of the copy (which is either buffer* or 11// memory*). 12 13 * [[VUID-{refpage}-{bufferrowlength}-99101]] 14 pname:{bufferrowlength} must: be `0`, or greater than or equal to the 15 pname:width member of pname:imageExtent 16 * [[VUID-{refpage}-{bufferimageheight}-99102]] 17 pname:{bufferimageheight} must: be `0`, or greater than or equal to the 18 pname:height member of pname:imageExtent 19 * [[VUID-{refpage}-aspectMask-99103]] 20 The pname:aspectMask member of pname:imageSubresource must: only have a 21 single bit set 22 * [[VUID-{refpage}-imageExtent-96659]] 23 pname:imageExtent.width must: not be 0 24 * [[VUID-{refpage}-imageExtent-96660]] 25 pname:imageExtent.height must: not be 0 26 * [[VUID-{refpage}-imageExtent-96661]] 27 pname:imageExtent.depth must: not be 0 28// Common Valid Usage 29