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