Files
UwU-Engine/UwURenderEngine/RenderEngine/GPU_GarbageCollector.h
T

28 lines
479 B
C++

#pragma once
#include <list>
#include <mutex>
#include <vulkan/vulkan.h>
class GPU_GarbageCollector
{
public:
struct Garbage
{
VkBuffer buffer;
VkDeviceMemory device_memory;
};
private:
VkDevice device_ = VK_NULL_HANDLE;
std::list<Garbage> heap_;
std::mutex m_heap_;
public:
GPU_GarbageCollector() = default;
explicit GPU_GarbageCollector(VkDevice device);
void AddGarbage(Garbage garbage);
void FreeHeap();
};