Class VkReallocationFunction
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.CallbackI,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer,VkReallocationFunctionI
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
Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZEFields inherited from interface org.lwjgl.vulkan.VkReallocationFunctionI
CIF -
Method Summary
Modifier and TypeMethodDescriptionstatic VkReallocationFunctioncreate(long functionPointer) Creates aVkReallocationFunctioninstance from the specified function pointer.static VkReallocationFunctioncreate(VkReallocationFunctionI instance) Creates aVkReallocationFunctioninstance that delegates to the specifiedVkReallocationFunctionIinstance.static @Nullable VkReallocationFunctioncreateSafe(long functionPointer) Methods inherited from class org.lwjgl.system.Callback
address, equals, free, free, get, getSafe, hashCode, toStringMethods inherited from interface org.lwjgl.system.CallbackI
addressMethods inherited from interface org.lwjgl.system.NativeResource
closeMethods inherited from interface org.lwjgl.vulkan.VkReallocationFunctionI
callback, getCallInterface, invoke
-
Method Details
-
create
Creates aVkReallocationFunctioninstance from the specified function pointer.- Returns:
- the new
VkReallocationFunction
-
createSafe
-
create
Creates aVkReallocationFunctioninstance that delegates to the specifiedVkReallocationFunctionIinstance.
-