Allocate command buffers from pools

This commit is contained in:
Jérôme Leclercq
2020-08-27 18:31:26 +02:00
parent cbdac32f5f
commit 7c9dcdfbe4
18 changed files with 333 additions and 23 deletions

View File

@@ -9,19 +9,36 @@
#include <Nazara/Prerequisites.hpp>
#include <Nazara/Renderer/Config.hpp>
#include <memory>
namespace Nz
{
class CommandBuffer;
class CommandBufferDeleter;
using CommandBufferPtr = std::unique_ptr<CommandBuffer, CommandBufferDeleter>;
class NAZARA_RENDERER_API CommandBuffer
{
friend CommandBufferDeleter;
public:
CommandBuffer() = default;
CommandBuffer(const CommandBuffer&) = delete;
CommandBuffer(CommandBuffer&&) = default;
CommandBuffer(CommandBuffer&&) = delete;
virtual ~CommandBuffer();
CommandBuffer& operator=(const CommandBuffer&) = delete;
CommandBuffer& operator=(CommandBuffer&&) = default;
CommandBuffer& operator=(CommandBuffer&&) = delete;
protected:
virtual void Release() = 0;
};
class CommandBufferDeleter
{
public:
inline void operator()(CommandBuffer* commandBuffer);
};
}