Package org.lwjgl.vulkan
Class VkImageToMemoryCopy
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkImageToMemoryCopy>
org.lwjgl.vulkan.VkImageToMemoryCopy
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkImageToMemoryCopyEXT
public class VkImageToMemoryCopy
extends org.lwjgl.system.Struct<VkImageToMemoryCopy>
implements org.lwjgl.system.NativeResource
Structure specifying an image to host memory copy operation.
Description
This structure is functionally similar to VkBufferImageCopy2, except it defines host memory as the target of copy instead of a buffer. In particular, the same data packing rules and restrictions as that structure apply here as well.
Valid Usage
pHostPointermust point to memory that is large enough to contain all memory locations that are accessed according to Buffer and Image Addressing, for each element ofpRegions- The union of all source regions, and the union of all destination regions, specified by the elements of
pRegions, must not overlap in memory
bufferRowLengthmust be 0, or greater than or equal to thewidthmember ofimageExtentbufferImageHeightmust be 0, or greater than or equal to theheightmember ofimageExtent- The
aspectMaskmember ofimageSubresourcemust only have a single bit set imageExtent.widthmust not be 0imageExtent.heightmust not be 0imageExtent.depthmust not be 0
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_IMAGE_TO_MEMORY_COPYpNextmust beNULLpHostPointermust be a pointer valueimageSubresourcemust be a validVkImageSubresourceLayersstructure
See Also
VkCopyImageToMemoryInfo, VkExtent3D, VkImageSubresourceLayers, VkOffset3D
Layout
struct VkImageToMemoryCopy {
VkStructureType sType();
void const * pNext();
void * pHostPointer();
uint32_t memoryRowLength();
uint32_t memoryImageHeight();
VkImageSubresourceLayers imageSubresource();
VkOffset3D imageOffset();
VkExtent3D imageExtent();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkImageToMemoryCopy(ByteBuffer container) Creates aVkImageToMemoryCopyinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkImageToMemoryCopycalloc()Returns a newVkImageToMemoryCopyinstance allocated withmemCalloc.static VkImageToMemoryCopy.Buffercalloc(int capacity) Returns a newVkImageToMemoryCopy.Bufferinstance allocated withmemCalloc.static VkImageToMemoryCopy.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImageToMemoryCopy.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkImageToMemoryCopycalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkImageToMemoryCopyinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkImageToMemoryCopycreate()Returns a newVkImageToMemoryCopyinstance allocated withBufferUtils.static VkImageToMemoryCopy.Buffercreate(int capacity) Returns a newVkImageToMemoryCopy.Bufferinstance allocated withBufferUtils.static VkImageToMemoryCopycreate(long address) Returns a newVkImageToMemoryCopyinstance for the specified memory address.static VkImageToMemoryCopy.Buffercreate(long address, int capacity) Create aVkImageToMemoryCopy.Bufferinstance at the specified memory.static @Nullable VkImageToMemoryCopycreateSafe(long address) static @Nullable VkImageToMemoryCopy.BuffercreateSafe(long address, int capacity) the size in texels of the image to copy inwidth,heightanddepth.imageExtent(Consumer<VkExtent3D> consumer) Passes theimageExtent()field to the specifiedConsumer.imageExtent(VkExtent3D value) Copies the specifiedVkExtent3Dto theimageExtent()field.selects the initialx,y,zoffsets in texels of the sub-region of the source image data.imageOffset(Consumer<VkOffset3D> consumer) Passes theimageOffset()field to the specifiedConsumer.imageOffset(VkOffset3D value) Copies the specifiedVkOffset3Dto theimageOffset()field.aVkImageSubresourceLayersused to specify the specific image subresources of the image used for the source or destination image data.imageSubresource(Consumer<VkImageSubresourceLayers> consumer) Passes theimageSubresource()field to the specifiedConsumer.Copies the specifiedVkImageSubresourceLayersto theimageSubresource()field.static VkImageToMemoryCopymalloc()Returns a newVkImageToMemoryCopyinstance allocated withmemAlloc.static VkImageToMemoryCopy.Buffermalloc(int capacity) Returns a newVkImageToMemoryCopy.Bufferinstance allocated withmemAlloc.static VkImageToMemoryCopy.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkImageToMemoryCopy.Bufferinstance allocated on the specifiedMemoryStack.static VkImageToMemoryCopymalloc(org.lwjgl.system.MemoryStack stack) Returns a newVkImageToMemoryCopyinstance allocated on the specifiedMemoryStack.intseememoryRowLengthmemoryImageHeight(int value) Sets the specified value to thememoryImageHeight()field.intmemoryRowLengthandmemoryImageHeightspecify in texels a subregion of a larger two- or three-dimensional image in host memory, and control the addressing calculations.memoryRowLength(int value) Sets the specified value to thememoryRowLength()field.static VkExtent3DnimageExtent(long struct) Unsafe version ofimageExtent().static voidnimageExtent(long struct, VkExtent3D value) Unsafe version ofimageExtent.static VkOffset3DnimageOffset(long struct) Unsafe version ofimageOffset().static voidnimageOffset(long struct, VkOffset3D value) Unsafe version ofimageOffset.static VkImageSubresourceLayersnimageSubresource(long struct) Unsafe version ofimageSubresource().static voidnimageSubresource(long struct, VkImageSubresourceLayers value) Unsafe version ofimageSubresource.static intnmemoryImageHeight(long struct) Unsafe version ofmemoryImageHeight().static voidnmemoryImageHeight(long struct, int value) Unsafe version ofmemoryImageHeight.static intnmemoryRowLength(long struct) Unsafe version ofmemoryRowLength().static voidnmemoryRowLength(long struct, int value) Unsafe version ofmemoryRowLength.static longnpHostPointer(long struct) Unsafe version ofpHostPointer().static voidnpHostPointer(long struct, long value) Unsafe version ofpHostPointer.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longthe host memory address which is the destination of the copy.pHostPointer(long value) Sets the specified value to thepHostPointer()field.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, long pHostPointer, int memoryRowLength, int memoryImageHeight, VkImageSubresourceLayers imageSubresource, VkOffset3D imageOffset, VkExtent3D imageExtent) Initializes this struct with the specified values.set(VkImageToMemoryCopy src) Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_IMAGE_TO_MEMORY_COPYvalue to thesType()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
PHOSTPOINTER
public static final int PHOSTPOINTERThe struct member offsets. -
MEMORYROWLENGTH
public static final int MEMORYROWLENGTHThe struct member offsets. -
MEMORYIMAGEHEIGHT
public static final int MEMORYIMAGEHEIGHTThe struct member offsets. -
IMAGESUBRESOURCE
public static final int IMAGESUBRESOURCEThe struct member offsets. -
IMAGEOFFSET
public static final int IMAGEOFFSETThe struct member offsets. -
IMAGEEXTENT
public static final int IMAGEEXTENTThe struct member offsets.
-
-
Constructor Details
-
VkImageToMemoryCopy
Creates aVkImageToMemoryCopyinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkImageToMemoryCopy>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
pHostPointer
public long pHostPointer()the host memory address which is the destination of the copy. -
memoryRowLength
public int memoryRowLength()memoryRowLengthandmemoryImageHeightspecify in texels a subregion of a larger two- or three-dimensional image in host memory, and control the addressing calculations. If either of these values is zero, that aspect of the host memory is considered to be tightly packed according to theimageExtent. -
memoryImageHeight
public int memoryImageHeight()seememoryRowLength -
imageSubresource
aVkImageSubresourceLayersused to specify the specific image subresources of the image used for the source or destination image data. -
imageOffset
selects the initialx,y,zoffsets in texels of the sub-region of the source image data. -
imageExtent
the size in texels of the image to copy inwidth,heightanddepth. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_IMAGE_TO_MEMORY_COPYvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
pHostPointer
Sets the specified value to thepHostPointer()field. -
memoryRowLength
Sets the specified value to thememoryRowLength()field. -
memoryImageHeight
Sets the specified value to thememoryImageHeight()field. -
imageSubresource
Copies the specifiedVkImageSubresourceLayersto theimageSubresource()field. -
imageSubresource
Passes theimageSubresource()field to the specifiedConsumer. -
imageOffset
Copies the specifiedVkOffset3Dto theimageOffset()field. -
imageOffset
Passes theimageOffset()field to the specifiedConsumer. -
imageExtent
Copies the specifiedVkExtent3Dto theimageExtent()field. -
imageExtent
Passes theimageExtent()field to the specifiedConsumer. -
set
public VkImageToMemoryCopy set(int sType, long pNext, long pHostPointer, int memoryRowLength, int memoryImageHeight, VkImageSubresourceLayers imageSubresource, VkOffset3D imageOffset, VkExtent3D imageExtent) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkImageToMemoryCopyinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkImageToMemoryCopyinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkImageToMemoryCopyinstance allocated withBufferUtils. -
create
Returns a newVkImageToMemoryCopyinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkImageToMemoryCopy.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkImageToMemoryCopy.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkImageToMemoryCopy.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkImageToMemoryCopy.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkImageToMemoryCopyinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkImageToMemoryCopyinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkImageToMemoryCopy.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkImageToMemoryCopy.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
npHostPointer
public static long npHostPointer(long struct) Unsafe version ofpHostPointer(). -
nmemoryRowLength
public static int nmemoryRowLength(long struct) Unsafe version ofmemoryRowLength(). -
nmemoryImageHeight
public static int nmemoryImageHeight(long struct) Unsafe version ofmemoryImageHeight(). -
nimageSubresource
Unsafe version ofimageSubresource(). -
nimageOffset
Unsafe version ofimageOffset(). -
nimageExtent
Unsafe version ofimageExtent(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
npHostPointer
public static void npHostPointer(long struct, long value) Unsafe version ofpHostPointer. -
nmemoryRowLength
public static void nmemoryRowLength(long struct, int value) Unsafe version ofmemoryRowLength. -
nmemoryImageHeight
public static void nmemoryImageHeight(long struct, int value) Unsafe version ofmemoryImageHeight. -
nimageSubresource
Unsafe version ofimageSubresource. -
nimageOffset
Unsafe version ofimageOffset. -
nimageExtent
Unsafe version ofimageExtent. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-