VkCopyTensorInfoARM(3)

Name

VkCopyTensorInfoARM - Structure specifying an tensor copy operation

C Specification

The VkCopyTensorInfoARM structure is defined as:

// Provided by VK_ARM_tensors
typedef struct VkCopyTensorInfoARM {
    VkStructureType           sType;
    const void*               pNext;
    VkTensorARM               srcTensor;
    VkTensorARM               dstTensor;
    uint32_t                  regionCount;
    const VkTensorCopyARM*    pRegions;
} VkCopyTensorInfoARM;

Members

  • sType is a VkStructureType value identifying this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • srcTensor is the source tensor.

  • dstTensor is the destination tensor.

  • regionCount is the number of regions to copy.

  • pRegions is a pointer to an array of VkTensorCopyARM structures specifying the regions to copy.

Description

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-srcTensor-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-pSrcOffset-09687
    pRegions must point to a VkTensorCopyARM structure whose pSrcOffset is NULL or whose elements are all 0

  • VUID-VkCopyTensorInfoARM-pDstOffset-09688
    pRegions must point to a VkTensorCopyARM structure whose pDstOffset, is NULL or whose elements are all 0

  • VUID-VkCopyTensorInfoARM-pExtent-09689
    pRegions must point to a VkTensorCopyARM structure whose pExtent is NULL or equal to the VkTensorDescriptionARM::pDimensions array specified when srcTensor and dstTensor were created

  • 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 VK_TENSOR_USAGE_TRANSFER_SRC_BIT_ARM usage flag

  • 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 VK_TENSOR_USAGE_TRANSFER_DST_BIT_ARM usage flag

  • 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

Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.