UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VirtualTextureSystem.cpp File Reference

Classes

struct  FPageUpdateBuffer
 
struct  FFeedbackAnalysisParameters
 
class  FFeedbackAnalysisTask
 
struct  FAddRequestedTilesParameters
 
class  FAddRequestedTilesTask
 
struct  FGatherRequestsParameters
 
class  FGatherRequestsTask
 

Macros

#define LOCTEXT_NAMESPACE   "VirtualTexture"
 

Functions

 CSV_DEFINE_CATEGORY (VirtualTexturing,(!UE_BUILD_SHIPPING))
 
 DECLARE_CYCLE_STAT (TEXT("VirtualTextureSystem Update"), STAT_VirtualTextureSystem_Update, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Gather Requests"), STAT_ProcessRequests_Gather, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Sort Requests"), STAT_ProcessRequests_Sort, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Submit Requests"), STAT_ProcessRequests_Submit, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Map Requests"), STAT_ProcessRequests_Map, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Map New VTs"), STAT_ProcessRequests_MapNew, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Finalize Requests"), STAT_ProcessRequests_Finalize, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Merge Unique Pages"), STAT_ProcessRequests_MergePages, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Merge Requests"), STAT_ProcessRequests_MergeRequests, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Submit Tasks"), STAT_ProcessRequests_SubmitTasks, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Wait Tasks"), STAT_ProcessRequests_WaitTasks, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Queue Adaptive Requests"), STAT_ProcessRequests_QueueAdaptiveRequests, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Finalize Adaptive Requests"), STAT_ProcessRequests_UpdateAdaptiveAllocations, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Feedback Map"), STAT_FeedbackMap, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Feedback Analysis"), STAT_FeedbackAnalysis, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Page Table Updates"), STAT_PageTableUpdates, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Flush Cache"), STAT_FlushCache, STATGROUP_VirtualTexturing)
 
 DECLARE_CYCLE_STAT (TEXT("Update Residency Tracking"), STAT_ResidencyTracking, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num page visible"), STAT_NumPageVisible, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num page visible resident"), STAT_NumPageVisibleResident, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num page visible not resident"), STAT_NumPageVisibleNotResident, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num page prefetch"), STAT_NumPagePrefetch, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num page update"), STAT_NumPageUpdate, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num mapped page update"), STAT_NumMappedPageUpdate, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num continuous page update"), STAT_NumContinuousPageUpdate, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num page allocation fails"), STAT_NumPageAllocateFails, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num stacks requested"), STAT_NumStacksRequested, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num stacks produced"), STAT_NumStacksProduced, STATGROUP_VirtualTexturing)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("Num flush caches"), STAT_NumFlushCache, STATGROUP_VirtualTexturing)
 
 DECLARE_MEMORY_STAT_POOL (TEXT("Total Pagetable Memory"), STAT_TotalPagetableMemory, STATGROUP_VirtualTextureMemory, FPlatformMemory::MCR_GPU)
 
 DECLARE_GPU_STAT (VirtualTexture)
 
 DECLARE_GPU_STAT (VirtualTextureAllocate)
 
void GetPhysicalSpaceExtraDescription (FVTPhysicalSpaceDescription const &InDesc, FVTPhysicalSpaceDescriptionExt &OutDescExt)
 
void GetPhysicalSpaceExtraDescription_Cached (FVTPhysicalSpaceDescription const &InDesc, FVTPhysicalSpaceDescriptionExt &OutDescExt)
 

Variables

TAutoConsoleVariable< int32CVarVTSortTileRequestsByPriority (TEXT("r.VT.SortTileRequestsByPriority"), 1, TEXT("Sorts the list of tile requests by priority before submitting. This allows priority requests to get processed before others in case of throttling"), ECVF_RenderThreadSafe)
 

Macro Definition Documentation

◆ LOCTEXT_NAMESPACE

#define LOCTEXT_NAMESPACE   "VirtualTexture"

Function Documentation

◆ CSV_DEFINE_CATEGORY()

CSV_DEFINE_CATEGORY ( VirtualTexturing  ,
(!UE_BUILD_SHIPPING  
)

◆ DECLARE_CYCLE_STAT() [1/18]

DECLARE_CYCLE_STAT ( TEXT("Feedback Analysis" ,
STAT_FeedbackAnalysis  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [2/18]

DECLARE_CYCLE_STAT ( TEXT("Feedback Map" ,
STAT_FeedbackMap  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [3/18]

◆ DECLARE_CYCLE_STAT() [4/18]

DECLARE_CYCLE_STAT ( TEXT("Finalize Requests" ,
STAT_ProcessRequests_Finalize  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [5/18]

DECLARE_CYCLE_STAT ( TEXT("Flush Cache" ,
STAT_FlushCache  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [6/18]

DECLARE_CYCLE_STAT ( TEXT("Gather Requests" ,
STAT_ProcessRequests_Gather  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [7/18]

DECLARE_CYCLE_STAT ( TEXT("Map New VTs" ,
STAT_ProcessRequests_MapNew  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [8/18]

DECLARE_CYCLE_STAT ( TEXT("Map Requests" ,
STAT_ProcessRequests_Map  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [9/18]

DECLARE_CYCLE_STAT ( TEXT("Merge Requests" ,
STAT_ProcessRequests_MergeRequests  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [10/18]

DECLARE_CYCLE_STAT ( TEXT("Merge Unique Pages" ,
STAT_ProcessRequests_MergePages  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [11/18]

DECLARE_CYCLE_STAT ( TEXT("Page Table Updates" ,
STAT_PageTableUpdates  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [12/18]

◆ DECLARE_CYCLE_STAT() [13/18]

DECLARE_CYCLE_STAT ( TEXT("Sort Requests" ,
STAT_ProcessRequests_Sort  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [14/18]

DECLARE_CYCLE_STAT ( TEXT("Submit Requests" ,
STAT_ProcessRequests_Submit  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [15/18]

DECLARE_CYCLE_STAT ( TEXT("Submit Tasks" ,
STAT_ProcessRequests_SubmitTasks  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [16/18]

DECLARE_CYCLE_STAT ( TEXT("Update Residency Tracking" ,
STAT_ResidencyTracking  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [17/18]

DECLARE_CYCLE_STAT ( TEXT("VirtualTextureSystem Update" ,
STAT_VirtualTextureSystem_Update  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_CYCLE_STAT() [18/18]

DECLARE_CYCLE_STAT ( TEXT("Wait Tasks" ,
STAT_ProcessRequests_WaitTasks  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [1/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num continuous page update" ,
STAT_NumContinuousPageUpdate  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [2/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num flush caches" ,
STAT_NumFlushCache  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [3/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num mapped page update" ,
STAT_NumMappedPageUpdate  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [4/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num page allocation fails" ,
STAT_NumPageAllocateFails  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [5/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num page prefetch" ,
STAT_NumPagePrefetch  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [6/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num page update" ,
STAT_NumPageUpdate  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [7/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num page visible not resident" ,
STAT_NumPageVisibleNotResident  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [8/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num page visible resident" ,
STAT_NumPageVisibleResident  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [9/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num page visible" ,
STAT_NumPageVisible  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [10/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num stacks produced" ,
STAT_NumStacksProduced  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_DWORD_COUNTER_STAT() [11/11]

DECLARE_DWORD_COUNTER_STAT ( TEXT("Num stacks requested" ,
STAT_NumStacksRequested  ,
STATGROUP_VirtualTexturing   
)

◆ DECLARE_GPU_STAT() [1/2]

DECLARE_GPU_STAT ( VirtualTexture  )

◆ DECLARE_GPU_STAT() [2/2]

DECLARE_GPU_STAT ( VirtualTextureAllocate  )

◆ DECLARE_MEMORY_STAT_POOL()

DECLARE_MEMORY_STAT_POOL ( TEXT("Total Pagetable Memory" ,
STAT_TotalPagetableMemory  ,
STATGROUP_VirtualTextureMemory  ,
FPlatformMemory::MCR_GPU   
)

◆ GetPhysicalSpaceExtraDescription()

void GetPhysicalSpaceExtraDescription ( FVTPhysicalSpaceDescription const &  InDesc,
FVTPhysicalSpaceDescriptionExt OutDescExt 
)

Get the extra physical space description that depends on the virtual texture pool config.

◆ GetPhysicalSpaceExtraDescription_Cached()

void GetPhysicalSpaceExtraDescription_Cached ( FVTPhysicalSpaceDescription const &  InDesc,
FVTPhysicalSpaceDescriptionExt OutDescExt 
)

Cached version of GetPhysicalSpaceExtraDescription() to avoid regularly repeating the heavy work in that function.

Variable Documentation

◆ CVarVTSortTileRequestsByPriority

TAutoConsoleVariable< int32 > CVarVTSortTileRequestsByPriority(TEXT("r.VT.SortTileRequestsByPriority"), 1, TEXT("Sorts the list of tile requests by priority before submitting. This allows priority requests to get processed before others in case of throttling"), ECVF_RenderThreadSafe) ( TEXT("r.VT.SortTileRequestsByPriority")  ,
,
TEXT("Sorts the list of tile requests by priority before submitting. This allows priority requests to get processed before others in case of throttling" ,
ECVF_RenderThreadSafe   
)