pub unsafe extern "C" fn vmaEndDefragmentationPass(
    allocator: VmaAllocator,
    context: VmaDefragmentationContext,
    pPassInfo: *mut VmaDefragmentationPassMoveInfo
) -> Result
Expand description

\brief Ends single defragmentation pass.

\param allocator Allocator object. \param context Context object that has been created by vmaBeginDefragmentation(). \param pPassInfo Computed information for current pass filled by vmaBeginDefragmentationPass() and possibly modified by you.

Returns VK_SUCCESS if no more moves are possible or VK_INCOMPLETE if more defragmentations are possible.

Ends incremental defragmentation pass and commits all defragmentation moves from pPassInfo. After this call:

  • Allocations at pPassInfo[i].srcAllocation that had pPassInfo[i].operation == #VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY (which is the default) will be pointing to the new destination place.
  • Allocation at pPassInfo[i].srcAllocation that had pPassInfo[i].operation == #VMA_DEFRAGMENTATION_MOVE_OPERATION_DESTROY will be freed.

If no more moves are possible you can end whole defragmentation.