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