C Specification

The VkBindTensorMemoryInfoARM structure is defined as:

// Provided by VK_ARM_tensors
typedef struct VkBindTensorMemoryInfoARM {
    VkStructureType    sType;
    const void*        pNext;
    VkTensorARM        tensor;
    VkDeviceMemory     memory;
    VkDeviceSize       memoryOffset;
} VkBindTensorMemoryInfoARM;

Members

  • sType is a VkStructureType value identifying this structure.

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

  • tensor is the tensor to be attached to memory.

  • memory is a VkDeviceMemory object describing the device memory to attach.

  • memoryOffset is the start offset of the region of memory which is to be bound to the tensor. The number of bytes returned in the VkMemoryRequirements::size member in memory, starting from memoryOffset bytes, will be bound to the specified tensor.

Description

Valid Usage
  • VUID-VkBindTensorMemoryInfoARM-tensor-09712
    tensor must not already be backed by a memory object

  • VUID-VkBindTensorMemoryInfoARM-memoryOffset-09713
    memoryOffset must be less than the size of memory

  • VUID-VkBindTensorMemoryInfoARM-memory-09714
    memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetTensorMemoryRequirementsARM with tensor

  • VUID-VkBindTensorMemoryInfoARM-memoryOffset-09715
    memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetTensorMemoryRequirementsARM with tensor

  • VUID-VkBindTensorMemoryInfoARM-size-09716
    The size member of the VkMemoryRequirements structure returned from a call to vkGetTensorMemoryRequirementsARM with tensor must be less than or equal to the size of memory minus memoryOffset

  • VUID-VkBindTensorMemoryInfoARM-tensor-09717
    If tensor requires a dedicated allocation (as reported by vkGetTensorMemoryRequirementsARM in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for tensor), memory must have been created with VkMemoryDedicatedAllocateInfoTensorARM::tensor equal to tensor

  • VUID-VkBindTensorMemoryInfoARM-memory-09806
    If the VkMemoryAllocateInfo provided when memory was allocated included a VkMemoryDedicatedAllocateInfoTensorARM structure in its pNext chain, and VkMemoryDedicatedAllocateInfoTensorARM::tensor was not VK_NULL_HANDLE, then tensor must equal VkMemoryDedicatedAllocateInfoTensorARM::tensor, and memoryOffset must be zero

  • VUID-VkBindTensorMemoryInfoARM-memory-09895
    If the value of VkExportMemoryAllocateInfo::handleTypes used to allocate memory is not 0, it must include at least one of the handles set in VkExternalMemoryTensorCreateInfoARM::handleTypes when tensor was created

  • VUID-VkBindTensorMemoryInfoARM-memory-09896
    If memory was allocated by a memory import operation, that is not VkImportAndroidHardwareBufferInfoANDROID with a non-NULL buffer value, the external handle type of the imported memory must also have been set in VkExternalMemoryTensorCreateInfoARM::handleTypes when tensor was created

  • VUID-VkBindTensorMemoryInfoARM-memory-09897
    If memory was allocated with the VkImportAndroidHardwareBufferInfoANDROID memory import operation with a non-NULL buffer value, VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID must also have been set in VkExternalMemoryTensorCreateInfoARM::handleTypes when tensor was created

  • VUID-VkBindTensorMemoryInfoARM-tensor-09718
    If tensor was created with the VK_TENSOR_CREATE_PROTECTED_BIT_ARM bit set, the tensor must be bound to a memory object allocated with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT

  • VUID-VkBindTensorMemoryInfoARM-tensor-09719
    If tensor was created with the VK_TENSOR_CREATE_PROTECTED_BIT_ARM bit not set, the tensor must not be bound to a memory object allocated with a memory type that reports VK_MEMORY_PROPERTY_PROTECTED_BIT

Valid Usage (Implicit)
  • VUID-VkBindTensorMemoryInfoARM-sType-sType
    sType must be VK_STRUCTURE_TYPE_BIND_TENSOR_MEMORY_INFO_ARM

  • VUID-VkBindTensorMemoryInfoARM-pNext-pNext
    pNext must be NULL

  • VUID-VkBindTensorMemoryInfoARM-tensor-parameter
    tensor must be a valid VkTensorARM handle

  • VUID-VkBindTensorMemoryInfoARM-memory-parameter
    memory must be a valid VkDeviceMemory handle

  • VUID-VkBindTensorMemoryInfoARM-commonparent
    Both of memory, and tensor must have been created, allocated, or retrieved from the same VkDevice

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