Class EXTHostImageCopy

java.lang.Object
org.lwjgl.vulkan.EXTHostImageCopy

public class EXTHostImageCopy extends Object
This extension allows applications to copy data between host memory and images on the host processor, without staging the data through a GPU-accessible buffer. This removes the need to allocate and manage the buffer and its associated memory. On some architectures it may also eliminate an extra copy operation. This extension additionally allows applications to copy data between images on the host.

To support initializing a new image in preparation for a host copy, it is now possible to transition a new image to IMAGE_LAYOUT_GENERAL or other host-copyable layouts via TransitionImageLayoutEXT. Additionally, it is possible to perform copies that preserve the swizzling layout of the image by using the HOST_IMAGE_COPY_MEMCPY_EXT flag. In that case, the memory size needed for copies to or from a buffer can be retrieved by chaining VkSubresourceHostMemcpySizeEXT to pLayout in GetImageSubresourceLayout2EXT.

Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4, with the EXT suffix omitted. However, the feature is made optional in Vulkan 1.4. The original type, enum and command names are still available as aliases of the core functionality.

A Vulkan 1.4 implementation that has a QUEUE_GRAPHICS_BIT queue must support either:

Additionally, all queues supporting QUEUE_GRAPHICS_BIT or QUEUE_COMPUTE_BIT must also advertise QUEUE_TRANSFER_BIT.

Name String
VK_EXT_host_image_copy
Extension Type
Device extension
Registered Extension Number
271
Revision
1
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2 or Version 1.1 and VK_KHR_copy_commands2 and VK_KHR_format_feature_flags2 or Version 1.3
Deprecation State
  • Promoted to Vulkan 1.4
Contact
Extension Proposal
VK_EXT_host_image_copy
Other Extension Metadata
Last Modified Date
2023-04-26
Contributors
  • Shahbaz Youssefi, Google
  • Faith Ekstrand, Collabora
  • Hans-Kristian Arntzen, Valve
  • Piers Daniell, NVIDIA
  • Jan-Harald Fredriksen, Arm
  • James Fitzpatrick, Imagination
  • Daniel Story, Nintendo