Package org.lwjgl.vulkan
Class VkCopyBufferInfo2
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkCopyBufferInfo2
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkCopyBufferInfo2KHR
public class VkCopyBufferInfo2 extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceStructure specifying parameters of a buffer copy command.Description
Members defined by this structure with the same name as parameters in
CmdCopyBufferhave the identical effect to those parameters; the child structureVkBufferCopy2is a variant ofVkBufferCopywhich includessTypeandpNextparameters, allowing it to be extended.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,CmdCopyBuffer2KHRLayout
struct VkCopyBufferInfo2 { VkStructureTypesType(); void const *pNext(); VkBuffersrcBuffer(); VkBufferdstBuffer(); uint32_tregionCount();VkBufferCopy2const *pRegions(); }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkCopyBufferInfo2.BufferAn array ofVkCopyBufferInfo2structs.
-
Constructor Summary
Constructors Constructor Description VkCopyBufferInfo2(java.nio.ByteBuffer container)Creates aVkCopyBufferInfo2instance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static 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 VkCopyBufferInfo2createSafe(long address)static VkCopyBufferInfo2.BuffercreateSafe(long address, int capacity)longdstBuffer()the destination buffer.VkCopyBufferInfo2dstBuffer(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.VkCopyBufferInfo2pNext(long value)Sets the specified value to thepNext()field.VkBufferCopy2.BufferpRegions()a pointer to an array ofVkBufferCopy2structures specifying the regions to copy.VkCopyBufferInfo2pRegions(VkBufferCopy2.Buffer value)Sets the address of the specifiedVkBufferCopy2.Bufferto thepRegions()field.intregionCount()the number of regions to copy.VkCopyBufferInfo2set(int sType, long pNext, long srcBuffer, long dstBuffer, VkBufferCopy2.Buffer pRegions)Initializes this struct with the specified values.VkCopyBufferInfo2set(VkCopyBufferInfo2 src)Copies the specified struct data to this struct.intsizeof()longsrcBuffer()the source buffer.VkCopyBufferInfo2srcBuffer(long value)Sets the specified value to thesrcBuffer()field.intsType()the type of this structure.VkCopyBufferInfo2sType(int value)Sets the specified value to thesType()field.VkCopyBufferInfo2sType$Default()Sets theSTRUCTURE_TYPE_COPY_BUFFER_INFO_2value to thesType()field.static voidvalidate(long struct)Validates pointer members that should not beNULL.
-
-
-
Constructor Detail
-
VkCopyBufferInfo2
public VkCopyBufferInfo2(java.nio.ByteBuffer container)
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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
sType
public int sType()
the type of 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
public VkBufferCopy2.Buffer pRegions()
a pointer to an array ofVkBufferCopy2structures specifying the regions to copy.
-
sType
public VkCopyBufferInfo2 sType(int value)
Sets the specified value to thesType()field.
-
sType$Default
public VkCopyBufferInfo2 sType$Default()
Sets theSTRUCTURE_TYPE_COPY_BUFFER_INFO_2value to thesType()field.
-
pNext
public VkCopyBufferInfo2 pNext(long value)
Sets the specified value to thepNext()field.
-
srcBuffer
public VkCopyBufferInfo2 srcBuffer(long value)
Sets the specified value to thesrcBuffer()field.
-
dstBuffer
public VkCopyBufferInfo2 dstBuffer(long value)
Sets the specified value to thedstBuffer()field.
-
pRegions
public VkCopyBufferInfo2 pRegions(VkBufferCopy2.Buffer value)
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
public VkCopyBufferInfo2 set(VkCopyBufferInfo2 src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkCopyBufferInfo2 malloc()
Returns a newVkCopyBufferInfo2instance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkCopyBufferInfo2 calloc()
Returns a newVkCopyBufferInfo2instance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkCopyBufferInfo2 create()
Returns a newVkCopyBufferInfo2instance allocated withBufferUtils.
-
create
public static VkCopyBufferInfo2 create(long address)
Returns a newVkCopyBufferInfo2instance for the specified memory address.
-
createSafe
@Nullable public static VkCopyBufferInfo2 createSafe(long address)
-
malloc
public static VkCopyBufferInfo2.Buffer malloc(int capacity)
Returns a newVkCopyBufferInfo2.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkCopyBufferInfo2.Buffer calloc(int capacity)
Returns a newVkCopyBufferInfo2.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkCopyBufferInfo2.Buffer create(int capacity)
Returns a newVkCopyBufferInfo2.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkCopyBufferInfo2.Buffer create(long address, int capacity)
Create aVkCopyBufferInfo2.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkCopyBufferInfo2.Buffer createSafe(long address, int capacity)
-
malloc
public static VkCopyBufferInfo2 malloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyBufferInfo2instance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkCopyBufferInfo2 calloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyBufferInfo2instance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkCopyBufferInfo2.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyBufferInfo2.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
calloc
public static VkCopyBufferInfo2.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkCopyBufferInfo2.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
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
public static VkBufferCopy2.Buffer npRegions(long struct)
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
public static void npRegions(long struct, VkBufferCopy2.Buffer value)Unsafe version ofpRegions.
-
validate
public static void validate(long struct)
Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-
-