90 return PageTable[PageTableIndex].TextureReferenceRHI.GetReference();
95 return PageTableIndirection.TextureReferenceRHI.GetReference();
100 return PageTableIndirection.RenderTarget;
116 FUintPoint GetRequiredPageTableAllocationSize()
const;
131 FTextureEntry PageTable[TextureCapacity];
133 FString PageTableDebugNames[TextureCapacity];
135 FTextureEntry PageTableIndirection;
143 uint32 CachedPageTableWidth = 0;
144 uint32 CachedPageTableHeight = 0;
145 uint32 CachedNumPageTableLevels = 0;
146 bool bNeedToAllocatePageTable =
false;
147 bool bNeedToAllocatePageTableIndirection =
false;
148 bool bForceEntireUpdate =
false;
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
bool operator==(const FVTSpaceDescription &Lhs, const FVTSpaceDescription &Rhs)
Definition VirtualTextureSpace.h:29
bool operator!=(const FVTSpaceDescription &Lhs, const FVTSpaceDescription &Rhs)
Definition VirtualTextureSpace.h:41
EVTPageTableFormat
Definition VirtualTexturing.h:360
#define VIRTUALTEXTURE_MAX_PAGETABLE_SIZE
Definition VirtualTexturing.h:61
#define VIRTUALTEXTURE_SPACE_MAXLAYERS
Definition VirtualTexturing.h:57
Definition AllocatedVirtualTexture.h:18
Definition RenderGraphBuilder.h:49
Definition RenderGraphUtils.h:1272
Definition RHICommandList.h:455
Definition RHITextureReference.h:8
Definition RenderResource.h:37
Definition TexturePageMap.h:66
Definition VirtualTextureAllocator.h:13
Definition VirtualTextureSpace.h:48
const FVTSpaceDescription & GetDescription() const
Definition VirtualTextureSpace.h:55
void FinalizeTextures(FRDGBuilder &GraphBuilder, FRDGExternalAccessQueue &ExternalAccessQueue)
Definition VirtualTextureSpace.cpp:508
uint32 GetNumPageTableLevels() const
Definition VirtualTextureSpace.h:64
uint32 GetNumPageTableTextures() const
Definition VirtualTextureSpace.h:61
FVirtualTextureAllocator & GetAllocator()
Definition VirtualTextureSpace.h:65
FTexturePageMap & GetPageMapForPageTableLayer(uint32 PageTableLayerIndex)
Definition VirtualTextureSpace.h:67
void QueueUpdateEntirePageTable()
Definition VirtualTextureSpace.cpp:237
TRefCountPtr< IPooledRenderTarget > GetPageTableIndirectionRenderTarget() const
Definition VirtualTextureSpace.h:98
void FreeVirtualTexture(FAllocatedVirtualTexture *VirtualTexture)
Definition VirtualTextureSpace.cpp:116
uint32 GetNumPageTableLayers() const
Definition VirtualTextureSpace.h:60
virtual ~FVirtualTextureSpace()
Definition VirtualTextureSpace.cpp:98
uint32 AddRef()
Definition VirtualTextureSpace.h:74
void ApplyUpdates(FVirtualTextureSystem *System, FRDGBuilder &GraphBuilder, FRDGExternalAccessQueue &ExternalAccessQueue)
Definition VirtualTextureSpace.cpp:315
uint8 GetID() const
Definition VirtualTextureSpace.h:62
void QueueUpdate(uint8 Layer, uint8 vLogSize, uint32 vAddress, uint8 vLevel, const FPhysicalTileLocation &pTileLocation)
Definition VirtualTextureSpace.cpp:172
const FVirtualTextureAllocator & GetAllocator() const
Definition VirtualTextureSpace.h:66
uint32 GetPageTableHeight() const
Definition VirtualTextureSpace.h:57
virtual void InitRHI(FRHICommandListBase &RHICmdList) override
Definition VirtualTextureSpace.cpp:121
uint32 GetPageTableWidth() const
Definition VirtualTextureSpace.h:56
const FTexturePageMap & GetPageMapForPageTableLayer(uint32 PageTableLayerIndex) const
Definition VirtualTextureSpace.h:68
uint32 GetReleasedFrame() const
Definition VirtualTextureSpace.h:79
FRHITextureReference * GetPageTableIndirectionTexture() const
Definition VirtualTextureSpace.h:93
virtual void ReleaseRHI() override
Definition VirtualTextureSpace.cpp:131
uint8 GetDimensions() const
Definition VirtualTextureSpace.h:58
uint32 Release()
Definition VirtualTextureSpace.h:75
static const uint32 LayersPerPageTableTexture
Definition VirtualTextureSpace.h:50
void DumpToConsole(bool verbose)
Definition VirtualTextureSpace.cpp:525
uint32 GetSizeInBytes() const
Definition VirtualTextureSpace.cpp:155
EVTPageTableFormat GetPageTableFormat() const
Definition VirtualTextureSpace.h:59
uint32 AllocateVirtualTexture(FAllocatedVirtualTexture *VirtualTexture)
Definition VirtualTextureSpace.cpp:102
FRHITextureReference * GetPageTableTexture(uint32 PageTableIndex) const
Definition VirtualTextureSpace.h:87
void SetReleasedFrame(uint32 InReleasedFrame)
Definition VirtualTextureSpace.h:78
uint32 GetRefCount() const
Definition VirtualTextureSpace.h:76
void AllocateTextures(FRDGBuilder &GraphBuilder)
Definition VirtualTextureSpace.cpp:242
Definition VirtualTextureSystem.h:108
static const uint32 LayersPerPageTableTexture
Definition VirtualTexturing.h:376
Definition EnumAsByte.h:22
Definition RefCounting.h:454
Definition VirtualTextureRecreate.cpp:16
Definition VirtualTextureSpace.h:17
uint8 bPrivateSpace
Definition VirtualTextureSpace.h:23
uint32 IndirectionTextureSize
Definition VirtualTextureSpace.h:26
uint32 TileBorderSize
Definition VirtualTextureSpace.h:19
uint8 bContinuousUpdate
Definition VirtualTextureSpace.h:24
uint32 TileSize
Definition VirtualTextureSpace.h:18
uint8 Dimensions
Definition VirtualTextureSpace.h:20
EVTPageTableFormat PageTableFormat
Definition VirtualTextureSpace.h:21
uint32 MaxSpaceSize
Definition VirtualTextureSpace.h:25
uint8 NumPageTableLayers
Definition VirtualTextureSpace.h:22
Definition VirtualTextureShared.h:11