VkTensorCreateInfoARM
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;
pub struct TensorCreateInfoARM {
s_type: vk::StructureType,
p_next: *const c_void,
flags: vk::TensorCreateFlagsARM,
p_description: *const vk::TensorDescriptionARM,
sharing_mode: vk::SharingMode,
queue_family_index_count: u32,
p_queue_family_indices: *const u32,
}
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.flagsis a bitmask of VkTensorCreateFlagBitsARM describing additional parameters of the tensor.pDescriptionis a pointer to an instance of VkTensorDescriptionARM describing the tensor.sharingModeis a VkSharingMode value specifying the sharing mode of the tensor when it will be accessed by multiple queue families.queueFamilyIndexCountis the number of entries in thepQueueFamilyIndicesarray.pQueueFamilyIndicesis a list of queue families that will access this tensor (ignored ifsharingModeis notVK_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_ARMVK_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-flags-parameter
flags must be a valid combination of VkTensorCreateFlagBitsARM values
VUID-VkTensorCreateInfoARM-pDescription-parameter
pDescription must be a valid pointer to a valid VkTensorDescriptionARM structure
VUID-VkTensorCreateInfoARM-sharingMode-parameter
sharingMode must be a valid VkSharingMode value