VkBindTensorMemoryInfoARM
The VkBindTensorMemoryInfoARM structure is defined as:
typedef struct VkBindTensorMemoryInfoARM {
VkStructureType sType;
const void* pNext;
VkTensorARM tensor;
VkDeviceMemory memory;
VkDeviceSize memoryOffset;
} VkBindTensorMemoryInfoARM;
pub struct BindTensorMemoryInfoARM {
s_type: vk::StructureType,
p_next: *const c_void,
tensor: vk::TensorARM,
memory: vk::DeviceMemory,
memory_offset: vk::DeviceSize,
}
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.tensoris the tensor to be attached to memory.memoryis a VkDeviceMemory object describing the device memory to attach.memoryOffsetis the start offset of the region ofmemorywhich is to be bound to the tensor. The number of bytes returned in theVkMemoryRequirements::sizemember inmemory, starting frommemoryOffsetbytes, will be bound to the specified tensor.
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_ANDROIDmust 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
VUID-VkBindTensorMemoryInfoARM-tensor-09943
If tensor was created with the
VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM bit set,
memory must have been allocated with the
VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT bit set
VUID-VkBindTensorMemoryInfoARM-tensor-09944
If tensor was created with the
VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM bit set,
memory must have been allocated with the
VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT bit set
VUID-VkBindTensorMemoryInfoARM-tensor-11406
If tensor was created with the
VK_TENSOR_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_ARM bit set,
memory must have been allocated with the
VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT bit set
VUID-VkBindTensorMemoryInfoARM-tensor-11407
If tensor was created with the
VK_TENSOR_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_ARM bit set,
memory must have been allocated with the
VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT bit set
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
Host Synchronization
- Host access to
tensormust be externally synchronized