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 theTensorsARM
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 ofVK_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 theStorageTensorArrayDynamicIndexingARM
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 ofVK_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 theStorageTensorArrayNonUniformIndexingARM
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 withVK_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.
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.