Open 3D Engine Atom Gem API Reference
24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
Parameters for incremental defragmentation steps. More...
#include <vk_mem_alloc.h>
Public Member Functions | |
VmaDefragmentationMove *VMA_NULLABLE | VMA_LEN_IF_NOT_NULL (moveCount) pMoves |
Array of moves to be performed by the user in the current defragmentation pass. More... | |
Public Attributes | |
uint32_t | moveCount |
Number of elements in the pMoves array. | |
Parameters for incremental defragmentation steps.
To be used with function vmaBeginDefragmentationPass().
VmaDefragmentationMove* VMA_NULLABLE VmaDefragmentationPassMoveInfo::VMA_LEN_IF_NOT_NULL | ( | moveCount | ) |
Array of moves to be performed by the user in the current defragmentation pass.
Pointer to an array of moveCount
elements, owned by VMA, created in vmaBeginDefragmentationPass(), destroyed in vmaEndDefragmentationPass().
For each element, you should:
vkCmdCopyBuffer
, vkCmdCopyImage
.Only then you can finish defragmentation pass by calling vmaEndDefragmentationPass(). After this call, the allocation will point to the new place in memory.
Alternatively, if you cannot move specific allocation, you can set VmaDefragmentationMove::operation to VMA_DEFRAGMENTATION_MOVE_OPERATION_IGNORE.
Alternatively, if you decide you want to completely remove the allocation:
Then, after vmaEndDefragmentationPass() the allocation will be freed.