Interface VkReallocationFunctionI
- All Superinterfaces:
org.lwjgl.system.CallbackI,org.lwjgl.system.Pointer
- All Known Implementing Classes:
VkReallocationFunction
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
C Specification
The type of pfnReallocation is:
typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
void* pUserData,
void* pOriginal,
size_t size,
size_t alignment,
VkSystemAllocationScope allocationScope);
Description
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.
See Also
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsFields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Method Summary
Methods inherited from interface org.lwjgl.system.CallbackI
address
-
Field Details
-
CIF
static final org.lwjgl.system.libffi.FFICIF CIF
-
-
Method Details
-
getCallInterface
default org.lwjgl.system.libffi.FFICIF getCallInterface()- Specified by:
getCallInterfacein interfaceorg.lwjgl.system.CallbackI
-
callback
default void callback(long ret, long args) - Specified by:
callbackin interfaceorg.lwjgl.system.CallbackI
-
invoke
long invoke(long pUserData, long pOriginal, long size, long alignment, int allocationScope) Application-defined memory reallocation function.- Parameters:
pUserData- the value specified forVkAllocationCallbacks::pUserDatain the allocator specified by the application.pOriginal- must be eitherNULLor a pointer previously returned bypfnReallocationorpfnAllocationof 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- aVkSystemAllocationScopevalue specifying the allocation scope of the lifetime of the allocation, as described here.
-