Сделал минимальный GC для видеопамяти

This commit is contained in:
Jiga228
2026-05-23 23:23:43 +07:00
parent 9db3d9b0e2
commit 582b23d0f8
4 changed files with 64 additions and 7 deletions
@@ -12,6 +12,8 @@
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
class GPU_GarbageCollector;
class UwURenderEngine : public RenderEngineBase
{
struct QueueFamilyIndices
@@ -52,11 +54,13 @@ class UwURenderEngine : public RenderEngineBase
};
static const std::vector<const char*> deviceExtensions;
int current_frame_ = 0;
CoreInstance& core_;
std::unique_ptr<ModelManager> model_manager_;
std::shared_ptr<ModelManager> model_manager_;
std::shared_ptr<GPU_GarbageCollector> garbage_collector_;
VkInstance instance_ = VK_NULL_HANDLE;
VkSurfaceKHR surface_ = VK_NULL_HANDLE;
@@ -130,11 +134,11 @@ class UwURenderEngine : public RenderEngineBase
void draw_frame();
public:
// Can throw the exception
UwURenderEngine(CoreInstance& core);
explicit UwURenderEngine(CoreInstance& core);
~UwURenderEngine() override;
void start() override;
void stop_render() const override;
ModelManager* GetModelManager() const { return model_manager_.get(); }
std::shared_ptr<ModelManager> GetModelManager() const { return model_manager_; }
};