Class VkReallocationFunction

java.lang.Object
org.lwjgl.system.Callback
org.lwjgl.vulkan.VkReallocationFunction
All Implemented Interfaces:
AutoCloseable, CallbackI, NativeResource, Pointer, VkReallocationFunctionI

public abstract class VkReallocationFunction extends Callback implements VkReallocationFunctionI
Application-defined memory reallocation function.
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

VkAllocationCallbacks

  • Method Details

    • create

      public static VkReallocationFunction create(long functionPointer)
      Creates a VkReallocationFunction instance from the specified function pointer.
      Returns:
      the new VkReallocationFunction
    • createSafe

      @Nullable public static VkReallocationFunction createSafe(long functionPointer)
      Like create, but returns null if functionPointer is NULL.
    • create

      public static VkReallocationFunction create(VkReallocationFunctionI instance)
      Creates a VkReallocationFunction instance that delegates to the specified VkReallocationFunctionI instance.