I have managed to multithread everything in my voxel engine besides two vkCmdCopyBuffer() calls that constantly update a single massive vertex and index buffer using an array of thousands of regions, and unfortunately those calls are very expensive. I cannot draw from these buffers and manipulate them at the same time, so my idea is to have two sets of buffers to switch between so I can manipulate one on another thread while the other is being drawn on the main thread.
This halves the amount of vertices I can render for the terrain at once but I'm not too worried about that, so is it an ok idea? And is there a better one or maybe something about the API I'm missing? Thank you!