VkCopyTensorInfoARM
The VkCopyTensorInfoARM structure is defined as:
typedef struct VkCopyTensorInfoARM {
VkStructureType sType;
const void* pNext;
VkTensorARM srcTensor;
VkTensorARM dstTensor;
uint32_t regionCount;
const VkTensorCopyARM* pRegions;
} VkCopyTensorInfoARM;
pub struct CopyTensorInfoARM {
s_type: vk::StructureType,
p_next: *const c_void,
src_tensor: vk::TensorARM,
dst_tensor: vk::TensorARM,
region_count: u32,
p_regions: *const vk::TensorCopyARM,
}
sTypeis a VkStructureType value identifying this structure.pNextis NULL or a pointer to a structure extending this structure.srcTensoris the source tensor.dstTensoris the destination tensor.regionCountis the number of regions to copy.pRegionsis a pointer to an array of VkTensorCopyARM structures specifying the regions to copy.
Each region in pRegions describes a region to be copied from the
source tensor to a corresponding region of the destination tensor.
srcTensor and dstTensor can be the same tensor or alias the
same memory.
The formats of srcTensor and dstTensor must be compatible.
Formats are compatible if they share the same class, as shown in the
Compatible Formats table.
vkCmdCopyTensorARM allows copying between size-compatible internal
formats.
Valid Usage
VUID-VkCopyTensorInfoARM-dimensionCount-09684
srcTensor and dstTensor must have been created with equal
values for VkTensorDescriptionARM::dimensionCount
VUID-VkCopyTensorInfoARM-pDimensions-09685
For each of the elements of
VkTensorDescriptionARM::pDimensions, srcTensor and
dstTensor must be the same size
VUID-VkCopyTensorInfoARM-regionCount-09686
regionCount must be equal to 1
VUID-VkCopyTensorInfoARM-pRegions-09687
Each element of pRegions must be a VkTensorCopyARM
structure whose pSrcOffset is NULL or has all its elements equal
to 0
VUID-VkCopyTensorInfoARM-pRegions-09688
Each element of pRegions must be a VkTensorCopyARM
structure whose pDstOffset is NULL or has all its elements equal
to 0
VUID-VkCopyTensorInfoARM-pRegions-09689
Each element of pRegions must be a VkTensorCopyARM
structure whose pExtent is NULL or equal to the
VkTensorDescriptionARM::pDimensions array specified when
srcTensor and dstTensor were created
VUID-VkCopyTensorInfoARM-pRegions-09954
Each element of pRegions must be a VkTensorCopyARM
structure whose dimensionCount, if it is not equal to 0, is equal
to the largest of the VkTensorDescriptionARM::dimensionCount
of srcTensor or dstTensor
VUID-VkCopyTensorInfoARM-srcTensor-09690
The format features of
srcTensor must contain VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT
VUID-VkCopyTensorInfoARM-srcTensor-09691
srcTensor must have been created with the
VK_TENSOR_USAGE_TRANSFER_SRC_BIT_ARM usage flag set
VUID-VkCopyTensorInfoARM-dstTensor-09692
The format features of
dstTensor must contain VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT
VUID-VkCopyTensorInfoARM-dstTensor-09693
dstTensor must have been created with the
VK_TENSOR_USAGE_TRANSFER_DST_BIT_ARM usage flag set
VUID-VkCopyTensorInfoARM-srcTensor-09694
If srcTensor is non-sparse then it must be bound completely and
contiguously to a single VkDeviceMemory object
VUID-VkCopyTensorInfoARM-dstTensor-09695
If dstTensor is non-sparse then it must be bound completely and
contiguously to a single VkDeviceMemory object
Valid Usage (Implicit)
VUID-VkCopyTensorInfoARM-sType-sType
sType must be VK_STRUCTURE_TYPE_COPY_TENSOR_INFO_ARM
VUID-VkCopyTensorInfoARM-pNext-pNext
pNext must be NULL
VUID-VkCopyTensorInfoARM-srcTensor-parameter
srcTensor must be a valid VkTensorARM handle
VUID-VkCopyTensorInfoARM-dstTensor-parameter
dstTensor must be a valid VkTensorARM handle
VUID-VkCopyTensorInfoARM-pRegions-parameter
pRegions must be a valid pointer to an array of regionCount valid VkTensorCopyARM structures
VUID-VkCopyTensorInfoARM-regionCount-arraylength
regionCount must be greater than 0
VUID-VkCopyTensorInfoARM-commonparent
Both of dstTensor, and srcTensor must have been created, allocated, or retrieved from the same VkDevice