UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FVirtualTexturePhysicalSpace Class Referencefinal

#include <VirtualTexturePhysicalSpace.h>

+ Inheritance diagram for FVirtualTexturePhysicalSpace:

Public Member Functions

 FVirtualTexturePhysicalSpace (uint16 InID, const FVTPhysicalSpaceDescription &InDesc, FVTPhysicalSpaceDescriptionExt &InDescExt)
 
virtual ~FVirtualTexturePhysicalSpace ()
 
const FVTPhysicalSpaceDescriptionGetDescription () const
 
const FVTPhysicalSpaceDescriptionExtGetDescriptionExt () const
 
const FString & GetFormatString () const
 
EPixelFormat GetFormat (int32 Layer) const
 
uint16 GetID () const
 
uint32 GetSizeInTiles () const
 
uint32 GetNumTiles () const
 
uint32 GetTextureSize () const
 
FIntVector GetPhysicalLocation (uint16 pAddress) const
 
bool DoesSupport16BitPageTable () const
 
uint32 GetTileSizeInBytes () const
 
uint32 GetSizeInBytes () const
 
const FTexturePagePoolGetPagePool () const
 
FTexturePagePoolGetPagePool ()
 
virtual void InitRHI (FRHICommandListBase &RHICmdList) override
 
virtual void ReleaseRHI () override
 
uint32 AddRef ()
 
uint32 Release ()
 
uint32 GetRefCount () const
 
uint32 AddResourceRef ()
 
uint32 ReleaseResourceRef ()
 
uint32 GetResourceRefCount () const
 
TRefCountPtr< IPooledRenderTargetGetPhysicalTexture (int32 Layer) const
 
FRHIShaderResourceViewGetPhysicalTextureSRV (int32 Layer, bool bSRGB) const
 
void FinalizeTextures (FRDGBuilder &GraphBuilder, FRDGExternalAccessQueue &ExternalAccessQueue)
 
void UpdateResidencyTracking (uint32 Frame)
 
float GetResidencyMipMapBias () const
 
uint32 GetLastFrameOversubscribed () const
 
void DrawResidencyGraph (class FCanvas *Canvas, FBox2D CanvasPosition, bool bDrawKey)
 
void UpdateCsvStats () const
 
- 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 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

Virtual texture physical space that contains the physical texture and the page pool that tracks residency.

Constructor & Destructor Documentation

◆ FVirtualTexturePhysicalSpace()

FVirtualTexturePhysicalSpace::FVirtualTexturePhysicalSpace ( uint16  InID,
const FVTPhysicalSpaceDescription InDesc,
FVTPhysicalSpaceDescriptionExt InDescExt 
)

◆ ~FVirtualTexturePhysicalSpace()

FVirtualTexturePhysicalSpace::~FVirtualTexturePhysicalSpace ( )
virtual

Member Function Documentation

◆ AddRef()

uint32 FVirtualTexturePhysicalSpace::AddRef ( )
inline

◆ AddResourceRef()

uint32 FVirtualTexturePhysicalSpace::AddResourceRef ( )
inline

◆ DoesSupport16BitPageTable()

bool FVirtualTexturePhysicalSpace::DoesSupport16BitPageTable ( ) const
inline

◆ DrawResidencyGraph()

void FVirtualTexturePhysicalSpace::DrawResidencyGraph ( class FCanvas Canvas,
FBox2D  CanvasPosition,
bool  bDrawKey 
)

Draw residency graph on screen.

◆ FinalizeTextures()

void FVirtualTexturePhysicalSpace::FinalizeTextures ( FRDGBuilder GraphBuilder,
FRDGExternalAccessQueue ExternalAccessQueue 
)

Gather the necessary physical texture transitions back to SRVMask after the producer Finalize() point in the frame.

◆ GetDescription()

const FVTPhysicalSpaceDescription & FVirtualTexturePhysicalSpace::GetDescription ( ) const
inline

◆ GetDescriptionExt()

const FVTPhysicalSpaceDescriptionExt & FVirtualTexturePhysicalSpace::GetDescriptionExt ( ) const
inline

◆ GetFormat()

EPixelFormat FVirtualTexturePhysicalSpace::GetFormat ( int32  Layer) const
inline

◆ GetFormatString()

const FString & FVirtualTexturePhysicalSpace::GetFormatString ( ) const
inline

◆ GetID()

uint16 FVirtualTexturePhysicalSpace::GetID ( ) const
inline

◆ GetLastFrameOversubscribed()

uint32 FVirtualTexturePhysicalSpace::GetLastFrameOversubscribed ( ) const
inline

Get frame at which residency tracking last saw over-subscription.

◆ GetNumTiles()

uint32 FVirtualTexturePhysicalSpace::GetNumTiles ( ) const
inline

◆ GetPagePool() [1/2]

FTexturePagePool & FVirtualTexturePhysicalSpace::GetPagePool ( )
inline

◆ GetPagePool() [2/2]

const FTexturePagePool & FVirtualTexturePhysicalSpace::GetPagePool ( ) const
inline

◆ GetPhysicalLocation()

FIntVector FVirtualTexturePhysicalSpace::GetPhysicalLocation ( uint16  pAddress) const
inline

◆ GetPhysicalTexture()

TRefCountPtr< IPooledRenderTarget > FVirtualTexturePhysicalSpace::GetPhysicalTexture ( int32  Layer) const
inline

◆ GetPhysicalTextureSRV()

FRHIShaderResourceView * FVirtualTexturePhysicalSpace::GetPhysicalTextureSRV ( int32  Layer,
bool  bSRGB 
) const
inline

◆ GetRefCount()

uint32 FVirtualTexturePhysicalSpace::GetRefCount ( ) const
inline

◆ GetResidencyMipMapBias()

float FVirtualTexturePhysicalSpace::GetResidencyMipMapBias ( ) const
inline

Get dynamic mip bias used to keep within residency budget.

◆ GetResourceRefCount()

uint32 FVirtualTexturePhysicalSpace::GetResourceRefCount ( ) const
inline

◆ GetSizeInBytes()

uint32 FVirtualTexturePhysicalSpace::GetSizeInBytes ( ) const

◆ GetSizeInTiles()

uint32 FVirtualTexturePhysicalSpace::GetSizeInTiles ( ) const
inline

◆ GetTextureSize()

uint32 FVirtualTexturePhysicalSpace::GetTextureSize ( ) const
inline

◆ GetTileSizeInBytes()

uint32 FVirtualTexturePhysicalSpace::GetTileSizeInBytes ( ) const

◆ InitRHI()

void FVirtualTexturePhysicalSpace::InitRHI ( FRHICommandListBase RHICmdList)
overridevirtual

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

Reimplemented from FRenderResource.

◆ Release()

uint32 FVirtualTexturePhysicalSpace::Release ( )
inline

◆ ReleaseResourceRef()

uint32 FVirtualTexturePhysicalSpace::ReleaseResourceRef ( )
inline

◆ ReleaseRHI()

void FVirtualTexturePhysicalSpace::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.

◆ UpdateCsvStats()

void FVirtualTexturePhysicalSpace::UpdateCsvStats ( ) const

Write residency stats to CSV profiler

◆ UpdateResidencyTracking()

void FVirtualTexturePhysicalSpace::UpdateResidencyTracking ( uint32  Frame)

Update internal tracking of residency. This is used to update stats and to calculate a mip bias to keep within the pool budget.


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