Restructure some files regarding resource management

This commit is contained in:
Georg Hagen
2024-07-10 16:11:36 +02:00
parent 5c4e972722
commit ba7f0e6d62
9 changed files with 114 additions and 98 deletions

View File

@@ -9,16 +9,15 @@
// Workaround for libc++
#define __cpp_lib_three_way_comparison 201907
#include "vulkan/vulkan.hpp"
#include "Base/ICloseable.hpp"
#include "IShaderOwner.hpp"
#include "ManagedResource.hpp"
#include "Vulkan/Image.hpp"
#include "Scene/Shader/DescriptorInputDescription.hpp"
#include "Scene/Camera.hpp"
#include <mutex>
#include <vulkan/vulkan.hpp>
#include <functional>
#include <map>
#include <memory>
#include <mutex>
namespace OpenVulkano
{
@@ -29,6 +28,7 @@ namespace OpenVulkano
class Material;
class Texture;
class Shader;
class Camera;
class UniformBuffer;
}
@@ -39,8 +39,11 @@ namespace OpenVulkano
class VulkanTexture;
class VulkanCamera;
class VulkanNode;
class VulkanShader;
class VulkanUniformBuffer;
class UniformBuffer;
class ManagedBuffer;
class MemoryAllocation;
class ResourceManager : public ICloseable, public IShaderOwner
{
@@ -57,7 +60,6 @@ namespace OpenVulkano
std::vector<std::unique_ptr<VulkanShader>> shaders;
std::vector<std::unique_ptr<VulkanGeometry>> geometries;
std::vector<std::unique_ptr<VulkanNode>> nodes;
MemoryAllocation* lastAllocation = nullptr;
std::mutex mutex;
vk::DeviceSize uniformBufferAlignment;
std::vector<std::vector<ManagedBuffer*>> toFree;