Function vk_mem_alloc::ffi::vmaEndDefragmentationPass
source · [−]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 hadpPassInfo[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 hadpPassInfo[i].operation ==
#VMA_DEFRAGMENTATION_MOVE_OPERATION_DESTROY will be freed.
If no more moves are possible you can end whole defragmentation.