After #174 is done, both memory and command buffer management will be isolated from the Vulkan renderer - one nice side effect of this is that most of the defrag work now sits in driver implementations of the managers and not the renderer. With this in mind, we can move the defrag logic to a standalone framework that the memory/commandbuffer managers can interact with, making the defrag work almost entirely automatic from a renderer's point of view.
Once this is done, we will probably just want to combine Memory/CommandBuffer/Defragmenter into a unified helper called FNA3D_GPUManager or something.
After #174 is done, both memory and command buffer management will be isolated from the Vulkan renderer - one nice side effect of this is that most of the defrag work now sits in driver implementations of the managers and not the renderer. With this in mind, we can move the defrag logic to a standalone framework that the memory/commandbuffer managers can interact with, making the defrag work almost entirely automatic from a renderer's point of view.
Once this is done, we will probably just want to combine Memory/CommandBuffer/Defragmenter into a unified helper called FNA3D_GPUManager or something.