1// Copyright 2020-2024 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5// Common Valid Usage 6// Common to VkCmdCopyBufferToImage* command buffer 7ifdef::VK_VERSION_1_1[] 8 * [[VUID-{refpage}-commandBuffer-91828]] 9 If pname:commandBuffer is an unprotected command buffer and 10 <<limits-protectedNoFault, pname:protectedNoFault>> is not supported, 11 pname:srcBuffer must: not be a protected buffer 12 * [[VUID-{refpage}-commandBuffer-91829]] 13 If pname:commandBuffer is an unprotected command buffer and 14 <<limits-protectedNoFault, pname:protectedNoFault>> is not supported, 15 pname:dstImage must: not be a protected image 16 * [[VUID-{refpage}-commandBuffer-91830]] 17 If pname:commandBuffer is a protected command buffer and 18 <<limits-protectedNoFault, pname:protectedNoFault>> is not supported, 19 pname:dstImage must: not be an unprotected image 20endif::VK_VERSION_1_1[] 21 * [[VUID-{refpage}-commandBuffer-97737]] 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-97738]] 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 * [[VUID-{refpage}-commandBuffer-97739]] 33 If the queue family used to create the slink:VkCommandPool which 34 pname:commandBuffer was allocated from does not support 35 ename:VK_QUEUE_GRAPHICS_BIT, for each element of {regionsparam}, the 36 pname:aspectMask member of pname:imageSubresource must: not be 37 ename:VK_IMAGE_ASPECT_DEPTH_BIT or ename:VK_IMAGE_ASPECT_STENCIL_BIT 38 39// Common Valid Usage 40