C Specification

The VkPhysicalDeviceTensorFeaturesARM structure is defined as:

// Provided by VK_ARM_tensors
typedef struct VkPhysicalDeviceTensorFeaturesARM {
    VkStructureType    sType;
    void*              pNext;
    VkBool32           tensorNonPacked;
    VkBool32           shaderTensorAccess;
    VkBool32           shaderStorageTensorArrayDynamicIndexing;
    VkBool32           shaderStorageTensorArrayNonUniformIndexing;
    VkBool32           descriptorBindingStorageTensorUpdateAfterBind;
    VkBool32           tensors;
} VkPhysicalDeviceTensorFeaturesARM;

Members

The members of the VkPhysicalDeviceTensorFeaturesARM structure describe the following features:

Description

  • tensorNonPacked indicates whether the implementation supports the creation of tensors that are not packed tensors.

  • shaderTensorAccess indicates whether shader modules can declare the TensorsARM capability.

  • shaderStorageBufferArrayDynamicIndexing indicates whether arrays of storage tensors can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_TENSOR_ARM must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the StorageTensorArrayDynamicIndexingARM capability.

  • shaderStorageTensorArrayNonUniformIndexing indicates whether arrays of storage tensors can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type of VK_DESCRIPTOR_TYPE_TENSOR_ARM must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare the StorageTensorArrayNonUniformIndexingARM capability.

  • descriptorBindingStorageTensorUpdateAfterBind indicates whether the implementation supports updating storage tensor descriptors after a set is bound. If this feature is not enabled, VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT must not be used with VK_DESCRIPTOR_TYPE_TENSOR_ARM.

  • tensors indicates whether the implementation supports tensor resources.

If the VkPhysicalDeviceTensorFeaturesARM structure is included in the pNext chain of the VkPhysicalDeviceFeatures2 structure passed to vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a VkDevice with any features described by VkPhysicalDeviceTensorFeaturesARM, it must add an instance of the structure, with the desired feature members set to VK_TRUE, to the pNext chain of VkDeviceCreateInfo when creating the VkDevice.

Valid Usage (Implicit)
  • VUID-VkPhysicalDeviceTensorFeaturesARM-sType-sType
    sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM

See Also

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.

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0