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

#include <VulkanMemory.h>

Classes

struct  FFreeEntry
 

Public Member Functions

 FStagingManager ()
 
 ~FStagingManager ()
 
void Init (FVulkanDevice *InDevice)
 
void Deinit ()
 
FStagingBufferAcquireBuffer (uint32 Size, VkBufferUsageFlags InUsageFlags=VK_BUFFER_USAGE_TRANSFER_SRC_BIT, VkMemoryPropertyFlagBits InMemoryReadFlags=VK_MEMORY_PROPERTY_HOST_COHERENT_BIT)
 
void ReleaseBuffer (FVulkanContextCommon *Context, FStagingBuffer *&StagingBuffer)
 
void ProcessPendingFree (bool bImmediately, bool bFreeToOS)
 
void GetMemoryDump (FResourceHeapStats &Stats)
 
void DumpMemory ()
 

Protected Member Functions

void ProcessPendingFreeNoLock (bool bImmediately, bool bFreeToOS)
 

Protected Attributes

FCriticalSection StagingLock
 
TArray< FStagingBuffer * > UsedStagingBuffers
 
TMap< FVulkanSyncPointRef, TArray< FStagingBuffer * > > PendingFreeStagingBuffers
 
TArray< FFreeEntryFreeStagingBuffers
 
uint64 PeakUsedMemory = 0
 
uint64 UsedMemory = 0
 
FVulkanDeviceDevice = nullptr
 

Friends

class FMemoryManager
 

Constructor & Destructor Documentation

◆ FStagingManager()

VulkanRHI::FStagingManager::FStagingManager ( )

◆ ~FStagingManager()

VulkanRHI::FStagingManager::~FStagingManager ( )

Member Function Documentation

◆ AcquireBuffer()

FStagingBuffer * VulkanRHI::FStagingManager::AcquireBuffer ( uint32  Size,
VkBufferUsageFlags  InUsageFlags = VK_BUFFER_USAGE_TRANSFER_SRC_BIT,
VkMemoryPropertyFlagBits  InMemoryReadFlags = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT 
)

◆ Deinit()

void VulkanRHI::FStagingManager::Deinit ( )

◆ DumpMemory()

void VulkanRHI::FStagingManager::DumpMemory ( )

◆ GetMemoryDump()

void VulkanRHI::FStagingManager::GetMemoryDump ( FResourceHeapStats Stats)

◆ Init()

void VulkanRHI::FStagingManager::Init ( FVulkanDevice InDevice)
inline

◆ ProcessPendingFree()

void VulkanRHI::FStagingManager::ProcessPendingFree ( bool  bImmediately,
bool  bFreeToOS 
)

◆ ProcessPendingFreeNoLock()

void VulkanRHI::FStagingManager::ProcessPendingFreeNoLock ( bool  bImmediately,
bool  bFreeToOS 
)
protected

◆ ReleaseBuffer()

void VulkanRHI::FStagingManager::ReleaseBuffer ( FVulkanContextCommon Context,
FStagingBuffer *&  StagingBuffer 
)

Friends And Related Symbol Documentation

◆ FMemoryManager

friend class FMemoryManager
friend

Member Data Documentation

◆ Device

FVulkanDevice* VulkanRHI::FStagingManager::Device = nullptr
protected

◆ FreeStagingBuffers

TArray<FFreeEntry> VulkanRHI::FStagingManager::FreeStagingBuffers
protected

◆ PeakUsedMemory

uint64 VulkanRHI::FStagingManager::PeakUsedMemory = 0
protected

◆ PendingFreeStagingBuffers

TMap<FVulkanSyncPointRef, TArray<FStagingBuffer*> > VulkanRHI::FStagingManager::PendingFreeStagingBuffers
protected

◆ StagingLock

FCriticalSection VulkanRHI::FStagingManager::StagingLock
protected

◆ UsedMemory

uint64 VulkanRHI::FStagingManager::UsedMemory = 0
protected

◆ UsedStagingBuffers

TArray<FStagingBuffer*> VulkanRHI::FStagingManager::UsedStagingBuffers
protected

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