vkCopyMemoryToMicromapEXT(3)

# vkCopyMemoryToMicromapEXT(3) Manual Page

## Name

vkCopyMemoryToMicromapEXT - Deserialize a micromap on the host

## C Specification

To copy host accessible VkMicromapEXT to a micromap, call:

Warning | This functionality is superseded by vkCmdCopyMemoryToMicromapEXT. See Legacy Functionality for more information.

    // Provided by VK_EXT_opacity_micromap
    VkResult vkCopyMemoryToMicromapEXT(
        VkDevice                                    device,
        VkDeferredOperationKHR                      deferredOperation,
        const VkCopyMemoryToMicromapInfoEXT*        pInfo);

## Parameters

- `device` is the device which owns `pInfo->dst`.

- `deferredOperation` is an optional VkDeferredOperationKHR to request deferral for this command.

- `pInfo` is a pointer to a VkCopyMemoryToMicromapInfoEXT structure defining the copy operation.

## Description

This command fulfills the same task as vkCmdCopyMemoryToMicromapEXT but is executed by the host.

This command can accept micromaps produced by either vkCmdCopyMicromapToMemoryEXT or vkCopyMicromapToMemoryEXT.

Valid Usage

- VUID-vkCopyMemoryToMicromapEXT-deferredOperation-03678
  Any previous deferred operation that was associated with `deferredOperation` must be complete

- VUID-vkCopyMemoryToMicromapEXT-pInfo-07563
  `pInfo->src.hostAddress` must be a valid host pointer

- VUID-vkCopyMemoryToMicromapEXT-pInfo-07564
  `pInfo->src.hostAddress` must be aligned to 16 bytes

- VUID-vkCopyMemoryToMicromapEXT-buffer-07565
  The `buffer` used to create `pInfo->dst` must be bound to host-visible device memory

- VUID-vkCopyMemoryToMicromapEXT-micromapHostCommands-07566
  The `VkPhysicalDeviceOpacityMicromapFeaturesEXT`::`micromapHostCommands` feature must be enabled

- VUID-vkCopyMemoryToMicromapEXT-buffer-07567
  The `buffer` used to create `pInfo->dst` must be bound to memory that was not allocated with multiple instances

Valid Usage (Implicit)

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

- VUID-vkCopyMemoryToMicromapEXT-deferredOperation-parameter
  If `deferredOperation` is not VK_NULL_HANDLE, `deferredOperation` must be a valid VkDeferredOperationKHR handle

- VUID-vkCopyMemoryToMicromapEXT-pInfo-parameter
  `pInfo` must be a valid pointer to a valid VkCopyMemoryToMicromapInfoEXT structure

- VUID-vkCopyMemoryToMicromapEXT-deferredOperation-parent
  If `deferredOperation` is a valid handle, it must have been created, allocated, or retrieved from `device`

Return Codes

On success, this command returns

  - VK_OPERATION_DEFERRED_KHR

  - VK_OPERATION_NOT_DEFERRED_KHR

  - 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_opacity_micromap, VkCopyMemoryToMicromapInfoEXT, VkDeferredOperationKHR, VkDevice

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