Class VmaAllocationInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
VmaAllocation objects, that can be retrieved using function GetAllocationInfo.
There is also an extended version of this structure that carries additional parameters: VmaAllocationInfo2.
Layout
struct VmaAllocationInfo {
uint32_t memoryType();
VkDeviceMemory deviceMemory();
VkDeviceSize offset();
VkDeviceSize size();
void * pMappedData();
void * pUserData();
char const * pName();
}-
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.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVmaAllocationInfo(ByteBuffer container) Creates aVmaAllocationInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic VmaAllocationInfocalloc()Returns a newVmaAllocationInfoinstance allocated withmemCalloc.static VmaAllocationInfo.Buffercalloc(int capacity) Returns a newVmaAllocationInfo.Bufferinstance allocated withmemCalloc.static VmaAllocationInfo.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVmaAllocationInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VmaAllocationInfocalloc(org.lwjgl.system.MemoryStack stack) Returns a newVmaAllocationInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VmaAllocationInfoDeprecated.static VmaAllocationInfo.BuffercallocStack(int capacity) Deprecated.static VmaAllocationInfo.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VmaAllocationInfocallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static VmaAllocationInfocreate()Returns a newVmaAllocationInfoinstance allocated withBufferUtils.static VmaAllocationInfo.Buffercreate(int capacity) Returns a newVmaAllocationInfo.Bufferinstance allocated withBufferUtils.static VmaAllocationInfocreate(long address) Returns a newVmaAllocationInfoinstance for the specified memory address.static VmaAllocationInfo.Buffercreate(long address, int capacity) Create aVmaAllocationInfo.Bufferinstance at the specified memory.static @Nullable VmaAllocationInfocreateSafe(long address) static @Nullable VmaAllocationInfo.BuffercreateSafe(long address, int capacity) longhandle to Vulkan memory object.static VmaAllocationInfomalloc()Returns a newVmaAllocationInfoinstance allocated withmemAlloc.static VmaAllocationInfo.Buffermalloc(int capacity) Returns a newVmaAllocationInfo.Bufferinstance allocated withmemAlloc.static VmaAllocationInfo.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVmaAllocationInfo.Bufferinstance allocated on the specifiedMemoryStack.static VmaAllocationInfomalloc(org.lwjgl.system.MemoryStack stack) Returns a newVmaAllocationInfoinstance allocated on the specifiedMemoryStack.static VmaAllocationInfoDeprecated.static VmaAllocationInfo.BuffermallocStack(int capacity) Deprecated.static VmaAllocationInfo.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.static VmaAllocationInfomallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.intmemory type index that this allocation was allocated from.static longndeviceMemory(long struct) Unsafe version ofdeviceMemory().static intnmemoryType(long struct) Unsafe version ofmemoryType().static longnoffset(long struct) Unsafe version ofoffset().static longnpMappedData(long struct) Unsafe version ofpMappedData().static @Nullable ByteBuffernpName(long struct) Unsafe version ofpName().static @Nullable StringnpNameString(long struct) Unsafe version ofpNameString().static longnpUserData(long struct) Unsafe version ofpUserData().static longnsize(long struct) Unsafe version ofsize().longoffset()offset inVkDeviceMemoryobject to the beginning of this allocation, in bytes.longpointer to the beginning of this allocation as mapped data.@Nullable ByteBufferpName()Custom allocation name that was set withSetAllocationName.@Nullable StringCustom allocation name that was set withSetAllocationName.longcustom general-purpose pointer that was passed asVmaAllocationCreateInfo::pUserDataor set usingSetAllocationUserData.longsize()size of this allocation, in bytes.intsizeof()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. -
MEMORYTYPE
public static final int MEMORYTYPEThe struct member offsets. -
DEVICEMEMORY
public static final int DEVICEMEMORYThe struct member offsets. -
OFFSET
public static final int OFFSETThe struct member offsets. -
SIZE
public static final int SIZEThe struct member offsets. -
PMAPPEDDATA
public static final int PMAPPEDDATAThe struct member offsets. -
PUSERDATA
public static final int PUSERDATAThe struct member offsets. -
PNAME
public static final int PNAMEThe struct member offsets.
-
-
Constructor Details
-
VmaAllocationInfo
Creates aVmaAllocationInfoinstance 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<VmaAllocationInfo>
-
memoryType
public int memoryType()memory type index that this allocation was allocated from.It never changes.
-
deviceMemory
public long deviceMemory()handle to Vulkan memory object.Same memory object can be shared by multiple allocations.
It can change after the allocation is moved during defragmentation.
-
offset
public long offset()offset inVkDeviceMemoryobject to the beginning of this allocation, in bytes.(deviceMemory, offset)pair is unique to this allocation.You usually don't need to use this offset. If you create a buffer or an image together with the allocation using e.g. function
CreateBuffer,CreateImage, functions that operate on these resources refer to the beginning of the buffer or image, not entire device memory block. Functions likeMapMemory,BindBufferMemoryalso refer to the beginning of the allocation and apply this offset automatically.It can change after the allocation is moved during defragmentation.
-
size
public long size()size of this allocation, in bytes.It never changes.
Note
Allocation size returned in this variable may be greater than the size requested for the resource e.g. as
VkBufferCreateInfo::size. Whole size of the allocation is accessible for operations on memory e.g. using a pointer after mapping withMapMemory, but operations on the resource e.g. usingvkCmdCopyBuffermust be limited to the size of the resource. -
pMappedData
public long pMappedData()pointer to the beginning of this allocation as mapped data.If the allocation hasn't been mapped using
MapMemoryand hasn't been created withALLOCATION_CREATE_MAPPED_BITflag, this value is null.It can change after call to
MapMemory,UnmapMemory. It can also change after the allocation is moved during defragmentation. -
pUserData
public long pUserData()custom general-purpose pointer that was passed asVmaAllocationCreateInfo::pUserDataor set usingSetAllocationUserData.It can change after call to
SetAllocationUserDatafor this allocation. -
pName
Custom allocation name that was set withSetAllocationName.It can change after call to
vmaSetAllocationName()for this allocation.Another way to set custom name is to pass it in
VmaAllocationCreateInfo::pUserDatawith additional flagALLOCATION_CREATE_USER_DATA_COPY_STRING_BITset (DEPRECATED). -
pNameString
Custom allocation name that was set withSetAllocationName.It can change after call to
vmaSetAllocationName()for this allocation.Another way to set custom name is to pass it in
VmaAllocationCreateInfo::pUserDatawith additional flagALLOCATION_CREATE_USER_DATA_COPY_STRING_BITset (DEPRECATED). -
malloc
Returns a newVmaAllocationInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVmaAllocationInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVmaAllocationInfoinstance allocated withBufferUtils. -
create
Returns a newVmaAllocationInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVmaAllocationInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVmaAllocationInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVmaAllocationInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVmaAllocationInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VmaAllocationInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VmaAllocationInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVmaAllocationInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVmaAllocationInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newVmaAllocationInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newVmaAllocationInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nmemoryType
public static int nmemoryType(long struct) Unsafe version ofmemoryType(). -
ndeviceMemory
public static long ndeviceMemory(long struct) Unsafe version ofdeviceMemory(). -
noffset
public static long noffset(long struct) Unsafe version ofoffset(). -
nsize
public static long nsize(long struct) Unsafe version ofsize(). -
npMappedData
public static long npMappedData(long struct) Unsafe version ofpMappedData(). -
npUserData
public static long npUserData(long struct) Unsafe version ofpUserData(). -
npName
Unsafe version ofpName(). -
npNameString
Unsafe version ofpNameString().
-