Navigation
API > API/Runtime > API/Runtime/RHICore
Pool allocator internal data.
| Name | FRHIPoolAllocationData |
| Type | struct |
| Header File | /Engine/Source/Runtime/RHICore/Public/RHIPoolAllocator.h |
| Include Path | #include "RHIPoolAllocator.h" |
Syntax
struct FRHIPoolAllocationData
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AliasAllocation | FRHIPoolAllocationData * | RHIPoolAllocator.h | ||
| Alignment | uint32 | RHIPoolAllocator.h | ||
| Locked | uint32 | Allocation data is locked after creation until initial data is filled in to make sure it's not being defragmented then. | RHIPoolAllocator.h | |
| NextAllocation | FRHIPoolAllocationData * | RHIPoolAllocator.h | ||
| Offset | uint32 | RHIPoolAllocator.h | ||
| Owner | FRHIPoolResource * | RHIPoolAllocator.h | ||
| PoolIndex | uint32 | RHIPoolAllocator.h | ||
| PreviousAllocation | FRHIPoolAllocationData * | TODO: Link list data could be stored as index into a fixed array managed by the memory pool. Then only a uin16 or uint32 is needed here to get the next and previous index. | RHIPoolAllocator.h | |
| Size | uint32 | RHIPoolAllocator.h | ||
| Type | uint32 | RHIPoolAllocator.h | ||
| Unused | uint32 | RHIPoolAllocator.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddAlias
(
FRHIPoolAllocationData* InOther |
Alias operations (NOTE: currently not accessed when pool lock is taken, needs to be fixed) | RHIPoolAllocator.h | |
uint32 GetAlignment() |
RHIPoolAllocator.h | ||
FRHIPoolAllocationData * GetFirstAlias() |
RHIPoolAllocator.h | ||
FRHIPoolAllocationData * GetNext() |
Linked list getters. | RHIPoolAllocator.h | |
uint32 GetOffset() |
RHIPoolAllocator.h | ||
FRHIPoolResource * GetOwner() |
RHIPoolAllocator.h | ||
int16 GetPoolIndex() |
RHIPoolAllocator.h | ||
FRHIPoolAllocationData * GetPrev() |
RHIPoolAllocator.h | ||
uint32 GetSize() |
Allocation data getters. | RHIPoolAllocator.h | |
void InitAsAllocated
(
uint32 InSize, |
RHIPoolAllocator.h | ||
void InitAsFree
(
int16 InPoolIndex, |
RHIPoolAllocator.h | ||
void InitAsHead
(
int16 InPoolIndex |
Initialize options. | RHIPoolAllocator.h | |
bool IsAllocated() |
RHIPoolAllocator.h | ||
bool IsFree() |
RHIPoolAllocator.h | ||
bool IsHead() |
Type getters. | RHIPoolAllocator.h | |
bool IsLocked() |
Unlock can be public - no lock required. | RHIPoolAllocator.h | |
void MarkFree
(
uint32 InPoolAlignment, |
Free block operation (TODO: make internal) | RHIPoolAllocator.h | |
void MoveFrom
(
FRHIPoolAllocationData& InAllocated, |
RHIPoolAllocator.h | ||
void RemoveAlias() |
RHIPoolAllocator.h | ||
void Reset() |
Reset to unknown state. | RHIPoolAllocator.h | |
void SetOwner
(
FRHIPoolResource* InOwner |
Owner getter/setter - opaque data. | RHIPoolAllocator.h | |
void Unlock() |
RHIPoolAllocator.h |