#include <VulkanMemory.h>
|
| | FMemoryManager (FVulkanDevice &InDevice) |
| |
| | ~FMemoryManager () |
| |
| void | Init () |
| |
| void | Deinit () |
| |
| FVulkanDevice & | GetDevice () |
| |
| void | FreeVulkanAllocation (FVulkanAllocation &Allocation, EVulkanFreeFlags FreeFlags=EVulkanFreeFlag_None) |
| |
| void | FreeVulkanAllocationPooledBuffer (FVulkanAllocation &Allocation) |
| |
| void | FreeVulkanAllocationBuffer (FVulkanAllocation &Allocation) |
| |
| void | FreeVulkanAllocationImage (FVulkanAllocation &Allocation) |
| |
| void | FreeVulkanAllocationImageDedicated (FVulkanAllocation &Allocation) |
| |
| bool | AllocateBufferPooled (FVulkanAllocation &Allocation, FVulkanEvictable *AllocationOwner, uint32 Size, uint32 MinAlignment, VkBufferUsageFlags BufferUsageFlags, VkMemoryPropertyFlags MemoryPropertyFlags, EVulkanAllocationMetaType MetaType, const char *File, uint32 Line) |
| |
| bool | AllocateImageMemory (FVulkanAllocation &Allocation, FVulkanEvictable *AllocationOwner, const VkMemoryRequirements &MemoryReqs, VkMemoryPropertyFlags MemoryPropertyFlags, EVulkanAllocationMetaType MetaType, bool bExternal, const char *File, uint32 Line) |
| |
| bool | AllocateDedicatedImageMemory (FVulkanAllocation &Allocation, FVulkanEvictable *AllocationOwner, VkImage Image, const VkMemoryRequirements &MemoryReqs, VkMemoryPropertyFlags MemoryPropertyFlags, EVulkanAllocationMetaType MetaType, bool bExternal, const char *File, uint32 Line) |
| |
| bool | AllocateBufferMemory (FVulkanAllocation &OutAllocation, VkBuffer InBuffer, EVulkanAllocationFlags InAllocFlags, const TCHAR *InDebugName, uint32 InForceMinAlignment=1) |
| |
| void | RegisterSubresourceAllocator (FVulkanSubresourceAllocator *SubresourceAllocator) |
| |
| void | UnregisterSubresourceAllocator (FVulkanSubresourceAllocator *SubresourceAllocator) |
| |
| bool | ReleaseSubresourceAllocator (FVulkanSubresourceAllocator *SubresourceAllocator) |
| |
| void | ReleaseFreedPages (const FVulkanContextArray &Contexts) |
| |
| void | DumpMemory (bool bFullDump=true) |
| |
| void | AllocUniformBuffer (FVulkanAllocation &OutAllocation, uint32 Size) |
| |
| void | FreeUniformBuffer (FVulkanAllocation &InAllocation) |
| |
| void | HandleOOM (bool bCanResume=false, VkResult Result=VK_SUCCESS, uint64 AllocationSize=0, uint32 MemoryTypeIndex=0) |
| |
| bool | UpdateEvictThreshold (bool bLog) |
| |
◆ anonymous enum
| Enumerator |
|---|
| BufferAllocationSize | |
| UniformBufferAllocationSize | |
◆ EPoolSizes
| Enumerator |
|---|
| E128 | |
| E256 | |
| E512 | |
| E1k | |
| E2k | |
| E8k | |
| E16k | |
| SizesCount | |
◆ FMemoryManager()
| VulkanRHI::FMemoryManager::FMemoryManager |
( |
FVulkanDevice & |
InDevice | ) |
|
◆ ~FMemoryManager()
| VulkanRHI::FMemoryManager::~FMemoryManager |
( |
| ) |
|
◆ AllocateBufferMemory()
| bool VulkanRHI::FMemoryManager::AllocateBufferMemory |
( |
FVulkanAllocation & |
OutAllocation, |
|
|
VkBuffer |
InBuffer, |
|
|
EVulkanAllocationFlags |
InAllocFlags, |
|
|
const TCHAR * |
InDebugName, |
|
|
uint32 |
InForceMinAlignment = 1 |
|
) |
| |
◆ AllocateBufferPooled()
◆ AllocateDedicatedImageMemory()
◆ AllocateImageMemory()
◆ AllocUniformBuffer()
◆ CalculateBufferAlignment()
◆ CalculateBufferPriority()
◆ Deinit()
| void VulkanRHI::FMemoryManager::Deinit |
( |
| ) |
|
◆ DestroyResourceAllocations()
| void VulkanRHI::FMemoryManager::DestroyResourceAllocations |
( |
| ) |
|
|
protected |
◆ DumpMemory()
| void VulkanRHI::FMemoryManager::DumpMemory |
( |
bool |
bFullDump = true | ) |
|
◆ FreeUniformBuffer()
◆ FreeVulkanAllocation()
| void VulkanRHI::FMemoryManager::FreeVulkanAllocation |
( |
FVulkanAllocation & |
Allocation, |
|
|
EVulkanFreeFlags |
FreeFlags = EVulkanFreeFlag_None |
|
) |
| |
◆ FreeVulkanAllocationBuffer()
◆ FreeVulkanAllocationImage()
◆ FreeVulkanAllocationImageDedicated()
◆ FreeVulkanAllocationPooledBuffer()
◆ GetDevice()
◆ GetPoolTypeForAlloc()
◆ GetSubresourceAllocator()
◆ HandleOOM()
◆ Init()
| void VulkanRHI::FMemoryManager::Init |
( |
| ) |
|
◆ ProcessPendingUBFrees()
| void VulkanRHI::FMemoryManager::ProcessPendingUBFrees |
( |
bool |
bForce | ) |
|
|
protected |
◆ ProcessPendingUBFreesNoLock()
| void VulkanRHI::FMemoryManager::ProcessPendingUBFreesNoLock |
( |
bool |
bForce | ) |
|
|
protected |
◆ RegisterSubresourceAllocator()
◆ ReleaseFreedPages()
◆ ReleaseFreedResources()
| void VulkanRHI::FMemoryManager::ReleaseFreedResources |
( |
bool |
bImmediately | ) |
|
|
protected |
◆ ReleaseSubresourceAllocator()
◆ UnregisterSubresourceAllocator()
◆ UpdateEvictThreshold()
| bool VulkanRHI::FMemoryManager::UpdateEvictThreshold |
( |
bool |
bLog | ) |
|
◆ FVulkanAllocation
◆ FVulkanResourceHeap
◆ AllBufferAllocations
◆ AllBufferAllocationsFreeListHead
| PTRINT VulkanRHI::FMemoryManager::AllBufferAllocationsFreeListHead = (PTRINT)-1 |
|
protected |
◆ AllBufferAllocationsLock
| FRWLock VulkanRHI::FMemoryManager::AllBufferAllocationsLock |
|
protected |
◆ bIsEvicting
| bool VulkanRHI::FMemoryManager::bIsEvicting = false |
|
protected |
◆ BufferSizes
Initial value:=
{
128 * 1024,
128 * 1024,
256 * 1024,
256 * 1024,
512 * 1024,
512 * 1024,
1024 * 1024,
1 * 1024 * 1024,
}
◆ bWantEviction
| bool VulkanRHI::FMemoryManager::bWantEviction = false |
|
protected |
◆ CS
◆ Device
◆ DeviceMemoryManager
◆ FreeBufferAllocations
◆ Peak
| uint32 VulkanRHI::FMemoryManager::Peak = 0 |
◆ PendingEvictBytes
| uint64 VulkanRHI::FMemoryManager::PendingEvictBytes = 0 |
|
protected |
◆ PendingFree
◆ PoolSizes
Initial value:=
{
128,
256,
512,
1024,
2048,
8192,
}
◆ ResourceTypeHeaps
◆ [struct]
| struct { ... } VulkanRHI::FMemoryManager::UBAllocations |
◆ UsedBufferAllocations
◆ UsedFreeBufferAllocationsLock
The documentation for this class was generated from the following files: