blob: 16433805d4e4bc2de270fa50363ba795db8e6040 [file] [log] [blame]
// Copyright 2020-2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
// Common Valid Usage
// Common to VkCmdCopyBufferToImage* commands
* [[VUID-{refpage}-pRegions-00171]]
pname:srcBuffer must: be large enough to contain all buffer locations
that are accessed according to <<copies-buffers-images-addressing,Buffer
and Image Addressing>>, for each element of pname:pRegions
* [[VUID-{refpage}-pRegions-10000]]
The union of all source regions, and the union of all destination
regions, specified by the elements of pname:pRegions, must: not overlap
in memory
* [[VUID-{refpage}-srcBuffer-10001]]
pname:srcBuffer must: have been created with
ename:VK_BUFFER_USAGE_TRANSFER_SRC_BIT usage flag
ifdef::VK_VERSION_1_1,VK_KHR_maintenance1[]
* [[VUID-{refpage}-dstImage-10002]]
The <<resources-image-format-features,format features>> of
pname:dstImage must: contain ename:VK_FORMAT_FEATURE_TRANSFER_DST_BIT
endif::VK_VERSION_1_1,VK_KHR_maintenance1[]
* [[VUID-{refpage}-srcBuffer-00176]]
If pname:srcBuffer is non-sparse then it must: be bound completely and
contiguously to a single sname:VkDeviceMemory object
* [[VUID-{refpage}-dstImage-00177]]
pname:dstImage must: have been created with
ename:VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
* [[VUID-{refpage}-dstImage-00178]]
If pname:dstImage is non-sparse then it must: be bound completely and
contiguously to a single sname:VkDeviceMemory object
* [[VUID-{refpage}-dstImage-10003]]
pname:dstImage must: have a sample count equal to
ename:VK_SAMPLE_COUNT_1_BIT
* [[VUID-{refpage}-dstImageLayout-10004]]
pname:dstImageLayout must: specify the layout of the image subresources
of pname:dstImage specified in pname:pRegions at the time this command
is executed on a sname:VkDevice
ifndef::VK_KHR_shared_presentable_image[]
* [[VUID-{refpage}-dstImageLayout-00181]]
pname:dstImageLayout must: be ename:VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
or ename:VK_IMAGE_LAYOUT_GENERAL
endif::VK_KHR_shared_presentable_image[]
// Common Valid Usage