|
Foundation
|
Sub-allocates byte ranges within an abstract fixed-size space. More...
#include <Resource.hpp>
Public Member Functions | |
| virtual uint64_t | Allocate (uint64_t size, uint64_t alignment)=0 |
Sub-allocates size bytes with the given alignment. | |
| virtual void | Free (uint64_t offset)=0 |
| virtual void | Clear ()=0 |
| virtual uint64_t | GetUsedBytes () const =0 |
| virtual uint64_t | GetCapacity () const =0 |
| virtual uint64_t | GetPeakUsage () const =0 |
Public Member Functions inherited from Foundation::RHI::RHIObject | |
| RHIObject ()=default | |
| RHIObject (RHIObject const &)=delete | |
| RHIObject & | operator= (const RHIObject &)=delete |
| RHIObject (RHIObject &&)=delete | |
| RHIObject & | operator= (RHIObject &&)=delete |
| virtual | ~RHIObject ()=default |
Static Public Attributes | |
| static constexpr uint64_t | kInvalidOffset = ~0ull |
Sub-allocates byte ranges within an abstract fixed-size space.
Backs offset-based suballocation of a single GPU buffer (e.g. GPUScene geometry): freed ranges are reused, live ranges never move. Implementation-defined, backed by the platform memory allocator (VMA virtual blocks on Vulkan).
|
pure virtual |
Sub-allocates size bytes with the given alignment.
Implemented in Foundation::RHI::VulkanVirtualAllocator.
Implemented in Foundation::RHI::VulkanVirtualAllocator.
Implemented in Foundation::RHI::VulkanVirtualAllocator.
Implemented in Foundation::RHI::VulkanVirtualAllocator.
Implemented in Foundation::RHI::VulkanVirtualAllocator.
Implemented in Foundation::RHI::VulkanVirtualAllocator.