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

Go to the source code of this file.

Classes

struct  FMemsetResourceParams
 
struct  FMemcpyResourceParams
 
struct  FResizeResourceSOAParams
 
class  FScatterUploadBuffer
 
struct  FScatterCopyParams
 
struct  FAsyncScatterCopyParams
 
class  FRDGScatterUploadBase
 
class  FRDGScatterUploader
 
class  FRDGAsyncScatterUploadBuffer
 
class  FRDGScatterUploadBuilder
 
class  FRDGScatterUploadBuffer
 

Functions

template<typename ResourceType >
RENDERCORE_API void MemsetResource (FRHICommandList &RHICmdList, const ResourceType &DstBuffer, const FMemsetResourceParams &Params)
 
template<typename ResourceType >
RENDERCORE_API void MemcpyResource (FRHICommandList &RHICmdList, const ResourceType &DstBuffer, const ResourceType &SrcBuffer, const FMemcpyResourceParams &Params, bool bAlreadyInUAVOverlap=false)
 
RENDERCORE_API bool ResizeResourceSOAIfNeeded (FRHICommandList &RHICmdList, FRWBufferStructured &Texture, const FResizeResourceSOAParams &Params, const TCHAR *DebugName)
 
template<typename ResourceType >
RENDERCORE_API bool ResizeResourceIfNeeded (FRHICommandList &RHICmdList, ResourceType &Buffer, uint32 NumBytes, const TCHAR *DebugName)
 
RENDERCORE_API bool ResizeResourceIfNeeded (FRHICommandList &RHICmdList, FRWBuffer &Buffer, EPixelFormat Format, uint32 NumElements, const TCHAR *DebugName)
 
RENDERCORE_API bool ResizeResourceSOAIfNeeded (FRDGBuilder &GraphBuilder, FRWBufferStructured &Buffer, const FResizeResourceSOAParams &Params, const TCHAR *DebugName)
 
RENDERCORE_API bool ResizeResourceIfNeeded (FRDGBuilder &GraphBuilder, FRWBufferStructured &Buffer, uint32 NumBytes, const TCHAR *DebugName)
 
RENDERCORE_API bool ResizeResourceIfNeeded (FRDGBuilder &GraphBuilder, FRWByteAddressBuffer &Buffer, uint32 NumBytes, const TCHAR *DebugName)
 
RENDERCORE_API bool ResizeResourceIfNeeded (FRDGBuilder &GraphBuilder, FRWBuffer &Buffer, EPixelFormat Format, uint32 NumElements, const TCHAR *DebugName)
 
RENDERCORE_API void MemsetResource (FRDGBuilder &GraphBuilder, FRDGBuffer *DstResource, const FMemsetResourceParams &Params)
 
RENDERCORE_API void MemcpyResource (FRDGBuilder &GraphBuilder, FRDGBuffer *DstResource, FRDGBuffer *SrcResource, const FMemcpyResourceParams &Params)
 
RENDERCORE_API void MemsetResource (FRDGBuilder &GraphBuilder, FRDGBufferUAV *DstResource, const FMemsetResourceParams &Params)
 
RENDERCORE_API void MemcpyResource (FRDGBuilder &GraphBuilder, FRDGBufferUAV *DstResource, FRDGBufferSRV *SrcResource, const FMemcpyResourceParams &Params)
 
void RENDERCORE_API ScatterCopyResource (FRDGBuilder &GraphBuilder, FRDGBuffer *DstResource, FRDGBufferSRV *ScatterBufferSRV, FRDGBufferSRV *UploadBufferSRV, const FScatterCopyParams &Params)
 
void RENDERCORE_API ScatterCopyResource (FRDGBuilder &GraphBuilder, FRDGBuffer *DstResource, FRDGBufferSRV *ScatterBufferSRV, FRDGBufferSRV *UploadBufferSRV, const FAsyncScatterCopyParams &Params)
 
RENDERCORE_API FRDGBufferResizeBufferIfNeeded (FRDGBuilder &GraphBuilder, TRefCountPtr< FRDGPooledBuffer > &ExternalBuffer, const FRDGBufferDesc &BufferDesc, const TCHAR *Name)
 
RENDERCORE_API FRDGBufferResizeBufferIfNeeded (FRDGBuilder &GraphBuilder, TRefCountPtr< FRDGPooledBuffer > &ExternalBuffer, EPixelFormat Format, uint32 NumElements, const TCHAR *Name)
 
RENDERCORE_API FRDGBufferResizeStructuredBufferIfNeeded (FRDGBuilder &GraphBuilder, TRefCountPtr< FRDGPooledBuffer > &ExternalBuffer, uint32 NumBytes, const TCHAR *Name)
 
RENDERCORE_API FRDGBufferResizeStructuredBufferSOAIfNeeded (FRDGBuilder &GraphBuilder, TRefCountPtr< FRDGPooledBuffer > &ExternalBuffer, const FResizeResourceSOAParams &Params, const TCHAR *DebugName)
 
RENDERCORE_API FRDGBufferResizeByteAddressBufferIfNeeded (FRDGBuilder &GraphBuilder, TRefCountPtr< FRDGPooledBuffer > &ExternalBuffer, uint32 NumBytes, const TCHAR *Name)
 
FRDGBufferResizeByteAddressBufferIfNeededWithCurrentLLMTag (FRDGBuilder &GraphBuilder, TRefCountPtr< FRDGPooledBuffer > &ExternalBuffer, uint32 NumBytes, const TCHAR *Name)
 
void LockIfValid (FRHICommandListBase &RHICmdList, FRDGScatterUploader *Uploader)
 
void UnlockIfValid (FRHICommandListBase &RHICmdList, FRDGScatterUploader *Uploader)
 

Function Documentation

◆ LockIfValid()

void LockIfValid ( FRHICommandListBase RHICmdList,
FRDGScatterUploader Uploader 
)
inline

◆ MemcpyResource() [1/3]

RENDERCORE_API void MemcpyResource ( FRDGBuilder GraphBuilder,
FRDGBuffer DstResource,
FRDGBuffer SrcResource,
const FMemcpyResourceParams Params 
)
extern

◆ MemcpyResource() [2/3]

RENDERCORE_API void MemcpyResource ( FRDGBuilder GraphBuilder,
FRDGBufferUAV DstResource,
FRDGBufferSRV SrcResource,
const FMemcpyResourceParams Params 
)
extern

◆ MemcpyResource() [3/3]

template<typename ResourceType >
RENDERCORE_API void MemcpyResource ( FRHICommandList RHICmdList,
const ResourceType &  DstBuffer,
const ResourceType &  SrcBuffer,
const FMemcpyResourceParams Params,
bool  bAlreadyInUAVOverlap = false 
)
extern

◆ MemsetResource() [1/3]

RENDERCORE_API void MemsetResource ( FRDGBuilder GraphBuilder,
FRDGBuffer DstResource,
const FMemsetResourceParams Params 
)
extern

◆ MemsetResource() [2/3]

RENDERCORE_API void MemsetResource ( FRDGBuilder GraphBuilder,
FRDGBufferUAV DstResource,
const FMemsetResourceParams Params 
)
extern

◆ MemsetResource() [3/3]

template<typename ResourceType >
RENDERCORE_API void MemsetResource ( FRHICommandList RHICmdList,
const ResourceType &  DstBuffer,
const FMemsetResourceParams Params 
)
extern

◆ ResizeBufferIfNeeded() [1/2]

RENDERCORE_API FRDGBuffer * ResizeBufferIfNeeded ( FRDGBuilder GraphBuilder,
TRefCountPtr< FRDGPooledBuffer > &  ExternalBuffer,
const FRDGBufferDesc BufferDesc,
const TCHAR Name 
)
extern

◆ ResizeBufferIfNeeded() [2/2]

RENDERCORE_API FRDGBuffer * ResizeBufferIfNeeded ( FRDGBuilder GraphBuilder,
TRefCountPtr< FRDGPooledBuffer > &  ExternalBuffer,
EPixelFormat  Format,
uint32  NumElements,
const TCHAR Name 
)
extern

◆ ResizeByteAddressBufferIfNeeded()

RENDERCORE_API FRDGBuffer * ResizeByteAddressBufferIfNeeded ( FRDGBuilder GraphBuilder,
TRefCountPtr< FRDGPooledBuffer > &  ExternalBuffer,
uint32  NumBytes,
const TCHAR Name 
)
extern

◆ ResizeByteAddressBufferIfNeededWithCurrentLLMTag()

FRDGBuffer * ResizeByteAddressBufferIfNeededWithCurrentLLMTag ( FRDGBuilder GraphBuilder,
TRefCountPtr< FRDGPooledBuffer > &  ExternalBuffer,
uint32  NumBytes,
const TCHAR Name 
)
inline

◆ ResizeResourceIfNeeded() [1/5]

RENDERCORE_API bool ResizeResourceIfNeeded ( FRDGBuilder GraphBuilder,
FRWBuffer Buffer,
EPixelFormat  Format,
uint32  NumElements,
const TCHAR DebugName 
)

◆ ResizeResourceIfNeeded() [2/5]

RENDERCORE_API bool ResizeResourceIfNeeded ( FRDGBuilder GraphBuilder,
FRWBufferStructured Buffer,
uint32  NumBytes,
const TCHAR DebugName 
)

◆ ResizeResourceIfNeeded() [3/5]

RENDERCORE_API bool ResizeResourceIfNeeded ( FRDGBuilder GraphBuilder,
FRWByteAddressBuffer Buffer,
uint32  NumBytes,
const TCHAR DebugName 
)

◆ ResizeResourceIfNeeded() [4/5]

RENDERCORE_API bool ResizeResourceIfNeeded ( FRHICommandList RHICmdList,
FRWBuffer Buffer,
EPixelFormat  Format,
uint32  NumElements,
const TCHAR DebugName 
)

◆ ResizeResourceIfNeeded() [5/5]

template<typename ResourceType >
RENDERCORE_API bool ResizeResourceIfNeeded ( FRHICommandList RHICmdList,
ResourceType &  Buffer,
uint32  NumBytes,
const TCHAR DebugName 
)
extern

◆ ResizeResourceSOAIfNeeded() [1/2]

RENDERCORE_API bool ResizeResourceSOAIfNeeded ( FRDGBuilder GraphBuilder,
FRWBufferStructured Buffer,
const FResizeResourceSOAParams Params,
const TCHAR DebugName 
)

This version will resize/allocate the buffer at once and add a RDG pass to perform the copy on the RDG time-line if there was previous data).

◆ ResizeResourceSOAIfNeeded() [2/2]

RENDERCORE_API bool ResizeResourceSOAIfNeeded ( FRHICommandList RHICmdList,
FRWBufferStructured Texture,
const FResizeResourceSOAParams Params,
const TCHAR DebugName 
)

◆ ResizeStructuredBufferIfNeeded()

RENDERCORE_API FRDGBuffer * ResizeStructuredBufferIfNeeded ( FRDGBuilder GraphBuilder,
TRefCountPtr< FRDGPooledBuffer > &  ExternalBuffer,
uint32  NumBytes,
const TCHAR Name 
)
extern

◆ ResizeStructuredBufferSOAIfNeeded()

RENDERCORE_API FRDGBuffer * ResizeStructuredBufferSOAIfNeeded ( FRDGBuilder GraphBuilder,
TRefCountPtr< FRDGPooledBuffer > &  ExternalBuffer,
const FResizeResourceSOAParams Params,
const TCHAR DebugName 
)
extern

◆ ScatterCopyResource() [1/2]

void RENDERCORE_API ScatterCopyResource ( FRDGBuilder GraphBuilder,
FRDGBuffer DstResource,
FRDGBufferSRV ScatterBufferSRV,
FRDGBufferSRV UploadBufferSRV,
const FAsyncScatterCopyParams Params 
)

◆ ScatterCopyResource() [2/2]

void RENDERCORE_API ScatterCopyResource ( FRDGBuilder GraphBuilder,
FRDGBuffer DstResource,
FRDGBufferSRV ScatterBufferSRV,
FRDGBufferSRV UploadBufferSRV,
const FScatterCopyParams Params 
)

◆ UnlockIfValid()

void UnlockIfValid ( FRHICommandListBase RHICmdList,
FRDGScatterUploader Uploader 
)
inline