C Specification
The VkHostImageLayoutTransitionInfo
structure is defined as:
// Provided by VK_VERSION_1_4
typedef struct VkHostImageLayoutTransitionInfo {
VkStructureType sType;
const void* pNext;
VkImage image;
VkImageLayout oldLayout;
VkImageLayout newLayout;
VkImageSubresourceRange subresourceRange;
} VkHostImageLayoutTransitionInfo;
or the equivalent
// Provided by VK_EXT_host_image_copy
typedef VkHostImageLayoutTransitionInfo VkHostImageLayoutTransitionInfoEXT;
Members
-
sType
is a VkStructureType value identifying this structure. -
pNext
isNULL
or a pointer to a structure extending this structure. -
image
is a handle to the image affected by this layout transition. -
oldLayout
is the old layout in an image layout transition. -
newLayout
is the new layout in an image layout transition. -
subresourceRange
describes the image subresource range withinimage
that is affected by this 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
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. |
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.