// Copyright 2023-2024 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 // Common Valid Usage // Common to vk*Copy* commands that have image as source and/or destination. // This relies on an additional attribute {imageparam} set by the command // which includes this file, specifying the name of the source or // destination image. // Additionally, it relies on the {imagesubresource} attribute to specify the // field in pRegions corresponding to {imageparam} ifndef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] * [[VUID-{refpage}-{imageparam}-97965]] If pname:{imageparam} is non-sparse then it must: be bound completely and contiguously to a single sname:VkDeviceMemory object endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] * [[VUID-{refpage}-{imageparam}-97966]] If pname:{imageparam} is non-sparse then the image or the specified _disjoint_ plane must: be bound completely and contiguously to a single sname:VkDeviceMemory object endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[] * [[VUID-{refpage}-{imagesubresource}-97967]] The pname:{imagesubresource}.mipLevel member of each element of pname:pRegions must: be less than the pname:mipLevels specified in slink:VkImageCreateInfo when pname:{imageparam} was created * [[VUID-{refpage}-{imagesubresource}-97968]] The [eq]#pname:{imagesubresource}.baseArrayLayer {plus} pname:{imageSubresource}.layerCount# of each element of pname:pRegions ifdef::VK_KHR_maintenance5[] , if pname:{imageSubresource}.layerCount is not ename:VK_REMAINING_ARRAY_LAYERS and <> is not enabled, endif::VK_KHR_maintenance5[] must: be less than or equal to the pname:arrayLayers specified in slink:VkImageCreateInfo when pname:{imageparam} was created ifdef::VK_EXT_fragment_density_map[] * [[VUID-{refpage}-{imageparam}-97969]] pname:{imageparam} must: not have been created with pname:flags containing ename:VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT endif::VK_EXT_fragment_density_map[] // Common Valid Usage