Navigation
API > API/Runtime > API/Runtime/RHICore
References
| Module | RHICore |
| Header | /Engine/Source/Runtime/RHICore/Public/RHIPoolAllocator.h |
| Include | #include "RHIPoolAllocator.h" |
Syntax
class FRHIMemoryPool
Remarks
Pool which stores for each allocation the previous and next allocation. Each block is either free or allocated.
Variables
| Type | Name | Description | |
|---|---|---|---|
| uint64 | AligmnentWaste | ||
| uint32 | AllocatedBlocks | ||
| TArray< FRHIPoolAllocationData * > | AllocationDataPool | Allocation data pool used to reduce allocation overhead. | |
| TArray< FRHIPoolAllocationData * > | FreeBlocks | Actual Free blocks. | |
| const EFreeListOrder | FreeListOrder | ||
| uint64 | FreeSize | Stats. | |
| FRHIPoolAllocationData | HeadBlock | Special start block to mark the beginning and the end of the linked list. | |
| const uint32 | PoolAlignment | ||
| int16 | PoolIndex | Const creation members. | |
| const uint64 | PoolSize | ||
| const ERHIPoolResourceTypes | SupportedResourceTypes |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FRHIMemoryPool
(
int16 InPoolIndex, |
Constructor. |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| FRHIPoolAllocationData * | AddToFreeBlocks
(
FRHIPoolAllocationData* InFreeBlock |
||
| void | Deallocate
(
FRHIPoolAllocationData& AllocationData |
||
| void | Destroy () |
||
| int32 | FindFreeBlock
(
uint32 InSizeInBytes, |
Free block management helper function. | |
| uint32 | GetAlignedOffset
(
uint32 InOffset, |
||
| uint32 | GetAlignedSize
(
uint32 InSizeInBytes, |
Static public helper functions. | |
| uint32 | |||
| uint32 | |||
| uint64 | GetFreeSize () |
||
| FRHIPoolAllocationData * | Get/Release allocation data blocks. | ||
| int16 | GetPoolIndex () |
Getters. | |
| uint64 | GetPoolSize () |
||
| ERHIPoolResourceTypes | |||
| uint64 | GetUsedSize () |
||
| void | Init () |
Setup/Shutdown. | |
| bool | IsEmpty () |
||
| bool | IsFull () |
||
| bool | IsResourceTypeSupported
(
ERHIPoolResourceTypes InType |
||
| void | ReleaseAllocationData
(
FRHIPoolAllocationData* InData |
||
| void | RemoveFromFreeBlocks
(
FRHIPoolAllocationData* InFreeBlock |
||
| bool | TryAllocate
(
uint32 InSizeInBytes, |
AllocationData functions: allocate, free, move, ... | |
| void | TryClear
(
FRHIPoolAllocator* InAllocator, |
Bookkeeping and clearing. | |
| void | Validate () |
Validate the linked list data - slow. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EFreeListOrder |