# VK_KHR_copy_memory_indirect(3) Manual Page

## Name

VK_KHR_copy_memory_indirect - device extension

Loading… please wait.

## Registered Extension Number

550

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
and
VK_KHR_buffer_device_address
or
Vulkan Version 1.2

## Contact

- Vikram Kushwaha [GitHub]vkushwaha-nv

## Extension Proposal

VK_KHR_copy_memory_indirect

## Other Extension Metadata

Last Modified Date

  2025-01-25

Contributors

  - Daniel Koch, NVIDIA

  - Vikram Kushwaha, NVIDIA

  - Jeff Bolz, NVIDIA

  - Christoph Kubisch, NVIDIA

  - Stuart Smith, AMD

  - Faith Ekstrand, Collabora

  - Caterina Shablia, Collabora

  - Spencer Fricke, LunarG

  - Matthew Netsch, Qualcomm Technologies, Inc

  - Mike Blumenkrantz, Valve

  - Alyssa Rosenzweig, Valve

## Description

This extension adds support for performing copies between memory and image regions using indirect parameters that are read by the device from a buffer during execution. This functionality may be useful for performing copies where the copy parameters are not known during the command buffer creation time.

## New Commands

- vkCmdCopyMemoryIndirectKHR

- vkCmdCopyMemoryToImageIndirectKHR

## New Structures

- VkCopyMemoryIndirectCommandKHR

- VkCopyMemoryIndirectInfoKHR

- VkCopyMemoryToImageIndirectCommandKHR

- VkCopyMemoryToImageIndirectInfoKHR

- VkStridedDeviceAddressRangeKHR

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR

## New Enums

- VkAddressCopyFlagBitsKHR

## New Bitmasks

- VkAddressCopyFlagsKHR

## New Enum Constants

- `VK_KHR_COPY_MEMORY_INDIRECT_EXTENSION_NAME`

- `VK_KHR_COPY_MEMORY_INDIRECT_SPEC_VERSION`

- Extending VkFormatFeatureFlagBits2:

  - `VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR`

- Extending VkPipelineStageFlagBits2:

  - `VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_COPY_MEMORY_INDIRECT_INFO_KHR`

  - `VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR`

## Version History

- Revision 1, 2025-01-25 (Daniel Koch, Vikram Kushwaha)

  - Initial external release

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0