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

#include <VirtualTextureFeedback.h>

+ Inheritance diagram for FVirtualTextureFeedback:

Classes

struct  FMapResult
 

Public Member Functions

 FVirtualTextureFeedback ()
 
 ~FVirtualTextureFeedback ()
 
void TransferGPUToCPU (FRHICommandList &RHICmdList, FBufferRHIRef const &Buffer, FVirtualTextureFeedbackBufferDesc const &Desc)
 
void TransferGPUToCPU (FRDGBuilder &GraphBuilder, class FRDGBuffer *Buffer, FVirtualTextureFeedbackBufferDesc const &Desc)
 
bool CanMap (FRHICommandListImmediate &RHICmdList)
 
FMapResult Map (FRHICommandListImmediate &RHICmdList)
 
FMapResult Map (FRHICommandListImmediate &RHICmdList, int32 MaxTransfersToMap)
 
void Unmap (FRHICommandListImmediate &RHICmdList, int32 MapHandle)
 
- 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
 

Protected Member Functions

virtual void InitRHI (FRHICommandListBase &RHICmdList) override
 
virtual void ReleaseRHI () override
 
- 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)
 

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
 
- Static Protected Member Functions inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 

Detailed Description

Class that handles the read back of feedback buffers from the GPU. Multiple buffers can be transferred per frame using TransferGPUToCPU(). Use Map()/Unmap() to return the data. It will only return data that is ready to fetch without stalling the GPU. All calls are expected to be from the single render thread only.

Constructor & Destructor Documentation

◆ FVirtualTextureFeedback()

FVirtualTextureFeedback::FVirtualTextureFeedback ( )

◆ ~FVirtualTextureFeedback()

FVirtualTextureFeedback::~FVirtualTextureFeedback ( )

Member Function Documentation

◆ CanMap()

bool FVirtualTextureFeedback::CanMap ( FRHICommandListImmediate RHICmdList)

Returns true if there are any pending transfer results that are ready so that we can call Map().

◆ InitRHI()

void FVirtualTextureFeedback::InitRHI ( FRHICommandListBase RHICmdList)
overrideprotectedvirtual

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.

◆ Map() [1/2]

FVirtualTextureFeedback::FMapResult FVirtualTextureFeedback::Map ( FRHICommandListImmediate RHICmdList)

Fetch all pending results into a flat output buffer for analysis.

◆ Map() [2/2]

FVirtualTextureFeedback::FMapResult FVirtualTextureFeedback::Map ( FRHICommandListImmediate RHICmdList,
int32  MaxTransfersToMap 
)

Fetch up to MaxTransfersToMap pending results into a flat output buffer for analysis.

◆ ReleaseRHI()

void FVirtualTextureFeedback::ReleaseRHI ( )
overrideprotectedvirtual

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.

◆ TransferGPUToCPU() [1/2]

void FVirtualTextureFeedback::TransferGPUToCPU ( FRDGBuilder GraphBuilder,
class FRDGBuffer Buffer,
FVirtualTextureFeedbackBufferDesc const &  Desc 
)

◆ TransferGPUToCPU() [2/2]

void FVirtualTextureFeedback::TransferGPUToCPU ( FRHICommandList RHICmdList,
FBufferRHIRef const &  Buffer,
FVirtualTextureFeedbackBufferDesc const &  Desc 
)

Commit a RHIBuffer to be transferred for later CPU analysis.

◆ Unmap()

void FVirtualTextureFeedback::Unmap ( FRHICommandListImmediate RHICmdList,
int32  MapHandle 
)

Always call Unmap() after finishing processing of the returned data. This releases any resources allocated for the Map().


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