UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::RendererPrivateUtils::Implementation::TAsyncBufferScatterUploader< InValueType, InBufferTraits, InNumValuesPerScatter > Class Template Reference

#include <RendererPrivateUtils.h>

+ Inheritance diagram for UE::RendererPrivateUtils::Implementation::TAsyncBufferScatterUploader< InValueType, InBufferTraits, InNumValuesPerScatter >:

Public Member Functions

FRDGBufferResizeAndUploadToAsync (FRDGBuilder &GraphBuilder, TPersistentBuffer< InValueType, InBufferTraits > &DestDataBuffer, int32 DestDataMinimumSize)
 
- Public Member Functions inherited from UE::RendererPrivateUtils::Implementation::TBufferScatterUploader< InValueType, InBufferTraits, InNumValuesPerScatter >
 TBufferScatterUploader (int32 NumScatters=0)
 
virtual ~TBufferScatterUploader ()=default
 
void Reserve (int32 NumScatters)
 
void Add (const ValueType &Value, int32 ScatterOffset)
 
void Add (const TConstArrayView< ValueType > &InValues, int32 ScatterOffset)
 
void AddMultiple (const TConstArrayView< ValueType > &InValues, int32 FirstScatterOffset)
 
TArrayView< ValueTypeAddMultiple_GetRef (int32 FirstScatterOffset, int32 NumValues)
 
int32 GetNumScatters () const
 
FRDGBufferResizeAndUploadTo (FRDGBuilder &GraphBuilder, TPersistentBuffer< ValueType, BufferTraits > &DestDataBuffer, int32 DestDataMinimumSize, FScatterInfo &OutScatterInfo)
 
FRDGBufferResizeAndUploadTo (FRDGBuilder &GraphBuilder, TPersistentBuffer< ValueType, BufferTraits > &DestDataBuffer, int32 DestDataMinimumSize)
 
- Public Member Functions inherited from FBufferScatterUploader
RENDERER_API void UploadTo (FRDGBuilder &GraphBuilder, FRDGBuffer *DestBuffer, FRDGBuffer *ScatterOffsets, FRDGBuffer *Values, uint32 NumScatters, uint32 NumBytesPerElement, int32 NumValuesPerScatter)
 
RENDERER_API void UploadTo (FRDGBuilder &GraphBuilder, FRDGBuffer *DestBuffer, FRDGBuffer *ScatterOffsets, FRDGBuffer *Values, TFunction< uint64()> &&GetNumScatters, uint32 NumBytesPerElement, int32 NumValuesPerScatter)
 

Static Public Member Functions

static TAsyncBufferScatterUploaderAllocate (FRDGBuilder &GraphBuilder, int32 NumScatters=0)
 

Friends

class FRDGAllocator
 
class FRDGAllocator::TObject< TAsyncBufferScatterUploader >
 

Additional Inherited Members

- Public Types inherited from UE::RendererPrivateUtils::Implementation::TBufferScatterUploader< InValueType, InBufferTraits, InNumValuesPerScatter >
using BufferTraits = InBufferTraits
 
using ValueType = InValueType
 
- Static Public Attributes inherited from UE::RendererPrivateUtils::Implementation::TBufferScatterUploader< InValueType, InBufferTraits, InNumValuesPerScatter >
static constexpr int32 BytesPerElement = sizeof(ValueType)
 
static constexpr int32 NumValuesPerScatter = InNumValuesPerScatter
 
- Protected Attributes inherited from UE::RendererPrivateUtils::Implementation::TBufferScatterUploader< InValueType, InBufferTraits, InNumValuesPerScatter >
FUploadDataUploadDataProxy = nullptr
 
FUploadData UploadData
 

Member Function Documentation

◆ Allocate()

Allocate an instance of TAsyncBufferScatterUploader using an allocator tied to the lifetime of the graph

◆ ResizeAndUploadToAsync()

template<typename InValueType , typename InBufferTraits , int32 InNumValuesPerScatter = 1>
FRDGBuffer * UE::RendererPrivateUtils::Implementation::TAsyncBufferScatterUploader< InValueType, InBufferTraits, InNumValuesPerScatter >::ResizeAndUploadToAsync ( FRDGBuilder GraphBuilder,
TPersistentBuffer< InValueType, InBufferTraits > &  DestDataBuffer,
int32  DestDataMinimumSize 
)
inline

Resize the destination persistent buffer (if needed) and upload & scatter the collected data to it. Callbacks are used to create upload buffers and scheduling scatter dispatch since data might not be ready yet.

Friends And Related Symbol Documentation

◆ FRDGAllocator

template<typename InValueType , typename InBufferTraits , int32 InNumValuesPerScatter = 1>
friend class FRDGAllocator
friend

◆ FRDGAllocator::TObject< TAsyncBufferScatterUploader >


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