Class VkReallocationFunction

  • All Implemented Interfaces:
    java.lang.AutoCloseable, CallbackI, CallbackI.P, 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

    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 tname:PFN_vkAllocationFunction.

    See Also

    VkAllocationCallbacks

    • Method Detail

      • 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.