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 VkCmdCopyImageToBuffer* command buffer
7ifdef::VK_VERSION_1_1[]
8  * [[VUID-{refpage}-commandBuffer-01831]]
9    If pname:commandBuffer is an unprotected command buffer and
10    <<limits-protectedNoFault, pname:protectedNoFault>> is not supported,
11    pname:srcImage must: not be a protected image
12  * [[VUID-{refpage}-commandBuffer-01832]]
13    If pname:commandBuffer is an unprotected command buffer and
14    <<limits-protectedNoFault, pname:protectedNoFault>> is not supported,
15    pname:dstBuffer must: not be a protected buffer
16  * [[VUID-{refpage}-commandBuffer-01833]]
17    If pname:commandBuffer is a protected command buffer and
18    <<limits-protectedNoFault, pname:protectedNoFault>> is not supported,
19    pname:dstBuffer must: not be an unprotected buffer
20endif::VK_VERSION_1_1[]
21  * [[VUID-{refpage}-commandBuffer-07746]]
22    If the queue family used to create the slink:VkCommandPool which
23    pname:commandBuffer was allocated from does not support
24    ename:VK_QUEUE_GRAPHICS_BIT or ename:VK_QUEUE_COMPUTE_BIT, the
25    pname:bufferOffset member of any element of {regionsparam} must: be a
26    multiple of `4`
27  * [[VUID-{refpage}-imageOffset-07747]]
28    The pname:imageOffset and pname:imageExtent members of each element of
29    {regionsparam} must: respect the image transfer granularity requirements
30    of pname:commandBuffer's command pool's queue family, as described in
31    slink:VkQueueFamilyProperties
32
33// Common Valid Usage
34