@FunctionalInterface
public interface VkReallocationFunctionI
extends org.lwjgl.system.CallbackI.P
The type of pfnReallocation is:
typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
void* pUserData,
void* pOriginal,
size_t size,
size_t alignment,
VkSystemAllocationScope allocationScope);
pfnReallocation must return an allocation with enough space for size bytes, and the contents of the original allocation from bytes zero to min(original size, new size) - 1 must be preserved in the returned allocation. If size is larger than the old size, the contents of the additional space are undefined. If satisfying these requirements involves creating a new allocation, then the old allocation should be freed.
If pOriginal is NULL, then pfnReallocation must behave equivalently to a call to VkAllocationFunction with the same parameter values (without pOriginal).
If size is zero, then pfnReallocation must behave equivalently to a call to VkFreeFunction with the same pUserData parameter value, and pMemory equal to pOriginal.
If pOriginal is non-NULL, the implementation must ensure that alignment is equal to the alignment used to originally allocate pOriginal.
If this function fails and pOriginal is non-NULL the application must not free the old allocation.
pfnReallocation must follow the same rules for return values as tname:PFN_vkAllocationFunction.
org.lwjgl.system.CallbackI.B, org.lwjgl.system.CallbackI.D, org.lwjgl.system.CallbackI.F, org.lwjgl.system.CallbackI.I, org.lwjgl.system.CallbackI.J, org.lwjgl.system.CallbackI.N, org.lwjgl.system.CallbackI.P, org.lwjgl.system.CallbackI.S, org.lwjgl.system.CallbackI.V, org.lwjgl.system.CallbackI.Z| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
SIGNATURE |
| Modifier and Type | Method and Description |
|---|---|
default long |
callback(long args) |
default java.lang.String |
getSignature() |
long |
invoke(long pUserData,
long pOriginal,
long size,
long alignment,
int allocationScope)
Application-defined memory reallocation function.
|
default java.lang.String getSignature()
getSignature in interface org.lwjgl.system.CallbackIdefault long callback(long args)
callback in interface org.lwjgl.system.CallbackI.Plong invoke(long pUserData,
long pOriginal,
long size,
long alignment,
int allocationScope)
pUserData - the value specified for VkAllocationCallbacks::pUserData in the allocator specified by the application.pOriginal - must be either NULL or a pointer previously returned by pfnReallocation or pfnAllocation of a compatible allocator.size - the size in bytes of the requested allocation.alignment - the requested alignment of the allocation in bytes and must be a power of two.allocationScope - a VkSystemAllocationScope value specifying the allocation scope of the lifetime of the allocation, as described here.Copyright LWJGL. All Rights Reserved. License terms.