Class VkHostImageLayoutTransitionInfo

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkHostImageLayoutTransitionInfo>
org.lwjgl.vulkan.VkHostImageLayoutTransitionInfo
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer
Direct Known Subclasses:
VkHostImageLayoutTransitionInfoEXT

public class VkHostImageLayoutTransitionInfo extends org.lwjgl.system.Struct<VkHostImageLayoutTransitionInfo> implements org.lwjgl.system.NativeResource
Structure specifying the parameters of a host-side image layout transition.
Description

vkTransitionImageLayout does not check whether the device memory associated with an image is currently in use before performing the layout transition. The application must guarantee that any previously submitted command that reads from or writes to this subresource has completed before the host performs the layout transition. The memory of image is accessed by the host as if coherent.

Note

Image layout transitions performed on the host do not require queue family ownership transfers as the physical layout of the image will not vary between queue families for the layouts supported by this function.

Note

If the device has written to the image memory, it is not automatically made available to the host. Before this command can be called, a memory barrier for this image must have been issued on the device with the second synchronization scope including PIPELINE_STAGE_HOST_BIT and ACCESS_HOST_READ_BIT.

Because queue submissions automatically make host memory visible to the device, there would not be a need for a memory barrier before using the results of this layout transition on the device.

Valid Usage
Valid Usage (Implicit)
See Also

VkImageSubresourceRange, TransitionImageLayout, TransitionImageLayoutEXT

Layout


 struct VkHostImageLayoutTransitionInfo {
     VkStructureType sType();
     void const * pNext();
     VkImage image();
     VkImageLayout oldLayout();
     VkImageLayout newLayout();
     VkImageSubresourceRange subresourceRange();
 }