Navigation
API > API/Runtime > API/Runtime/Core
| Name | TMipFieldPageAllocator |
| Type | struct |
| Header File | /Engine/Source/Runtime/Core/Public/HAL/MipFieldPageAllocator.h |
| Include Path | #include "HAL/MipFieldPageAllocator.h" |
Syntax
template<typename TAllocator>
struct TMipFieldPageAllocator
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TMipFieldPageAllocator
(
uint64 InTotalNumPages |
HAL/MipFieldPageAllocator.h |
Enums
Public
| Name | Remarks |
|---|---|
| TMipFieldPageAllocator |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| TMipFieldType | TMipField< TAllocator, 2 > | 2 bits per page, "any" and "all" | HAL/MipFieldPageAllocator.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| MipField | TMipFieldType | HAL/MipFieldPageAllocator.h | ||
| TotalNumPages | uint64 const | HAL/MipFieldPageAllocator.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool AllocatePages
(
uint64 NumPages, |
Finds and allocates a region large enough to hold [NumPages], returning the page index in the "out" argument and true on success, otherwise false. | HAL/MipFieldPageAllocator.h | |
void AssignSubtree
(
uint64 MipLevel, |
HAL/MipFieldPageAllocator.h | ||
bool FindFreeRegion_PowerOfTwo
(
uint64 NumPages, |
HAL/MipFieldPageAllocator.h | ||
bool FindFreeRegionRecursive_PowerOfTwo
(
uint64 NumPages, |
HAL/MipFieldPageAllocator.h | ||
void FixupParents
(
uint64 StartMip, |
HAL/MipFieldPageAllocator.h | ||
void FreePages
(
uint64 PageIndex, |
Frees the region covered by [PageIndex, NumPages]. The region must already have been allocated. | HAL/MipFieldPageAllocator.h | |
uint64 GetPagesInSingleMipSlot
(
uint64 Mip |
Returns the number of pages covered by a single slot in the given mip. | HAL/MipFieldPageAllocator.h | |
bool GetRegionBounds
(
uint64 PageIndex, |
For the given page index, computes the upper and lower bounds of the region the specified page exists in, and returns if this region is free or allocated. | HAL/MipFieldPageAllocator.h | |
void GetRegionBounds_ExpandRegion
(
uint64 PageIndex, |
HAL/MipFieldPageAllocator.h | ||
bool IsEmpty() |
Returns true if the allocator is completely empty. | HAL/MipFieldPageAllocator.h | |
bool IsFull() |
Returns true if the allocator is completely full. | HAL/MipFieldPageAllocator.h | |
bool IsRegionFull
(
uint64 PageIndex, |
Returns true if the given arbitrary region is fully allocated. | HAL/MipFieldPageAllocator.h | |
uint64 MipSlot_To_PageIndex
(
uint64 Mip, |
Returns the absolute page index of the first page covered by the specified slot in the mip. | HAL/MipFieldPageAllocator.h | |
void PageIndexSize_To_MipSlot
(
uint64 PageIndex, |
Finds the slot in the highest mip which covers the page region. | HAL/MipFieldPageAllocator.h | |
void SetRegion
(
uint64 PageIndex, |
Marks the specified arbitrary region as either allocated or free. The region must not already be in the specified state. | HAL/MipFieldPageAllocator.h | |
void SetRegion_PowerOfTwo
(
uint64 PageIndex, |
Marks the specified region as either allocated or free. | HAL/MipFieldPageAllocator.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static uint64 CalcMemoryRequirements
(
uint64 NumSlots |
HAL/MipFieldPageAllocator.h | ||
static uint64 GetSiblingSlot
(
uint64 Slot |
HAL/MipFieldPageAllocator.h |