Structures

VkTensorCreateInfoARM

Structure specifying the parameters of a newly created tensor object

The VkTensorCreateInfoARM structure is defined as:

typedef struct VkTensorCreateInfoARM {
    VkStructureType sType;
    const void* pNext;
    VkTensorCreateFlagsARM flags;
    const VkTensorDescriptionARM* pDescription;
    VkSharingMode sharingMode;
    uint32_t queueFamilyIndexCount;
    const uint32_t* pQueueFamilyIndices;
} VkTensorCreateInfoARM;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • flags is a bitmask of VkTensorCreateFlagBitsARM describing additional parameters of the tensor.
  • pDescription is a pointer to an instance of VkTensorDescriptionARM describing the tensor.
  • sharingMode is a VkSharingMode value specifying the sharing mode of the tensor when it will be accessed by multiple queue families.
  • queueFamilyIndexCount is the number of entries in the pQueueFamilyIndices array.
  • pQueueFamilyIndices is a list of queue families that will access this tensor (ignored if sharingMode is not VK_SHARING_MODE_CONCURRENT).

To determine the set of valid usage bits for a given tensor format, call vkGetPhysicalDeviceFormatProperties2 with VkTensorFormatPropertiesARM in the pNext chain.

Valid Usage

VUID-VkTensorCreateInfoARM-pDescription-09720

If pDescription→tiling is VK_TENSOR_TILING_OPTIMAL_ARM, pDescription→pStrides must be NULL

VUID-VkTensorCreateInfoARM-tensorElements-09721

tensorElements (as defined in resources-tensor-creation-limits) must not be greater than VkPhysicalDeviceTensorPropertiesARM::maxTensorElements

VUID-VkTensorCreateInfoARM-sharingMode-09722

If sharingMode is VK_SHARING_MODE_CONCURRENT, pQueueFamilyIndices must be a valid pointer to an array of queueFamilyIndexCount uint32_t values

VUID-VkTensorCreateInfoARM-sharingMode-09723

If sharingMode is VK_SHARING_MODE_CONCURRENT, queueFamilyIndexCount must be greater than 1

VUID-VkTensorCreateInfoARM-sharingMode-09725

If sharingMode is VK_SHARING_MODE_CONCURRENT, each element of pQueueFamilyIndices must be unique and must be less than pQueueFamilyPropertyCount returned by either vkGetPhysicalDeviceQueueFamilyProperties or vkGetPhysicalDeviceQueueFamilyProperties2 for the physicalDevice that was used to create device

VUID-VkTensorCreateInfoARM-pNext-09864

If the pNext chain includes a VkExternalMemoryTensorCreateInfoARM structure, its handleTypes member must only contain bits that are also in VkExternalTensorPropertiesARM::externalMemoryProperties.compatibleHandleTypes, as returned by vkGetPhysicalDeviceExternalTensorPropertiesARM with pExternalTensorInfo→handleType equal to any one of the handle types specified in VkExternalMemoryTensorCreateInfoARM::handleTypes

VUID-VkTensorCreateInfoARM-flags-09726

If flags includes VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM, the descriptorBufferCaptureReplay feature must be enabled

VUID-VkTensorCreateInfoARM-pNext-09727

If the pNext chain includes a VkOpaqueCaptureDescriptorDataCreateInfoEXT structure, flagsmust contain VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM

VUID-VkTensorCreateInfoARM-pDescription-09728

If pDescription→usage does not have any of the following bits set (i.e. if it is not possible to create a tensor view for this tensor), then the format features must contain the format feature flags required by the usage flags for pDescription→format as indicated in the Format Feature Dependent Usage Flags section

  • VK_TENSOR_USAGE_SHADER_BIT_ARM
  • VK_TENSOR_USAGE_DATA_GRAPH_BIT_ARM

VUID-VkTensorCreateInfoARM-protectedMemory-09729

If the protectedMemory feature is not enabled, flags must not contain VK_TENSOR_CREATE_PROTECTED_BIT_ARM

VUID-VkTensorCreateInfoARM-flags-11395

If VkOpaqueCaptureDataCreateInfoEXT::pData is not NULL, flags must contain VK_TENSOR_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_ARM

VUID-VkTensorCreateInfoARM-flags-11396

If flags contains VK_TENSOR_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_ARM, VkOpaqueCaptureDataCreateInfoEXT::pData→size must be equal to imageCaptureReplayOpaqueDataSize

Valid Usage (Implicit)

VUID-VkTensorCreateInfoARM-sType-sType

sType must be VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM

VUID-VkTensorCreateInfoARM-pNext-pNext

Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkExternalMemoryTensorCreateInfoARM, VkOpaqueCaptureDataCreateInfoEXT, or VkOpaqueCaptureDescriptorDataCreateInfoEXT

VUID-VkTensorCreateInfoARM-sType-unique

The sType value of each structure in the pNext chain must be unique

VUID-VkTensorCreateInfoARM-pDescription-parameter

pDescription must be a valid pointer to a valid VkTensorDescriptionARM structure