The type of pfnReallocation is:
typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
void* pUserData,
void* pOriginal,
size_t size,
size_t alignment,
VkSystemAllocationScope allocationScope);
If the reallocation was successful, 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 PFN_vkAllocationFunction.
| Modifier and Type | Method and Description |
|---|---|
| public default void | callback(long
a pointer to the memory used for the function's return value.
ret, long If the function is declared as returning Otherwise, the callback must fill the object to which this points, following the same special promotion behavior as
a vector of pointers to memory holding the arguments to the function args)Implements org. |
| public default FFICIF | getCallInterface()
Implements org. |
| public long | invoke(long
the value specified for pUserData, long VkAllocationCallbacks::pUserData in the allocator specified by the application.must be either pOriginal, long NULL or a pointer previously returned by pfnReallocation or pfnAllocation of a compatible allocator.the size in bytes of the requested allocation. size, long the requested alignment of the allocation in bytes and must be a power of two. alignment, int a allocationScope)VkSystemAllocationScope value specifying the allocation scope of the lifetime of the allocation, as described here.Application-defined memory reallocation function. |
| CIF | back to summary |
|---|---|
| public static final FFICIF CIF | |
| callback | back to summary |
|---|---|
| public default void callback(long ret, long args) Implements org. Doc from org. The Java method that will be called from native code when the native callback function is invoked.
| |
| getCallInterface | back to summary |
|---|---|
| public default FFICIF getCallInterface() Implements org. Doc from org. Returns the libffi Call Interface for this callback function. [INTERNAL API] | |
| invoke | back to summary |
|---|---|
| public long invoke(long pUserData, long pOriginal, long size, long alignment, int allocationScope) Application-defined memory reallocation function.
| |