Aeon Engine c550894
AeonGames Open Source Game Engine
Loading...
Searching...
No Matches
AeonGames::VulkanMemoryPoolBuffer Class Reference

Vulkan memory pool buffer for transient per-frame uniform allocations. More...

#include <C:/Code/AeonEngine/engine/renderers/vulkan/VulkanMemoryPoolBuffer.hpp>

Inheritance diagram for AeonGames::VulkanMemoryPoolBuffer:
Inheritance graph
Collaboration diagram for AeonGames::VulkanMemoryPoolBuffer:
Collaboration graph

Public Member Functions

 VulkanMemoryPoolBuffer (const VulkanRenderer &aVulkanRenderer, size_t aStackSize)
 Construct with a renderer and initial pool size.
 VulkanMemoryPoolBuffer (const VulkanRenderer &)
 Construct with a renderer using the default pool size.
 VulkanMemoryPoolBuffer (VulkanMemoryPoolBuffer &&)
 Move constructor.
VulkanMemoryPoolBufferoperator= (const VulkanMemoryPoolBuffer &)=delete
VulkanMemoryPoolBufferoperator= (VulkanMemoryPoolBuffer &&)=delete
void Initialize (size_t aStackSize)
 Initialize the pool buffer with the given size.
void Finalize ()
 Release pool buffer and descriptor resources.
const VkDescriptorSet & GetDescriptorSet () const
 Get the Vulkan descriptor set for this pool buffer.
BufferAccessor Allocate (size_t aSize) final
 Allocate a sub-region from the memory pool.
void Reset () final
 Reset the pool, freeing all previous allocations.
const BufferGetBuffer () const final
 Get a reference to the underlying Buffer.

Detailed Description

Vulkan memory pool buffer for transient per-frame uniform allocations.

Definition at line 31 of file VulkanMemoryPoolBuffer.hpp.

Constructor & Destructor Documentation

◆ VulkanMemoryPoolBuffer() [1/3]

AeonGames::VulkanMemoryPoolBuffer::VulkanMemoryPoolBuffer ( const VulkanRenderer & aVulkanRenderer,
size_t aStackSize )

Construct with a renderer and initial pool size.

Definition at line 35 of file VulkanMemoryPoolBuffer.cpp.

◆ VulkanMemoryPoolBuffer() [2/3]

AeonGames::VulkanMemoryPoolBuffer::VulkanMemoryPoolBuffer ( const VulkanRenderer & aVulkanRenderer)

Construct with a renderer using the default pool size.

Definition at line 55 of file VulkanMemoryPoolBuffer.cpp.

◆ VulkanMemoryPoolBuffer() [3/3]

AeonGames::VulkanMemoryPoolBuffer::VulkanMemoryPoolBuffer ( VulkanMemoryPoolBuffer && aVulkanMemoryPoolBuffer)

Move constructor.

Definition at line 46 of file VulkanMemoryPoolBuffer.cpp.

◆ ~VulkanMemoryPoolBuffer()

AeonGames::VulkanMemoryPoolBuffer::~VulkanMemoryPoolBuffer ( )

Definition at line 67 of file VulkanMemoryPoolBuffer.cpp.

Member Function Documentation

◆ Allocate()

BufferAccessor AeonGames::VulkanMemoryPoolBuffer::Allocate ( size_t aSize)
finalvirtual

Allocate a sub-region from the memory pool.

Parameters
aSizeNumber of bytes to allocate.
Returns
A BufferAccessor describing the allocated region.

Implements AeonGames::MemoryPoolBuffer.

Definition at line 123 of file VulkanMemoryPoolBuffer.cpp.

◆ Finalize()

void AeonGames::VulkanMemoryPoolBuffer::Finalize ( )

Release pool buffer and descriptor resources.

Definition at line 72 of file VulkanMemoryPoolBuffer.cpp.

◆ GetBuffer()

const Buffer & AeonGames::VulkanMemoryPoolBuffer::GetBuffer ( ) const
finalvirtual

Get a reference to the underlying Buffer.

Returns
Const reference to the buffer.

Implements AeonGames::MemoryPoolBuffer.

Definition at line 145 of file VulkanMemoryPoolBuffer.cpp.

◆ GetDescriptorSet()

const VkDescriptorSet & AeonGames::VulkanMemoryPoolBuffer::GetDescriptorSet ( ) const

Get the Vulkan descriptor set for this pool buffer.

Definition at line 141 of file VulkanMemoryPoolBuffer.cpp.

◆ Initialize()

void AeonGames::VulkanMemoryPoolBuffer::Initialize ( size_t aStackSize)

Initialize the pool buffer with the given size.

Definition at line 58 of file VulkanMemoryPoolBuffer.cpp.

◆ Reset()

void AeonGames::VulkanMemoryPoolBuffer::Reset ( )
finalvirtual

Reset the pool, freeing all previous allocations.

Implements AeonGames::MemoryPoolBuffer.

Definition at line 136 of file VulkanMemoryPoolBuffer.cpp.


The documentation for this class was generated from the following files: