vkCopyImageToMemoryEXT does not check whether the device memory associated with srcImage is currently in use before performing the copy. The application must guarantee that any previously submitted command that 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-1srcImageLayout must specify the current layout of the image subresources of srcImage specified in pRegionssrcImageLayout must be one of the image layouts returned in VkPhysicalDeviceHostImageCopyPropertiesEXT::pCopySrcLayoutssType must be STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXTpNext must be NULLflags must be a valid combination of VkHostImageCopyFlagBitsEXT valuessrcImage must be a valid VkImage handlesrcImageLayout must be a valid VkImageLayout valuepRegions must be a valid pointer to an array of regionCount valid VkImageToMemoryCopyEXT structuresregionCount must be greater than 0VkImageToMemoryCopyEXT, CopyImageToMemoryEXT
struct VkCopyImageToMemoryInfoEXT {
VkStructureType sType;
void const * pNext;
VkHostImageCopyFlagsEXT flags;
VkImage srcImage;
VkImageLayout srcImageLayout;
uint32_t regionCount;
VkImageToMemoryCopyEXT const * pRegions;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkCopyImageToMemoryInfoEXT.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| 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 | SRCIMAGE
The struct member offsets. |
| public static final int | SRCIMAGELAYOUT
The struct member offsets. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkCopyImageToMemoryInfoEXT(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkCopyImageToMemoryInfoEXT | |
| public static VkCopyImageToMemoryInfoEXT. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkCopyImageToMemoryInfoEXT | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkCopyImageToMemoryInfoEXT. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkCopyImageToMemoryInfoEXT | 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 VkCopyImageToMemoryInfoEXT | |
| public static VkCopyImageToMemoryInfoEXT | create(long address)
Returns a new |
| public static VkCopyImageToMemoryInfoEXT. | create(int
the buffer capacity capacity)Returns a new |
| public static VkCopyImageToMemoryInfoEXT. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkCopyImageToMemoryInfoEXT | |
| public static VkCopyImageToMemoryInfoEXT. | |
| public int | |
| public VkCopyImageToMemoryInfoEXT | |
| public static VkCopyImageToMemoryInfoEXT | |
| public static VkCopyImageToMemoryInfoEXT. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkCopyImageToMemoryInfoEXT | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkCopyImageToMemoryInfoEXT. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static VkImageToMemoryCopyEXT. | |
| public static void | |
| public static int | |
| public static void | nregionCount(long struct, int value)
Sets the specified value to the |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkCopyImageToMemoryInfoEXT | |
| public VkImageToMemoryCopyEXT. | pRegions()
a pointer to an array of |
| public VkCopyImageToMemoryInfoEXT | pRegions(VkImageToMemoryCopyEXT.
Sets the address of the specified |
| public int | |
| public VkCopyImageToMemoryInfoEXT | set(int sType, long pNext, int flags, long srcImage, int srcImageLayout, VkImageToMemoryCopyEXT.
Initializes this struct with the specified values. |
| public VkCopyImageToMemoryInfoEXT | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public long | |
| public VkCopyImageToMemoryInfoEXT | |
| public int | |
| public VkCopyImageToMemoryInfoEXT | |
| public int | |
| public VkCopyImageToMemoryInfoEXT | |
| public VkCopyImageToMemoryInfoEXT | |
| public static void |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| 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. | |
| SRCIMAGE | back to summary |
|---|---|
| public static final int SRCIMAGE The struct member offsets. | |
| SRCIMAGELAYOUT | back to summary |
|---|---|
| public static final int SRCIMAGELAYOUT The struct member offsets. | |
| STYPE | back to summary |
|---|---|
| public static final int STYPE The struct member offsets. | |
| VkCopyImageToMemoryInfoEXT | back to summary |
|---|---|
| protected VkCopyImageToMemoryInfoEXT(long address, ByteBuffer container) | |
| VkCopyImageToMemoryInfoEXT | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT. Returns a new
| |
| create | back to summary |
|---|---|
| protected VkCopyImageToMemoryInfoEXT create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT. Like
| |
| flags | back to summary |
|---|---|
| public int flags() a bitmask of
| |
| flags | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT flags(int value) Sets the specified value to the | |
| malloc | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkCopyImageToMemoryInfoEXT. Returns a new
| |
| 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 VkImageToMemoryCopyEXT. Unsafe version of | |
| npRegions | back to summary |
|---|---|
| public static void npRegions(long struct, VkImageToMemoryCopyEXT. 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 | |
| nsrcImage | back to summary |
|---|---|
| public static long nsrcImage(long struct) Unsafe version of | |
| nsrcImage | back to summary |
|---|---|
| public static void nsrcImage(long struct, long value) Unsafe version of | |
| nsrcImageLayout | back to summary |
|---|---|
| public static int nsrcImageLayout(long struct) Unsafe version of | |
| nsrcImageLayout | back to summary |
|---|---|
| public static void nsrcImageLayout(long struct, int 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 | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT pNext(long value) Sets the specified value to the | |
| pRegions | back to summary |
|---|---|
| public VkImageToMemoryCopyEXT. a pointer to an array of
| |
| pRegions | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT pRegions(VkImageToMemoryCopyEXT. Sets the address of the specified | |
| regionCount | back to summary |
|---|---|
| public int regionCount() the number of regions to copy.
| |
| set | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT set(int sType, long pNext, int flags, long srcImage, int srcImageLayout, VkImageToMemoryCopyEXT. Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT set(VkCopyImageToMemoryInfoEXT src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| srcImage | back to summary |
|---|---|
| public long srcImage() the source image.
| |
| srcImage | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT srcImage(long value) Sets the specified value to the | |
| srcImageLayout | back to summary |
|---|---|
| public int srcImageLayout() the layout of the source image subresources for the copy.
| |
| srcImageLayout | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT srcImageLayout(int value) Sets the specified value to the | |
| sType | back to summary |
|---|---|
| public int sType() a
| |
| sType | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT sType$Default() Sets the | |
| validate | back to summary |
|---|---|
| public static void validate(long struct) Validates pointer members that should not be
| |
VkCopyImageToMemoryInfoEXT structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkCopyImageToMemoryInfoEXT |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkCopyImageToMemoryInfoEXT 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) | |
| flags | back to summary |
|---|---|
public int flags()
| |
| flags | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT. Sets the specified value to the | |
| getElementFactory | back to summary |
|---|---|
| protected VkCopyImageToMemoryInfoEXT getElementFactory() Implements abstract org.
| |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT. Sets the specified value to the | |
| pRegions | back to summary |
|---|---|
public VkImageToMemoryCopyEXT.
| |
| pRegions | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT. Sets the address of the specified | |
| regionCount | back to summary |
|---|---|
public int regionCount()
| |
| self | back to summary |
|---|---|
| protected VkCopyImageToMemoryInfoEXT. Implements abstract org.
| |
| srcImage | back to summary |
|---|---|
public long srcImage()
| |
| srcImage | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT. Sets the specified value to the | |
| srcImageLayout | back to summary |
|---|---|
public int srcImageLayout()
| |
| srcImageLayout | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT. Sets the specified value to the | |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkCopyImageToMemoryInfoEXT. Sets the | |