vkCopyMemoryToImageEXT does not check whether the device memory associated with dstImage is currently in use before performing the copy. The application must guarantee that any previously submitted command that reads from or writes to the copy regions has completed before the host performs the copy.
Copy regions for the image must be aligned to a multiple of the texel block extent in each dimension, except at the edges of the image, where region extents must match the edge of the image.
dstImage is sparse then all memory ranges accessed by the copy command must be bound as described in Binding Resource MemorydstImage is accessed, and dstImage was not created with separate stencil usage, the image must have been created with IMAGE_USAGE_HOST_TRANSFER_BIT_EXT set in VkImageCreateInfo::usagedstImage is accessed, and dstImage was created with separate stencil usage, the image must have been created with IMAGE_USAGE_HOST_TRANSFER_BIT_EXT set in VkImageStencilUsageCreateInfo::stencilUsagedstImage are accessed, the image must have been created with IMAGE_USAGE_HOST_TRANSFER_BIT_EXT set in VkImageCreateInfo::usageflags contains HOST_IMAGE_COPY_MEMCPY_EXT, the x, y, and z members of the dstOffset member of each element of pRegions must be 0flags contains HOST_IMAGE_COPY_MEMCPY_EXT, the extent member of each element of pRegions must equal the extents of dstImage identified by dstSubresourcedstImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory objectdstSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when dstImage was createddstSubresource.baseArrayLayer + dstSubresource.layerCount of each element of pRegions , if dstSubresource.layerCount is not REMAINING_ARRAY_LAYERS and maintenance5 is not enabled, must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was createddstImage must not have been created with flags containing IMAGE_CREATE_SUBSAMPLED_BIT_EXTpRegions must be contained within the specified dstSubresource of dstImagepRegions, dstOffset.x and (extent.width + dstOffset.x) must both be greater than or equal to 0 and less than or equal to the width of the specified dstSubresource of dstImagepRegions, dstOffset.y and (extent.height + dstOffset.y) must both be greater than or equal to 0 and less than or equal to the height of the specified dstSubresource of dstImagedstImage must have a sample count equal to SAMPLE_COUNT_1_BITdstImage is of type IMAGE_TYPE_1D, then for each element of pRegions, dstOffset.y must be 0 and extent.height must be 1pRegions, dstOffset.z and (extent.depth + dstOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified dstSubresource of dstImagedstImage is of type IMAGE_TYPE_1D or IMAGE_TYPE_2D, then for each element of pRegions, dstOffset.z must be 0 and extent.depth must be 1pRegions, dstOffset.x must be a multiple of the texel block extent width of the VkFormat of dstImagepRegions, dstOffset.y must be a multiple of the texel block extent height of the VkFormat of dstImagepRegions, dstOffset.z must be a multiple of the texel block extent depth of the VkFormat of dstImagepRegions, if the sum of dstOffset.x and extent.width does not equal the width of the subresource specified by srcSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of dstImagepRegions, if the sum of dstOffset.y and extent.height does not equal the height of the subresource specified by srcSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of dstImagepRegions, if the sum of dstOffset.z and extent.depth does not equal the depth of the subresource specified by srcSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of dstImagepRegions, dstSubresource.aspectMask must specify aspects present in dstImagedstImage has a multi-planar image format, then for each element of pRegions, dstSubresource.aspectMask must be a single valid multi-planar aspect mask bitdstImage is of type IMAGE_TYPE_3D, for each element of pRegions, dstSubresource.baseArrayLayer must be 0 and dstSubresource.layerCount must be 1pRegions, bufferRowLength must be a multiple of the texel block extent width of the VkFormat of dstImagepRegions, bufferImageHeight must be a multiple of the texel block extent height of the VkFormat of dstImagepRegions, bufferRowLength divided by the texel block extent width and then multiplied by the texel block size of dstImage must be less than or equal to 231-1dstImageLayout must specify the current layout of the image subresources of dstImage specified in pRegionsdstImageLayout must be one of the image layouts returned in VkPhysicalDeviceHostImageCopyPropertiesEXT::pCopyDstLayoutssType must be STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXTpNext must be NULLflags must be a valid combination of VkHostImageCopyFlagBitsEXT valuesdstImage must be a valid VkImage handledstImageLayout must be a valid VkImageLayout valuepRegions must be a valid pointer to an array of regionCount valid VkMemoryToImageCopyEXT structuresregionCount must be greater than 0VkMemoryToImageCopyEXT, CopyMemoryToImageEXT
struct VkCopyMemoryToImageInfoEXT {
VkStructureType sType;
void const * pNext;
VkHostImageCopyFlagsEXT flags;
VkImage dstImage;
VkImageLayout dstImageLayout;
uint32_t regionCount;
VkMemoryToImageCopyEXT const * pRegions;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkCopyMemoryToImageInfoEXT.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | DSTIMAGE
The struct member offsets. |
| public static final int | DSTIMAGELAYOUT
The struct member offsets. |
| public static final int | FLAGS
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PREGIONS
The struct member offsets. |
| public static final int | REGIONCOUNT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkCopyMemoryToImageInfoEXT(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkCopyMemoryToImageInfoEXT | |
| public static VkCopyMemoryToImageInfoEXT. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkCopyMemoryToImageInfoEXT | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkCopyMemoryToImageInfoEXT. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkCopyMemoryToImageInfoEXT | 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 VkCopyMemoryToImageInfoEXT | |
| public static VkCopyMemoryToImageInfoEXT | create(long address)
Returns a new |
| public static VkCopyMemoryToImageInfoEXT. | create(int
the buffer capacity capacity)Returns a new |
| public static VkCopyMemoryToImageInfoEXT. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkCopyMemoryToImageInfoEXT | |
| public static VkCopyMemoryToImageInfoEXT. | |
| public long | |
| public VkCopyMemoryToImageInfoEXT | |
| public int | |
| public VkCopyMemoryToImageInfoEXT | |
| public int | |
| public VkCopyMemoryToImageInfoEXT | |
| public static VkCopyMemoryToImageInfoEXT | |
| public static VkCopyMemoryToImageInfoEXT. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkCopyMemoryToImageInfoEXT | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkCopyMemoryToImageInfoEXT. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| 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 VkMemoryToImageCopyEXT. | |
| public static void | |
| public static int | |
| public static void | nregionCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | |
| public long | |
| public VkCopyMemoryToImageInfoEXT | |
| public VkMemoryToImageCopyEXT. | pRegions()
a pointer to an array of |
| public VkCopyMemoryToImageInfoEXT | pRegions(VkMemoryToImageCopyEXT.
Sets the address of the specified |
| public int | |
| public VkCopyMemoryToImageInfoEXT | set(int sType, long pNext, int flags, long dstImage, int dstImageLayout, VkMemoryToImageCopyEXT.
Initializes this struct with the specified values. |
| public VkCopyMemoryToImageInfoEXT | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkCopyMemoryToImageInfoEXT | |
| public VkCopyMemoryToImageInfoEXT | |
| public static void |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| DSTIMAGE | back to summary |
|---|---|
| public static final int DSTIMAGE The struct member offsets. | |
| DSTIMAGELAYOUT | back to summary |
|---|---|
| public static final int DSTIMAGELAYOUT The struct member offsets. | |
| FLAGS | back to summary |
|---|---|
| public static final int FLAGS The struct member offsets. | |
| PNEXT | back to summary |
|---|---|
| public static final int PNEXT The struct member offsets. | |
| PREGIONS | back to summary |
|---|---|
| public static final int PREGIONS The struct member offsets. | |
| REGIONCOUNT | back to summary |
|---|---|
| public static final int REGIONCOUNT 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. | |
| VkCopyMemoryToImageInfoEXT | back to summary |
|---|---|
| protected VkCopyMemoryToImageInfoEXT(long address, ByteBuffer container) | |
| VkCopyMemoryToImageInfoEXT | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT. Returns a new
| |
| create | back to summary |
|---|---|
| protected VkCopyMemoryToImageInfoEXT create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT. Like
| |
| dstImage | back to summary |
|---|---|
| public long dstImage() the destination image.
| |
| dstImage | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT dstImage(long value) Sets the specified value to the | |
| dstImageLayout | back to summary |
|---|---|
| public int dstImageLayout() the layout of the destination image subresources for the copy.
| |
| dstImageLayout | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT dstImageLayout(int value) Sets the specified value to the | |
| flags | back to summary |
|---|---|
| public int flags() a bitmask of
| |
| flags | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT flags(int value) Sets the specified value to the | |
| malloc | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkCopyMemoryToImageInfoEXT. Returns a new
| |
| ndstImage | back to summary |
|---|---|
| public static long ndstImage(long struct) Unsafe version of | |
| ndstImage | back to summary |
|---|---|
| public static void ndstImage(long struct, long value) Unsafe version of | |
| ndstImageLayout | back to summary |
|---|---|
| public static int ndstImageLayout(long struct) Unsafe version of | |
| ndstImageLayout | back to summary |
|---|---|
| public static void ndstImageLayout(long struct, int value) Unsafe version of | |
| nflags | back to summary |
|---|---|
| public static int nflags(long struct) Unsafe version of | |
| nflags | back to summary |
|---|---|
| public static void nflags(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 | |
| npRegions | back to summary |
|---|---|
| public static VkMemoryToImageCopyEXT. Unsafe version of | |
| npRegions | back to summary |
|---|---|
| public static void npRegions(long struct, VkMemoryToImageCopyEXT. Unsafe version of | |
| nregionCount | back to summary |
|---|---|
| public static int nregionCount(long struct) Unsafe version of | |
| nregionCount | back to summary |
|---|---|
| public static void nregionCount(long struct, int value) Sets the specified value to the | |
| 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 | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT pNext(long value) Sets the specified value to the | |
| pRegions | back to summary |
|---|---|
| public VkMemoryToImageCopyEXT. a pointer to an array of
| |
| pRegions | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT pRegions(VkMemoryToImageCopyEXT. Sets the address of the specified | |
| regionCount | back to summary |
|---|---|
| public int regionCount() the number of regions to copy.
| |
| set | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT set(int sType, long pNext, int flags, long dstImage, int dstImageLayout, VkMemoryToImageCopyEXT. Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT set(VkCopyMemoryToImageInfoEXT 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 VkCopyMemoryToImageInfoEXT sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT sType$Default() Sets the | |
| validate | back to summary |
|---|---|
| public static void validate(long struct) Validates pointer members that should not be
| |
VkCopyMemoryToImageInfoEXT structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkCopyMemoryToImageInfoEXT |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkCopyMemoryToImageInfoEXT 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) | |
| dstImage | back to summary |
|---|---|
public long dstImage()
| |
| dstImage | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT. Sets the specified value to the | |
| dstImageLayout | back to summary |
|---|---|
public int dstImageLayout()
| |
| dstImageLayout | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT. Sets the specified value to the | |
| flags | back to summary |
|---|---|
public int flags()
| |
| flags | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT. Sets the specified value to the | |
| getElementFactory | back to summary |
|---|---|
| protected VkCopyMemoryToImageInfoEXT getElementFactory() Implements abstract org.
| |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT. Sets the specified value to the | |
| pRegions | back to summary |
|---|---|
public VkMemoryToImageCopyEXT.
| |
| pRegions | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT. Sets the address of the specified | |
| regionCount | back to summary |
|---|---|
public int regionCount()
| |
| self | back to summary |
|---|---|
| protected VkCopyMemoryToImageInfoEXT. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkCopyMemoryToImageInfoEXT. Sets the | |