vkTransitionImageLayoutEXT 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.
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.
image must have been created with IMAGE_USAGE_HOST_TRANSFER_BIT_EXTsubresourceRange.baseMipLevel must be less than the mipLevels specified in VkImageCreateInfo when image was createdsubresourceRange.levelCount is not REMAINING_MIP_LEVELS, subresourceRange.baseMipLevel + subresourceRange.levelCount must be less than or equal to the mipLevels specified in VkImageCreateInfo when image was createdsubresourceRange.baseArrayLayer must be less than the arrayLayers specified in VkImageCreateInfo when image was createdsubresourceRange.layerCount is not REMAINING_ARRAY_LAYERS, subresourceRange.baseArrayLayer + subresourceRange.layerCount must be less than or equal to the arrayLayers specified in VkImageCreateInfo when image was createdimage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory objectimage has a color format that is single-plane, then the aspectMask member of subresourceRange must be IMAGE_ASPECT_COLOR_BITimage has a color format and is not disjoint, then the aspectMask member of subresourceRange must be IMAGE_ASPECT_COLOR_BITimage has a multi-planar format and the image is disjoint, then the aspectMask member of subresourceRange must include at least one multi-planar aspect mask bit or IMAGE_ASPECT_COLOR_BITimage has a depth/stencil format with both depth and stencil and the separateDepthStencilLayouts feature is enabled, then the aspectMask member of subresourceRange must include either or both IMAGE_ASPECT_DEPTH_BIT and IMAGE_ASPECT_STENCIL_BITimage has a depth/stencil format with both depth and stencil and the separateDepthStencilLayouts feature is not enabled, then the aspectMask member of subresourceRange must include both IMAGE_ASPECT_DEPTH_BIT and IMAGE_ASPECT_STENCIL_BITaspectMask member of subresourceRange includes IMAGE_ASPECT_DEPTH_BIT, oldLayout and newLayout must not be one of IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL or IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMALaspectMask member of subresourceRange includes IMAGE_ASPECT_STENCIL_BIT, oldLayout and newLayout must not be one of IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL or IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMALoldLayout must be either IMAGE_LAYOUT_UNDEFINED or the current layout of the image subresources as specified in subresourceRangeoldLayout is not IMAGE_LAYOUT_UNDEFINED or IMAGE_LAYOUT_PREINITIALIZED, it must be one of the layouts in VkPhysicalDeviceHostImageCopyPropertiesEXT::pCopySrcLayoutsnewLayout must be one of the layouts in VkPhysicalDeviceHostImageCopyPropertiesEXT::pCopyDstLayoutssType must be STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXTpNext must be NULLimage must be a valid VkImage handleoldLayout must be a valid VkImageLayout valuenewLayout must be a valid VkImageLayout valuesubresourceRange must be a valid VkImageSubresourceRange structureVkImageSubresourceRange, TransitionImageLayoutEXT
struct VkHostImageLayoutTransitionInfoEXT {
VkStructureType sType;
void const * pNext;
VkImage image;
VkImageLayout oldLayout;
VkImageLayout newLayout;
VkImageSubresourceRange subresourceRange;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkHostImageLayoutTransitionInfoEXT.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | IMAGE
The struct member offsets. |
| public static final int | NEWLAYOUT
The struct member offsets. |
| public static final int | OLDLAYOUT
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| public static final int | SUBRESOURCERANGE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkHostImageLayoutTransitionInfoEXT(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT | |
| public static VkHostImageLayoutTransitionInfoEXT. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkHostImageLayoutTransitionInfoEXT | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkHostImageLayoutTransitionInfoEXT. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkHostImageLayoutTransitionInfoEXT | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkHostImageLayoutTransitionInfoEXT | |
| public static VkHostImageLayoutTransitionInfoEXT | create(long address)
Returns a new |
| public static VkHostImageLayoutTransitionInfoEXT. | create(int
the buffer capacity capacity)Returns a new |
| public static VkHostImageLayoutTransitionInfoEXT. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkHostImageLayoutTransitionInfoEXT | |
| public static VkHostImageLayoutTransitionInfoEXT. | |
| public long | |
| public VkHostImageLayoutTransitionInfoEXT | |
| public static VkHostImageLayoutTransitionInfoEXT | |
| public static VkHostImageLayoutTransitionInfoEXT. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkHostImageLayoutTransitionInfoEXT | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkHostImageLayoutTransitionInfoEXT. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public int | |
| public VkHostImageLayoutTransitionInfoEXT | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static VkImageSubresourceRange | |
| public static void | |
| public int | |
| public VkHostImageLayoutTransitionInfoEXT | |
| public long | |
| public VkHostImageLayoutTransitionInfoEXT | |
| public VkHostImageLayoutTransitionInfoEXT | set(int sType, long pNext, long image, int oldLayout, int newLayout, VkImageSubresourceRange subresourceRange)
Initializes this struct with the specified values. |
| public VkHostImageLayoutTransitionInfoEXT | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkHostImageLayoutTransitionInfoEXT | |
| public VkHostImageLayoutTransitionInfoEXT | sType$Default()
Sets the |
| public VkImageSubresourceRange | subresourceRange()
describes the image subresource range within |
| public VkHostImageLayoutTransitionInfoEXT | subresourceRange(VkImageSubresourceRange value)
Copies the specified |
| public VkHostImageLayoutTransitionInfoEXT | subresourceRange(Consumer<VkImageSubresourceRange> consumer)
Passes the |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| IMAGE | back to summary |
|---|---|
| public static final int IMAGE The struct member offsets. | |
| NEWLAYOUT | back to summary |
|---|---|
| public static final int NEWLAYOUT The struct member offsets. | |
| OLDLAYOUT | back to summary |
|---|---|
| public static final int OLDLAYOUT The struct member offsets. | |
| PNEXT | back to summary |
|---|---|
| public static final int PNEXT The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| STYPE | back to summary |
|---|---|
| public static final int STYPE The struct member offsets. | |
| SUBRESOURCERANGE | back to summary |
|---|---|
| public static final int SUBRESOURCERANGE The struct member offsets. | |
| VkHostImageLayoutTransitionInfoEXT | back to summary |
|---|---|
| protected VkHostImageLayoutTransitionInfoEXT(long address, ByteBuffer container) | |
| VkHostImageLayoutTransitionInfoEXT | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT. Returns a new
| |
| create | back to summary |
|---|---|
| protected VkHostImageLayoutTransitionInfoEXT create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT. Like
| |
| image | back to summary |
|---|---|
| public long image() a handle to the image affected by this layout transition.
| |
| image | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT image(long value) Sets the specified value to the | |
| malloc | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkHostImageLayoutTransitionInfoEXT. Returns a new
| |
| newLayout | back to summary |
|---|---|
| public int newLayout() the new layout in an image layout transition.
| |
| newLayout | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT newLayout(int value) Sets the specified value to the | |
| nimage | back to summary |
|---|---|
| public static long nimage(long struct) Unsafe version of | |
| nimage | back to summary |
|---|---|
| public static void nimage(long struct, long value) Unsafe version of | |
| nnewLayout | back to summary |
|---|---|
| public static int nnewLayout(long struct) Unsafe version of | |
| nnewLayout | back to summary |
|---|---|
| public static void nnewLayout(long struct, int value) Unsafe version of | |
| noldLayout | back to summary |
|---|---|
| public static int noldLayout(long struct) Unsafe version of | |
| noldLayout | back to summary |
|---|---|
| public static void noldLayout(long struct, int value) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static long npNext(long struct) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static void npNext(long struct, long value) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static int nsType(long struct) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static void nsType(long struct, int value) Unsafe version of | |
| nsubresourceRange | back to summary |
|---|---|
| public static VkImageSubresourceRange nsubresourceRange(long struct) Unsafe version of | |
| nsubresourceRange | back to summary |
|---|---|
| public static void nsubresourceRange(long struct, VkImageSubresourceRange value) Unsafe version of | |
| oldLayout | back to summary |
|---|---|
| public int oldLayout() the old layout in an image layout transition.
| |
| oldLayout | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT oldLayout(int value) Sets the specified value to the | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT pNext(long value) Sets the specified value to the | |
| set | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT set(int sType, long pNext, long image, int oldLayout, int newLayout, VkImageSubresourceRange subresourceRange) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT set(VkHostImageLayoutTransitionInfoEXT src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| sType | back to summary |
|---|---|
| public int sType() a
| |
| sType | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT sType$Default() Sets the | |
| subresourceRange | back to summary |
|---|---|
| public VkImageSubresourceRange subresourceRange() describes the image subresource range within | |
| subresourceRange | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT subresourceRange(VkImageSubresourceRange value) Copies the specified | |
| subresourceRange | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT subresourceRange(Consumer<VkImageSubresourceRange> consumer) Passes the | |
VkHostImageLayoutTransitionInfoEXT structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkHostImageLayoutTransitionInfoEXT |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkHostImageLayoutTransitionInfoEXT ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| getElementFactory | back to summary |
|---|---|
| protected VkHostImageLayoutTransitionInfoEXT getElementFactory() Implements abstract org.
| |
| image | back to summary |
|---|---|
public long image()
| |
| image | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT. Sets the specified value to the | |
| newLayout | back to summary |
|---|---|
public int newLayout()
| |
| newLayout | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT. Sets the specified value to the | |
| oldLayout | back to summary |
|---|---|
public int oldLayout()
| |
| oldLayout | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT. Sets the specified value to the | |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT. Sets the specified value to the | |
| self | back to summary |
|---|---|
| protected VkHostImageLayoutTransitionInfoEXT. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT. Sets the | |
| subresourceRange | back to summary |
|---|---|
public VkImageSubresourceRange subresourceRange()
| |
| subresourceRange | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT. Copies the specified | |
| subresourceRange | back to summary |
|---|---|
| public VkHostImageLayoutTransitionInfoEXT. Passes the | |