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.
@FunctionalInterface public interface VkReallocationFunctionI extends org.lwjgl.system.CallbackIApplication-defined memory reallocation function.C Specification
The type of
pfnReallocationis:typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)( void* pUserData, void* pOriginal, size_t size, size_t alignment, VkSystemAllocationScope allocationScope);Description
pfnReallocationmust return an allocation with enough space forsizebytes, and the contents of the original allocation from bytes zero tomin(original size, new size) - 1must be preserved in the returned allocation. Ifsizeis 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
pOriginalisNULL, thenpfnReallocationmust behave equivalently to a call toVkAllocationFunctionwith the same parameter values (withoutpOriginal).If
sizeis zero, thenpfnReallocationmust behave equivalently to a call toVkFreeFunctionwith the samepUserDataparameter value, andpMemoryequal topOriginal.If
pOriginalis non-NULL, the implementation must ensure thatalignmentis equal to thealignmentused to originally allocatepOriginal.If this function fails and
pOriginalis non-NULLthe application must not free the old allocation.pfnReallocationmust follow the same rules for return values asPFN_vkAllocationFunction.See Also
-
-
Field Summary
Fields Modifier and Type Field Description static org.lwjgl.system.libffi.FFICIFCIF
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default voidcallback(long ret, long args)default org.lwjgl.system.libffi.FFICIFgetCallInterface()longinvoke(long pUserData, long pOriginal, long size, long alignment, int allocationScope)Application-defined memory reallocation function.
-
-
-
Method Detail
-
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.
-
-