#include <VulkanMemoryManager.hpp>
|
| | VulkanMemoryManager (std::string MgrName, const VulkanLogicalDevice &LogicalDevice, const VulkanPhysicalDevice &PhysicalDevice, Diligent::IMemoryAllocator &Allocator, VkDeviceSize DeviceLocalPageSize, VkDeviceSize HostVisiblePageSize, VkDeviceSize DeviceLocalReserveSize, VkDeviceSize HostVisibleReserveSize) |
| |
| | VulkanMemoryManager (VulkanMemoryManager &&rhs) noexcept |
| |
| | ~VulkanMemoryManager () |
| |
| | VulkanMemoryManager (const VulkanMemoryManager &)=delete |
| |
| VulkanMemoryManager & | operator= (const VulkanMemoryManager &)=delete |
| |
| VulkanMemoryManager & | operator= (VulkanMemoryManager &&)=delete |
| |
| VulkanMemoryAllocation | Allocate (VkDeviceSize Size, VkDeviceSize Alignment, uint32_t MemoryTypeIndex, bool HostVisible, VkMemoryAllocateFlags AllocateFlags) |
| |
| VulkanMemoryAllocation | Allocate (const VkMemoryRequirements &MemReqs, VkMemoryPropertyFlags MemoryProps, VkMemoryAllocateFlags AllocateFlags) |
| |
| void | ShrinkMemory () |
| |
◆ VulkanMemoryManager() [1/3]
| VulkanUtilities::VulkanMemoryManager::VulkanMemoryManager |
( |
std::string |
MgrName, |
|
|
const VulkanLogicalDevice & |
LogicalDevice, |
|
|
const VulkanPhysicalDevice & |
PhysicalDevice, |
|
|
Diligent::IMemoryAllocator & |
Allocator, |
|
|
VkDeviceSize |
DeviceLocalPageSize, |
|
|
VkDeviceSize |
HostVisiblePageSize, |
|
|
VkDeviceSize |
DeviceLocalReserveSize, |
|
|
VkDeviceSize |
HostVisibleReserveSize |
|
) |
| |
|
inline |
◆ VulkanMemoryManager() [2/3]
◆ ~VulkanMemoryManager()
| VulkanUtilities::VulkanMemoryManager::~VulkanMemoryManager |
( |
| ) |
|
◆ VulkanMemoryManager() [3/3]
◆ Allocate() [1/2]
| VulkanMemoryAllocation VulkanUtilities::VulkanMemoryManager::Allocate |
( |
const VkMemoryRequirements & |
MemReqs, |
|
|
VkMemoryPropertyFlags |
MemoryProps, |
|
|
VkMemoryAllocateFlags |
AllocateFlags |
|
) |
| |
◆ Allocate() [2/2]
| VulkanMemoryAllocation VulkanUtilities::VulkanMemoryManager::Allocate |
( |
VkDeviceSize |
Size, |
|
|
VkDeviceSize |
Alignment, |
|
|
uint32_t |
MemoryTypeIndex, |
|
|
bool |
HostVisible, |
|
|
VkMemoryAllocateFlags |
AllocateFlags |
|
) |
| |
◆ OnFreeAllocation()
| void VulkanUtilities::VulkanMemoryManager::OnFreeAllocation |
( |
VkDeviceSize |
Size, |
|
|
bool |
IsHostVisble |
|
) |
| |
|
protected |
◆ OnNewPageCreated()
| virtual void VulkanUtilities::VulkanMemoryManager::OnNewPageCreated |
( |
VulkanMemoryPage & |
NewPage | ) |
|
|
inlineprotectedvirtual |
◆ OnPageDestroy()
| virtual void VulkanUtilities::VulkanMemoryManager::OnPageDestroy |
( |
VulkanMemoryPage & |
Page | ) |
|
|
inlineprotectedvirtual |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ ShrinkMemory()
| void VulkanUtilities::VulkanMemoryManager::ShrinkMemory |
( |
| ) |
|
◆ VulkanMemoryPage
◆ m_Allocator
◆ m_CurrAllocatedSize
| std::array<VkDeviceSize, 2> VulkanUtilities::VulkanMemoryManager::m_CurrAllocatedSize = {} |
|
protected |
◆ m_CurrUsedSize
| std::array<std::atomic_int64_t, 2> VulkanUtilities::VulkanMemoryManager::m_CurrUsedSize = {} |
|
protected |
◆ m_DeviceLocalPageSize
| const VkDeviceSize VulkanUtilities::VulkanMemoryManager::m_DeviceLocalPageSize |
|
protected |
◆ m_DeviceLocalReserveSize
| const VkDeviceSize VulkanUtilities::VulkanMemoryManager::m_DeviceLocalReserveSize |
|
protected |
◆ m_HostVisiblePageSize
| const VkDeviceSize VulkanUtilities::VulkanMemoryManager::m_HostVisiblePageSize |
|
protected |
◆ m_HostVisibleReserveSize
| const VkDeviceSize VulkanUtilities::VulkanMemoryManager::m_HostVisibleReserveSize |
|
protected |
◆ m_LogicalDevice
◆ m_MgrName
| std::string VulkanUtilities::VulkanMemoryManager::m_MgrName |
|
protected |
◆ m_Pages
◆ m_PagesMtx
| std::mutex VulkanUtilities::VulkanMemoryManager::m_PagesMtx |
|
protected |
◆ m_PeakAllocatedSize
| std::array<VkDeviceSize, 2> VulkanUtilities::VulkanMemoryManager::m_PeakAllocatedSize = {} |
|
protected |
◆ m_PeakUsedSize
| std::array<VkDeviceSize, 2> VulkanUtilities::VulkanMemoryManager::m_PeakUsedSize = {} |
|
protected |
◆ m_PhysicalDevice
The documentation for this class was generated from the following files: