Module |
|
Header |
/Engine/Source/Runtime/RHI/Public/GPUDefragAllocator.h |
Include |
#include "GPUDefragAllocator.h" |
class FMemoryChunk
Contains information of a single allocation or free block.
Name | Description | ||
---|---|---|---|
|
uint8 * |
Base |
Base of chunk. |
|
BestFitAllocator |
Allows access to FBestFitAllocator members such as FirstChunk, FirstFreeChunk and LastChunk. |
|
|
bIsAvailable |
Whether the chunk is available. |
|
|
bTail |
||
|
DefragCounter |
Defrag counter. If this chunk failed to defrag, it won't try it again until the counter is 0. |
|
|
LockCount |
Whether the chunk has been locked. |
|
|
FMemoryChunk &#... |
NextChunk |
Pointer to next chunk. |
|
FMemoryChunk &#... |
NextFreeChunk |
Pointer to next free chunk. |
|
OrigSize |
||
|
FMemoryChunk &#... |
PreviousChunk |
Pointer to previous chunk. |
|
FMemoryChunk &#... |
PreviousFreeChunk |
Pointer to previous free chunk. |
|
Size |
Size of chunk. |
|
|
Stat |
Stat associated with this allocation |
|
|
SyncIndex |
SyncIndex that must be exceeded before accessing the data within this chunk. |
|
|
SyncSize |
Number of uint8s covered by the SyncIndex (starting from the beginning of the chunk). |
|
|
void * |
UserPayload |
User payload, e.g. platform-specific texture Pointer. Only chunks with payload can be relocated. |
Name | Description | |
---|---|---|
|
FMemoryChunk ( |
Private constructor. |
Name | Description | |
---|---|---|
|
~FMemoryChunk() |
Unlinks/ removes the chunk from the linked lists it belongs to. |
Name | Description | ||
---|---|---|---|
|
Compare ( |
Comparison function for Sort(), etc, based on increasing base address. |
|
|
GetAvailableSize() |
Returns the number of uint8s that can be allocated from this chunk. |
|
|
GetFinalSize() |
Returns the current size (in uint8s), or the final size if it has a reallocating request. |
|
|
GetSyncIndex() |
Returns the relocation sync index. |
|
|
IsLocked() |
||
|
IsRelocating() |
Returns true if the Chunk is being asynchronously relocated due to reallocation or defrag. |
|
|
Link ( |
Inserts this chunk after the passed in one. |
|
|
LinkFree ( |
Inserts this chunk at the head of the free chunk list. |
|
|
SetSyncIndex |
Sets the relocation sync index. |
|
|
Unlink() |
Removes itself for linked list. |
|
|
UnlinkFree() |
Removes itself for linked "free" list. Maint32ains the free-list order. |