vkGetImageOpaqueCaptureDataEXT(3)

# vkGetImageOpaqueCaptureDataEXT(3) Manual Page

## Name

vkGetImageOpaqueCaptureDataEXT - Get image opaque capture descriptor data for descriptor heap replay

## C Specification

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

    // Provided by VK_EXT_descriptor_heap
    VkResult vkGetImageOpaqueCaptureDataEXT(
        VkDevice                                    device,
        uint32_t                                    imageCount,
        const VkImage*                              pImages,
        VkHostAddressRangeEXT*                      pDatas);

## Parameters

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

- `imageCount` is the number of images to retrieve data from.

- `pImages` is a pointer to an array of VkImage 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 image’s opaque capture data will be written.

## Description

Valid Usage

- VUID-vkGetImageOpaqueCaptureDataEXT-descriptorHeapCaptureReplay-11282
  The `descriptorHeapCaptureReplay` feature must be enabled

- VUID-vkGetImageOpaqueCaptureDataEXT-size-11283
  The `size` member of each element of `pDatas` must be equal to `imageCaptureReplayOpaqueDataSize`

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

- VUID-vkGetImageOpaqueCaptureDataEXT-pImages-11285
  Each element of `pImages` must have been created with VK_IMAGE_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_EXT set in VkImageCreateInfo::`flags`

Valid Usage (Implicit)

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

- VUID-vkGetImageOpaqueCaptureDataEXT-pImages-parameter
  `pImages` must be a valid pointer to an array of `imageCount` valid VkImage handles

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

- VUID-vkGetImageOpaqueCaptureDataEXT-imageCount-arraylength
  `imageCount` must be greater than `0`

- VUID-vkGetImageOpaqueCaptureDataEXT-pImages-parent
  Each element of `pImages` 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_EXT_descriptor_heap, VkDevice, VkHostAddressRangeEXT, VkImage

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