UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FVirtualTextureUploadCache Class Reference

#include <VirtualTextureUploadCache.h>

+ Inheritance diagram for FVirtualTextureUploadCache:

Public Member Functions

 FVirtualTextureUploadCache ()
 
virtual void ReleaseRHI () override
 
FVTUploadTileHandle PrepareTileForUpload (FRHICommandListBase &RHICmdList, FVTUploadTileBuffer &OutBuffer, EPixelFormat InFormat, uint32 InTileSize)
 
void SubmitTile (FRHICommandListBase &RHICmdList, const FVTUploadTileHandle &InHandle, const FVTProduceTargetLayer &Target, int InSkipBorderSize)
 
void CancelTile (FRHICommandListBase &RHICmdList, const FVTUploadTileHandle &InHandle)
 
virtual void Finalize (FRDGBuilder &GraphBuilder) override
 
void UpdateFreeList (FRHICommandListBase &RHICmdList, bool bForceFreeAll=false)
 
uint32 IsInMemoryBudget () const
 
- Public Member Functions inherited from IVirtualTextureFinalizer
virtual void RenderFinalize (FRDGBuilder &GraphBuilder, ISceneRenderer *SceneRenderingContext)
 
- Public Member Functions inherited from FRenderResource
RENDERCORE_API FRenderResource ()
 
RENDERCORE_API FRenderResource (ERHIFeatureLevel::Type InFeatureLevel)
 
RENDERCORE_API FRenderResource (const FRenderResource &)
 
RENDERCORE_API FRenderResource (FRenderResource &&)
 
RENDERCORE_API FRenderResourceoperator= (const FRenderResource &Other)
 
RENDERCORE_API FRenderResourceoperator= (FRenderResource &&Other)
 
virtual RENDERCORE_API ~FRenderResource ()
 
virtual void InitRHI (FRHICommandListBase &RHICmdList)
 
virtual RENDERCORE_API void InitResource (FRHICommandListBase &RHICmdList)
 
virtual RENDERCORE_API void ReleaseResource ()
 
RENDERCORE_API void UpdateRHI (FRHICommandListBase &RHICmdList)
 
virtual FString GetFriendlyName () const
 
bool IsInitialized () const
 
int32 GetListIndex () const
 
EInitPhase GetInitPhase () const
 
void SetOwnerName (FName InOwnerName)
 
FName GetOwnerName () const
 
void SetResourceName (FName InResourceName)
 
FName GetResourceName () const
 

Additional Inherited Members

- Public Types inherited from FRenderResource
enum class  EInitPhase : uint8 { Pre , Default , MAX }
 
- Static Public Member Functions inherited from FRenderResource
static RENDERCORE_API void ReleaseRHIForAllResources ()
 
static RENDERCORE_API void InitPreRHIResources ()
 
static RENDERCORE_API void ChangeFeatureLevel (ERHIFeatureLevel::Type NewFeatureLevel)
 
static RENDERCORE_API FName SetScopeName (FName Name)
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::Default
 
- Protected Member Functions inherited from FRenderResource
void SetFeatureLevel (const FStaticFeatureLevel InFeatureLevel)
 
const FStaticFeatureLevel GetFeatureLevel () const
 
bool HasValidFeatureLevel () const
 
template<typename T >
FBufferRHIRef CreateRHIBuffer (FRHICommandListBase &RHICmdList, T &InOutResourceObject, uint32 ResourceCount, EBufferUsageFlags InBufferUsageFlags, const TCHAR *InDebugName)
 
void SetInitPhase (EInitPhase InInitPhase)
 
- Static Protected Member Functions inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 

Detailed Description

Finalizer implementation for uploading virtual textures. Handles management of upload buffers and copying streamed data to the GPU physical texture.

Constructor & Destructor Documentation

◆ FVirtualTextureUploadCache()

FVirtualTextureUploadCache::FVirtualTextureUploadCache ( )

Member Function Documentation

◆ CancelTile()

void FVirtualTextureUploadCache::CancelTile ( FRHICommandListBase RHICmdList,
const FVTUploadTileHandle InHandle 
)

Cancel a tile that was already in flight.

◆ Finalize()

void FVirtualTextureUploadCache::Finalize ( FRDGBuilder GraphBuilder)
overridevirtual

Finalize work that has write only access to the virtual texture physical pools.

Implements IVirtualTextureFinalizer.

◆ IsInMemoryBudget()

uint32 FVirtualTextureUploadCache::IsInMemoryBudget ( ) const

Returns true if underlying allocator within the budget set by r.VT.MaxUploadMemory.

◆ PrepareTileForUpload()

FVTUploadTileHandle FVirtualTextureUploadCache::PrepareTileForUpload ( FRHICommandListBase RHICmdList,
FVTUploadTileBuffer OutBuffer,
EPixelFormat  InFormat,
uint32  InTileSize 
)

Get a staging upload buffer for streaming texture data into.

◆ ReleaseRHI()

void FVirtualTextureUploadCache::ReleaseRHI ( )
overridevirtual

Releases the RHI resources used by this resource. Called when leaving the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

Reimplemented from FRenderResource.

◆ SubmitTile()

void FVirtualTextureUploadCache::SubmitTile ( FRHICommandListBase RHICmdList,
const FVTUploadTileHandle InHandle,
const FVTProduceTargetLayer Target,
int  InSkipBorderSize 
)

Mark streamed upload data ready for upload to to the physical virtual texture. Depending on the platform the upload might happen here, or be deferred to the Finalize() call.

◆ UpdateFreeList()

void FVirtualTextureUploadCache::UpdateFreeList ( FRHICommandListBase RHICmdList,
bool  bForceFreeAll = false 
)

Call on a tick to recycle submitted staging buffers.


The documentation for this class was generated from the following files: