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

#include <RHIGPUReadback.h>

+ Inheritance diagram for FRHIGPUTextureReadback:

Public Member Functions

RHI_API FRHIGPUTextureReadback (FName RequestName)
 
RHI_API void EnqueueCopy (FRHICommandList &RHICmdList, FRHITexture *SourceTexture, const FIntVector &SourcePosition, uint32 SourceSlice, const FIntVector &Size) override
 
RHI_API voidLock (uint32 NumBytes) override
 
RHI_API voidLock (int32 &OutRowPitchInPixels, int32 *OutBufferHeight=nullptr)
 
RHI_API void Unlock () override
 
RHI_API void LockTexture (FRHICommandListImmediate &RHICmdList, void *&OutBufferPtr, int32 &OutRowPitchInPixels)
 
RHI_API uint64 GetGPUSizeBytes () const
 
virtual void EnqueueCopy (FRHICommandList &RHICmdList, FRHIBuffer *SourceBuffer, uint32 NumBytes=0)
 
virtual void EnqueueCopy (FRHICommandList &RHICmdList, FRHITexture *SourceTexture, const FIntVector &SourcePosition, uint32 SourceSlice, const FIntVector &Size)
 
void EnqueueCopy (FRHICommandList &RHICmdList, FRHITexture *SourceTexture, FResolveRect Rect=FResolveRect(), uint32 SourceSlice=0)
 
- Public Member Functions inherited from FRHIGPUMemoryReadback
 FRHIGPUMemoryReadback (FName RequestName)
 
virtual ~FRHIGPUMemoryReadback ()
 
bool IsReady ()
 
bool IsReady (FRHIGPUMask GPUMask)
 
void Wait (FRHICommandListImmediate &RHICmdList, FRHIGPUMask GPUMask) const
 
void EnqueueCopy (FRHICommandList &RHICmdList, FRHITexture *SourceTexture, FResolveRect Rect=FResolveRect(), uint32 SourceSlice=0)
 
const FRHIGPUMaskGetLastCopyGPUMask () const
 
FName GetName () const
 

Public Attributes

FTextureRHIRef DestinationStagingTextures [1]
 

Additional Inherited Members

- Protected Attributes inherited from FRHIGPUMemoryReadback
FGPUFenceRHIRef Fence
 
FRHIGPUMask LastCopyGPUMask
 
uint32 LastLockGPUIndex
 

Detailed Description

Texture readback implementation.

Constructor & Destructor Documentation

◆ FRHIGPUTextureReadback()

FRHIGPUTextureReadback::FRHIGPUTextureReadback ( FName  RequestName)

Member Function Documentation

◆ EnqueueCopy() [1/4]

virtual void FRHIGPUMemoryReadback::EnqueueCopy ( FRHICommandList RHICmdList,
FRHIBuffer SourceBuffer,
uint32  NumBytes = 0 
)
inlinevirtual

Copy the current state of the resource to the readback data.

Parameters
RHICmdListThe command list to enqueue the copy request on.
SourceBufferThe buffer holding the source data.
NumBytesThe number of bytes to copy. If 0, this will copy the entire buffer.

Reimplemented from FRHIGPUMemoryReadback.

◆ EnqueueCopy() [2/4]

virtual void FRHIGPUMemoryReadback::EnqueueCopy ( FRHICommandList RHICmdList,
FRHITexture SourceTexture,
const FIntVector SourcePosition,
uint32  SourceSlice,
const FIntVector Size 
)
inlinevirtual

Reimplemented from FRHIGPUMemoryReadback.

◆ EnqueueCopy() [3/4]

void FRHIGPUTextureReadback::EnqueueCopy ( FRHICommandList RHICmdList,
FRHITexture SourceTexture,
const FIntVector SourcePosition,
uint32  SourceSlice,
const FIntVector Size 
)
overridevirtual

Reimplemented from FRHIGPUMemoryReadback.

◆ EnqueueCopy() [4/4]

void FRHIGPUMemoryReadback::EnqueueCopy ( FRHICommandList RHICmdList,
FRHITexture SourceTexture,
FResolveRect  Rect = FResolveRect(),
uint32  SourceSlice = 0 
)
inline

◆ GetGPUSizeBytes()

uint64 FRHIGPUTextureReadback::GetGPUSizeBytes ( ) const

◆ Lock() [1/2]

void * FRHIGPUTextureReadback::Lock ( int32 OutRowPitchInPixels,
int32 OutBufferHeight = nullptr 
)

◆ Lock() [2/2]

void * FRHIGPUTextureReadback::Lock ( uint32  NumBytes)
overridevirtual

Returns the CPU accessible pointer that backs this staging buffer.

Parameters
NumBytesThe maximum number of bytes the host will read from this pointer.
Returns
A CPU accessible pointer to the backing buffer.

Implements FRHIGPUMemoryReadback.

◆ LockTexture()

void FRHIGPUTextureReadback::LockTexture ( FRHICommandListImmediate RHICmdList,
void *&  OutBufferPtr,
int32 OutRowPitchInPixels 
)

◆ Unlock()

void FRHIGPUTextureReadback::Unlock ( )
overridevirtual

Signals that the host is finished reading from the backing buffer.

Implements FRHIGPUMemoryReadback.

Member Data Documentation

◆ DestinationStagingTextures

FTextureRHIRef FRHIGPUTextureReadback::DestinationStagingTextures[1]

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