23 lines
492 B
C++
23 lines
492 B
C++
#include "GPU_GarbageCollector.h"
|
|
|
|
|
|
GPU_GarbageCollector::GPU_GarbageCollector(VkDevice device) : device_(device)
|
|
{}
|
|
|
|
void GPU_GarbageCollector::AddGarbage(Garbage garbage)
|
|
{
|
|
std::scoped_lock lock(m_heap_);
|
|
heap_.push_back(garbage);
|
|
}
|
|
|
|
void GPU_GarbageCollector::FreeHeap()
|
|
{
|
|
std::scoped_lock lock(m_heap_);
|
|
for (auto& i : heap_)
|
|
{
|
|
vkFreeMemory(device_, i.device_memory, nullptr);
|
|
vkDestroyBuffer(device_, i.buffer, nullptr);
|
|
}
|
|
heap_.clear();
|
|
}
|