Package org.lwjgl.vulkan
Class VkCopyBufferInfo2
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkCopyBufferInfo2>
org.lwjgl.vulkan.VkCopyBufferInfo2
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkCopyBufferInfo2KHR
public class VkCopyBufferInfo2
extends org.lwjgl.system.Struct<VkCopyBufferInfo2>
implements org.lwjgl.system.NativeResource
Structure specifying parameters of a buffer copy command.
Valid Usage
- The
srcOffsetmember of each element ofpRegionsmust be less than the size ofsrcBuffer - The
dstOffsetmember of each element ofpRegionsmust be less than the size ofdstBuffer - The
sizemember of each element ofpRegionsmust be less than or equal to the size ofsrcBufferminussrcOffset - The
sizemember of each element ofpRegionsmust be less than or equal to the size ofdstBufferminusdstOffset - The union of the source regions, and the union of the destination regions, specified by the elements of
pRegions, must not overlap in memory srcBuffermust have been created withBUFFER_USAGE_TRANSFER_SRC_BITusage flag- If
srcBufferis non-sparse then it must be bound completely and contiguously to a singleVkDeviceMemoryobject dstBuffermust have been created withBUFFER_USAGE_TRANSFER_DST_BITusage flag- If
dstBufferis non-sparse then it must be bound completely and contiguously to a singleVkDeviceMemoryobject
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_COPY_BUFFER_INFO_2pNextmust beNULLsrcBuffermust be a validVkBufferhandledstBuffermust be a validVkBufferhandlepRegionsmust be a valid pointer to an array ofregionCountvalidVkBufferCopy2structuresregionCountmust be greater than 0- Both of
dstBuffer, andsrcBuffermust have been created, allocated, or retrieved from the sameVkDevice
See Also
VkBufferCopy2, CmdCopyBuffer2, CmdCopyBuffer2KHR
Layout
struct VkCopyBufferInfo2 {
VkStructureType sType();
void const * pNext();
VkBuffer srcBuffer();
VkBuffer dstBuffer();
uint32_t regionCount();
VkBufferCopy2 const * pRegions();
}-
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 size in bytes.static final intThe struct member offsets.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
ConstructorsConstructorDescriptionVkCopyBufferInfo2(ByteBuffer container) Creates aVkCopyBufferInfo2instance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VkCopyBufferInfo2calloc()Returns a newVkCopyBufferInfo2instance allocated withmemCalloc.static VkCopyBufferInfo2.Buffercalloc(int capacity) Returns a newVkCopyBufferInfo2.Bufferinstance allocated withmemCalloc.static VkCopyBufferInfo2.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkCopyBufferInfo2.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkCopyBufferInfo2calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkCopyBufferInfo2instance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkCopyBufferInfo2create()Returns a newVkCopyBufferInfo2instance allocated withBufferUtils.static VkCopyBufferInfo2.Buffercreate(int capacity) Returns a newVkCopyBufferInfo2.Bufferinstance allocated withBufferUtils.static VkCopyBufferInfo2create(long address) Returns a newVkCopyBufferInfo2instance for the specified memory address.static VkCopyBufferInfo2.Buffercreate(long address, int capacity) Create aVkCopyBufferInfo2.Bufferinstance at the specified memory.static @Nullable VkCopyBufferInfo2createSafe(long address) static @Nullable VkCopyBufferInfo2.BuffercreateSafe(long address, int capacity) longthe destination buffer.dstBuffer(long value) Sets the specified value to thedstBuffer()field.static VkCopyBufferInfo2malloc()Returns a newVkCopyBufferInfo2instance allocated withmemAlloc.static VkCopyBufferInfo2.Buffermalloc(int capacity) Returns a newVkCopyBufferInfo2.Bufferinstance allocated withmemAlloc.static VkCopyBufferInfo2.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkCopyBufferInfo2.Bufferinstance allocated on the specifiedMemoryStack.static VkCopyBufferInfo2malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkCopyBufferInfo2instance allocated on the specifiedMemoryStack.static longndstBuffer(long struct) Unsafe version ofdstBuffer().static voidndstBuffer(long struct, long value) Unsafe version ofdstBuffer.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static VkBufferCopy2.BuffernpRegions(long struct) Unsafe version ofpRegions().static voidnpRegions(long struct, VkBufferCopy2.Buffer value) Unsafe version ofpRegions.static intnregionCount(long struct) Unsafe version ofregionCount().static voidnregionCount(long struct, int value) Sets the specified value to theregionCountfield of the specifiedstruct.static longnsrcBuffer(long struct) Unsafe version ofsrcBuffer().static voidnsrcBuffer(long struct, long value) Unsafe version ofsrcBuffer.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.pRegions()a pointer to an array ofVkBufferCopy2structures specifying the regions to copy.pRegions(VkBufferCopy2.Buffer value) Sets the address of the specifiedVkBufferCopy2.Bufferto thepRegions()field.intthe number of regions to copy.set(int sType, long pNext, long srcBuffer, long dstBuffer, VkBufferCopy2.Buffer pRegions) Initializes this struct with the specified values.set(VkCopyBufferInfo2 src) Copies the specified struct data to this struct.intsizeof()longthe source buffer.srcBuffer(long value) Sets the specified value to thesrcBuffer()field.intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_COPY_BUFFER_INFO_2value 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. -
SRCBUFFER
public static final int SRCBUFFERThe struct member offsets. -
DSTBUFFER
public static final int DSTBUFFERThe struct member offsets. -
REGIONCOUNT
public static final int REGIONCOUNTThe struct member offsets. -
PREGIONS
public static final int PREGIONSThe struct member offsets.
-
-
Constructor Details
-
VkCopyBufferInfo2
Creates aVkCopyBufferInfo2instance 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<VkCopyBufferInfo2>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
srcBuffer
public long srcBuffer()the source buffer. -
dstBuffer
public long dstBuffer()the destination buffer. -
regionCount
public int regionCount()the number of regions to copy. -
pRegions
a pointer to an array ofVkBufferCopy2structures specifying the regions to copy. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_COPY_BUFFER_INFO_2value to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
srcBuffer
Sets the specified value to thesrcBuffer()field. -
dstBuffer
Sets the specified value to thedstBuffer()field. -
pRegions
Sets the address of the specifiedVkBufferCopy2.Bufferto thepRegions()field. -
set
public VkCopyBufferInfo2 set(int sType, long pNext, long srcBuffer, long dstBuffer, VkBufferCopy2.Buffer pRegions) 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 newVkCopyBufferInfo2instance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkCopyBufferInfo2instance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkCopyBufferInfo2instance allocated withBufferUtils. -
create
Returns a newVkCopyBufferInfo2instance for the specified memory address. -
createSafe
-
malloc
Returns a newVkCopyBufferInfo2.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkCopyBufferInfo2.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkCopyBufferInfo2.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkCopyBufferInfo2.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newVkCopyBufferInfo2instance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkCopyBufferInfo2instance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVkCopyBufferInfo2.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVkCopyBufferInfo2.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(). -
nsrcBuffer
public static long nsrcBuffer(long struct) Unsafe version ofsrcBuffer(). -
ndstBuffer
public static long ndstBuffer(long struct) Unsafe version ofdstBuffer(). -
nregionCount
public static int nregionCount(long struct) Unsafe version ofregionCount(). -
npRegions
Unsafe version ofpRegions(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nsrcBuffer
public static void nsrcBuffer(long struct, long value) Unsafe version ofsrcBuffer. -
ndstBuffer
public static void ndstBuffer(long struct, long value) Unsafe version ofdstBuffer. -
nregionCount
public static void nregionCount(long struct, int value) Sets the specified value to theregionCountfield of the specifiedstruct. -
npRegions
Unsafe version ofpRegions. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-