8#include "Containers/HashTable.h"
112 void BuildSortedKeys();
113 void ReleaseUnmappedPages();
129 PageListHead_Unmapped,
144 uint32 PackedProducerHandle;
146 uint32 PhysicalSpaceID : 8;
156 Pages[
Page.PrevIndex].NextIndex =
Page.NextIndex;
157 Pages[
Page.NextIndex].PrevIndex =
Page.PrevIndex;
172 Page.PrevIndex = Head.PrevIndex;
173 Pages[Head.PrevIndex].NextIndex =
Index;
174 Head.PrevIndex =
Index;
179 FPageEntry& FreeHead = Pages[PageListHead_Free];
183 RemovePageFromList(
Index);
201 bool SortedKeysDirty;
211 const FPageEntry& Entry = Pages[PageIndex];
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FORCEINLINE bool operator==(const FTexturePage &Lhs, const FTexturePage &Rhs)
Definition TexturePageMap.h:30
FORCEINLINE bool operator!=(const FTexturePage &Lhs, const FTexturePage &Rhs)
Definition TexturePageMap.h:31
Definition HashTable.h:210
bool IsValid(uint32 Index) const
Definition HashTable.h:409
uint32 First(uint32 Key) const
Definition HashTable.h:395
uint32 Next(uint32 Index) const
Definition HashTable.h:402
Definition TexturePageMap.h:66
uint32 FindPageAddress(uint8 vLogSize, uint32 vAddress) const
Definition TexturePageMap.cpp:67
void ExpandPageTableUpdateMasked(FVirtualTextureSystem *System, FPageTableUpdate Update, TArray< FPageTableUpdate > *Output)
Definition TexturePageMap.cpp:545
uint32 GetSize() const
Definition TexturePageMap.h:73
void RefreshEntirePageTable(FVirtualTextureSystem *System, TArray< FPageTableUpdate > *Output)
Definition TexturePageMap.cpp:437
void ExpandPageTableUpdatePainters(FVirtualTextureSystem *System, FPageTableUpdate Update, TArray< FPageTableUpdate > *Output)
Definition TexturePageMap.cpp:471
void MapPage(FVirtualTextureSpace *Space, FVirtualTexturePhysicalSpace *PhysicalSpace, uint32 PackedProducerHandle, uint8 MaxLevel, uint8 vLogSize, uint32 vAddress, uint8 Local_vLevel, uint16 pAddress)
Definition TexturePageMap.cpp:177
uint32 FindNearestPageLevel(uint8 vLogSize, uint32 vAddress) const
Definition TexturePageMap.cpp:103
void GetMappedPagesInRange(uint32 vAddress, uint32 Width, uint32 Height, TArray< FMappedTexturePage > &OutMappedPages) const
Definition TexturePageMap.cpp:236
FPhysicalSpaceIDAndAddress FindPagePhysicalSpaceIDAndAddress(const FTexturePage &CheckPage, uint16 Hash) const
Definition TexturePageMap.h:207
void UnmapPage(FVirtualTextureSystem *System, FVirtualTextureSpace *Space, uint8 vLogSize, uint32 vAddress, bool bMapAncestorPage)
Definition TexturePageMap.cpp:113
uint32 FindNearestPageAddress(uint8 vLogSize, uint32 vAddress) const
Definition TexturePageMap.cpp:97
FTexturePageMap()
Definition TexturePageMap.cpp:23
~FTexturePageMap()
Definition TexturePageMap.cpp:32
void InvalidateUnmappedRootPage(FVirtualTextureSpace *Space, FVirtualTexturePhysicalSpace *PhysicalSpace, uint32 PackedProducerHandle, uint8 MaxLevel, uint8 vLogSize, uint32 vAddress, uint8 Local_vLevel)
Definition TexturePageMap.cpp:228
Definition VirtualTexturePhysicalSpace.h:86
Definition VirtualTextureSpace.h:48
Definition VirtualTextureSystem.h:108
UE_REWRITE SizeType Num() const
Definition Array.h:1144
SizeType AddDefaulted()
Definition Array.h:2795
U16 Index
Definition radfft.cpp:71
Definition TexturePageMap.h:48
uint32 Local_vLevel
Definition TexturePageMap.h:52
uint32 pAddress
Definition TexturePageMap.h:50
FTexturePage Page
Definition TexturePageMap.h:49
uint32 PhysicalSpaceID
Definition TexturePageMap.h:51
Definition VirtualTextureShared.h:30
Definition TexturePageMap.h:34
FPhysicalSpaceIDAndAddress()
Definition TexturePageMap.h:35
uint32 Packed
Definition TexturePageMap.h:37
FPhysicalSpaceIDAndAddress(uint16 InPhysicalSpaceID, uint16 InAddress)
Definition TexturePageMap.h:36
uint16 pAddress
Definition TexturePageMap.h:41
uint16 PhysicalSpaceID
Definition TexturePageMap.h:40
Definition TexturePageMap.h:17
uint32 vLogSize
Definition TexturePageMap.h:26
FTexturePage(uint8 InLogSize, uint32 InAddress)
Definition TexturePageMap.h:19
uint32 vAddress
Definition TexturePageMap.h:25
uint32 Packed
Definition TexturePageMap.h:21
FTexturePage()
Definition TexturePageMap.h:18