// Copyright 2020-2024 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to VkCmdCopyBufferToImage* command buffer
ifdef::VK_VERSION_1_1[]
  * [[VUID-{refpage}-commandBuffer-91828]]
    If pname:commandBuffer is an unprotected command buffer and
    <<limits-protectedNoFault, pname:protectedNoFault>> is not supported,
    pname:srcBuffer must: not be a protected buffer
  * [[VUID-{refpage}-commandBuffer-91829]]
    If pname:commandBuffer is an unprotected command buffer and
    <<limits-protectedNoFault, pname:protectedNoFault>> is not supported,
    pname:dstImage must: not be a protected image
  * [[VUID-{refpage}-commandBuffer-91830]]
    If pname:commandBuffer is a protected command buffer and
    <<limits-protectedNoFault, pname:protectedNoFault>> is not supported,
    pname:dstImage must: not be an unprotected image
endif::VK_VERSION_1_1[]
  * [[VUID-{refpage}-commandBuffer-97737]]
    If the queue family used to create the slink:VkCommandPool which
    pname:commandBuffer was allocated from does not support
    ename:VK_QUEUE_GRAPHICS_BIT or ename:VK_QUEUE_COMPUTE_BIT, the
    pname:bufferOffset member of any element of {regionsparam} must: be a
    multiple of `4`
  * [[VUID-{refpage}-imageOffset-97738]]
    The pname:imageOffset and pname:imageExtent members of each element of
    {regionsparam} must: respect the image transfer granularity requirements
    of pname:commandBuffer's command pool's queue family, as described in
    slink:VkQueueFamilyProperties
  * [[VUID-{refpage}-commandBuffer-97739]]
    If the queue family used to create the slink:VkCommandPool which
    pname:commandBuffer was allocated from does not support
    ename:VK_QUEUE_GRAPHICS_BIT, for each element of {regionsparam}, the
    pname:aspectMask member of pname:imageSubresource must: not be
    ename:VK_IMAGE_ASPECT_DEPTH_BIT or ename:VK_IMAGE_ASPECT_STENCIL_BIT

// Common Valid Usage
