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 | Class and Description |
|---|---|
| private static class |
| Access | Constructor and Description |
|---|---|
| protected | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public static VkReallocationFunction | Returns: the newVkReallocationFunctionCreates a |
| public static VkReallocationFunction | create(VkReallocationFunctionI instance)
Creates a |
| public static VkReallocationFunction |
| VkReallocationFunction | back to summary |
|---|---|
| protected VkReallocationFunction() | |
| VkReallocationFunction | back to summary |
|---|---|
| pack-priv VkReallocationFunction(long functionPointer) | |
| create | back to summary |
|---|---|
| public static VkReallocationFunction create(long functionPointer) Creates a
| |
| create | back to summary |
|---|---|
| public static VkReallocationFunction create(VkReallocationFunctionI instance) Creates a | |
| createSafe | back to summary |
|---|---|
| public static VkReallocationFunction createSafe(long functionPointer) Like
| |
| Modifier and Type | Field and Description |
|---|---|
| private final VkReallocationFunctionI |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| 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.Implements org. |
| delegate | back to summary |
|---|---|
| private final VkReallocationFunctionI delegate | |
| Container | back to summary |
|---|---|
| pack-priv Container(long functionPointer, VkReallocationFunctionI delegate) | |
| invoke | back to summary |
|---|---|
| public long invoke(long pUserData, long pOriginal, long size, long alignment, int allocationScope) Implements org. Doc from org. Application-defined memory reallocation function.
| |