vkCmdCopyMemoryToImageIndirectKHR
To copy data from a memory region to an image object by specifying copy parameters in memory, call:
void vkCmdCopyMemoryToImageIndirectKHR(
VkCommandBuffer commandBuffer,
const VkCopyMemoryToImageIndirectInfoKHR* pCopyMemoryToImageIndirectInfo);
pub fn cmd_copy_memory_to_image_indirect_khr(
command_buffer: vk::CommandBuffer,
p_copy_memory_to_image_indirect_info: *const vk::CopyMemoryToImageIndirectInfoKHR,
);
commandBufferis the command buffer into which the command will be recorded.pCopyMemoryToImageIndirectInfois a pointer to a VkCopyMemoryToImageIndirectInfoKHR structure which contains the copy parameters, including the number of copies to execute and a strided array of VkCopyMemoryToImageIndirectCommandKHR structures.
Each region specified in the memory referenced by
pCopyMemoryToImageIndirectInfo→copyAddressRange is copied from the
source region to an image region in the destination image.
If the destination image is of type VK_IMAGE_TYPE_3D, the starting
slice and number of slices to copy are specified in
pImageSubresources→baseArrayLayer and
pImageSubresources→layerCount respectively as imageOffset and
imageExtent from VkCopyMemoryToImageIndirectCommandKHR are only
available at device execution time.
Valid Usage
VUID-vkCmdCopyMemoryToImageIndirectKHR-indirectMemoryToImageCopy-10947
The indirectMemoryToImageCopy feature must be enabled
VUID-vkCmdCopyMemoryToImageIndirectKHR-commandBuffer-10948
The VkCommandPool that commandBuffer was allocated from
must support at least one of the queue types specified in
VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR::supportedQueues
VUID-vkCmdCopyMemoryToImageIndirectKHR-commandBuffer-10949
commandBuffer must not be a protected command buffer
Valid Usage (Implicit)
VUID-vkCmdCopyMemoryToImageIndirectKHR-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdCopyMemoryToImageIndirectKHR-pCopyMemoryToImageIndirectInfo-parameter
pCopyMemoryToImageIndirectInfo must be a valid pointer to a valid VkCopyMemoryToImageIndirectInfoKHR structure
VUID-vkCmdCopyMemoryToImageIndirectKHR-commandBuffer-recording
commandBuffer must be in the recording state
VUID-vkCmdCopyMemoryToImageIndirectKHR-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support VK_QUEUE_COMPUTE_BIT, VK_QUEUE_GRAPHICS_BIT, or VK_QUEUE_TRANSFER_BIT operations
VUID-vkCmdCopyMemoryToImageIndirectKHR-renderpass
This command must only be called outside of a render pass instance
VUID-vkCmdCopyMemoryToImageIndirectKHR-suspended
This command must not be called between suspended render pass instances
VUID-vkCmdCopyMemoryToImageIndirectKHR-videocoding
This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized