Pyrogenesis trunk
|
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. More... | |
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.
uint32_t VmaDefragmentationPassMoveInfo::moveCount |
Number of elements in the pMoves
array.