C Specification

The VkCopyMemoryToImageIndirectCommandNV is defined as:

// Provided by VK_NV_copy_memory_indirect
typedef struct VkCopyMemoryToImageIndirectCommandNV {
    VkDeviceAddress             srcAddress;
    uint32_t                    bufferRowLength;
    uint32_t                    bufferImageHeight;
    VkImageSubresourceLayers    imageSubresource;
    VkOffset3D                  imageOffset;
    VkExtent3D                  imageExtent;
} VkCopyMemoryToImageIndirectCommandNV;


  • srcAddress is the starting address of the source host or device memory to copy from.

  • bufferRowLength and bufferImageHeight specify in texels a subregion of a larger two- or three-dimensional image in buffer memory, and control the addressing calculations. If either of these values is zero, that aspect of the buffer memory is considered to be tightly packed according to the imageExtent.

  • imageSubresource is a VkImageSubresourceLayers used to specify the specific image subresources of the image used for the destination image data, which must match the values specified in pImageSubresources parameter of vkCmdCopyMemoryToImageIndirectNV during command recording.

  • imageOffset selects the initial x, y, z offsets in texels of the sub-region of the destination image data.

  • imageExtent is the size in texels of the destination image in width, height and depth.


Valid Usage
  • VUID-VkCopyMemoryToImageIndirectCommandNV-srcAddress-07678
    The srcAddress must be 4 byte aligned

  • VUID-VkCopyMemoryToImageIndirectCommandNV-bufferRowLength-07679
    bufferRowLength must be 0, or greater than or equal to the width member of imageExtent

  • VUID-VkCopyMemoryToImageIndirectCommandNV-bufferImageHeight-07680
    bufferImageHeight must be 0, or greater than or equal to the height member of imageExtent

  • VUID-VkCopyMemoryToImageIndirectCommandNV-imageOffset-07681
    imageOffset must specify a valid offset in the destination image

  • VUID-VkCopyMemoryToImageIndirectCommandNV-imageExtent-07682
    imageExtent must specify a valid region in the destination image and can be 0

Valid Usage (Implicit)
  • VUID-VkCopyMemoryToImageIndirectCommandNV-imageSubresource-parameter
    imageSubresource must be a valid VkImageSubresourceLayers structure

See Also

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 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0