vkGetTensorOpaqueCaptureDataARM(3)

# vkGetTensorOpaqueCaptureDataARM(3) Manual Page

## Name

vkGetTensorOpaqueCaptureDataARM - Get tensor opaque capture descriptor data for descriptor heap replay

## C Specification

To get the opaque capture descriptor data for tensors, call:

    // Provided by VK_EXT_descriptor_heap with VK_ARM_tensors
    VkResult vkGetTensorOpaqueCaptureDataARM(
        VkDevice                                    device,
        uint32_t                                    tensorCount,
        const VkTensorARM*                          pTensors,
        VkHostAddressRangeEXT*                      pDatas);

## Parameters

- `device` is the logical device that gets the data.

- `tensorCount` is the number of tensors to retrieve data from.

- `pTensors` is a pointer to an array of VkTensorARM objects to retrieve the opaque capture data from.

- `pDatas` is a pointer to an array of VkHostAddressRangeEXT structures defining the host address ranges where each tensor’s opaque capture data will be written.

## Description

Valid Usage

- VUID-vkGetTensorOpaqueCaptureDataARM-descriptorHeapCaptureReplay-11391
  The `descriptorHeapCaptureReplay` feature must be enabled

- VUID-vkGetTensorOpaqueCaptureDataARM-size-11392
  The `size` member of each element of `pDatas` must be equal to `tensorCaptureReplayOpaqueDataSize`

- VUID-vkGetTensorOpaqueCaptureDataARM-device-11393
  If `device` was created with multiple physical devices, then the `bufferDeviceAddressMultiDevice` feature must be enabled

- VUID-vkGetTensorOpaqueCaptureDataARM-pTensors-11394
  Each element of `pTensors` must have been created with VK_TENSOR_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_ARM set in VkTensorCreateInfoARM::`flags`

Valid Usage (Implicit)

- VUID-vkGetTensorOpaqueCaptureDataARM-device-parameter
  `device` must be a valid VkDevice handle

- VUID-vkGetTensorOpaqueCaptureDataARM-pTensors-parameter
  `pTensors` must be a valid pointer to an array of `tensorCount` valid VkTensorARM handles

- VUID-vkGetTensorOpaqueCaptureDataARM-pDatas-parameter
  `pDatas` must be a valid pointer to an array of `tensorCount` VkHostAddressRangeEXT structures

- VUID-vkGetTensorOpaqueCaptureDataARM-tensorCount-arraylength
  `tensorCount` must be greater than `0`

- VUID-vkGetTensorOpaqueCaptureDataARM-pTensors-parent
  Each element of `pTensors` must have been created, allocated, or retrieved from `device`

Return Codes

On success, this command returns

  - VK_SUCCESS

On failure, this command returns

  - VK_ERROR_OUT_OF_DEVICE_MEMORY

  - VK_ERROR_OUT_OF_HOST_MEMORY

  - VK_ERROR_UNKNOWN

  - VK_ERROR_VALIDATION_FAILED

## See Also

VK_ARM_tensors, VK_EXT_descriptor_heap, VkDevice, VkHostAddressRangeEXT, VkTensorARM

## 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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0