Nebula
Loading...
Searching...
No Matches
vkmemory.cc File Reference
#include "vkmemory.h"
#include "vkgraphicsdevice.h"

Namespaces

namespace  CoreGraphics
 Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
namespace  Vulkan
 Vulkan implementation of GPU acceleration structure.

Functions

 CoreGraphics::N_DECLARE_COUNTER (N_DEVICE_ONLY_GPU_MEMORY, Device Only GPU Memory)
 CoreGraphics::N_DECLARE_COUNTER (N_HOST_ONLY_GPU_MEMORY, Host Only GPU Memory)
 CoreGraphics::N_DECLARE_COUNTER (N_DEVICE_TO_HOST_GPU_MEMORY, Device To Host GPU Memory)
 CoreGraphics::N_DECLARE_COUNTER (N_HOST_TO_DEVICE_GPU_MEMORY, Host To Device GPU Memory)
void CoreGraphics::SetupMemoryPools (DeviceSize deviceLocalMemory, DeviceSize hostLocalMemory, DeviceSize hostToDeviceMemory, DeviceSize deviceToHostMemory)
 setup memory pools
void CoreGraphics::DiscardMemoryPools (VkDevice dev)
 discard memory pools
void CoreGraphics::FreeMemory (const CoreGraphics::Alloc &alloc)
 free memory
void * CoreGraphics::GetMappedMemory (const CoreGraphics::Alloc &alloc)
 get mapped memory pointer
CoreGraphics::Alloc Vulkan::AllocateMemory (const VkDevice dev, const VkImage &img, CoreGraphics::MemoryPoolType type)
 allocate memory for an image
CoreGraphics::Alloc Vulkan::AllocateMemory (const VkDevice dev, const VkBuffer &buf, CoreGraphics::MemoryPoolType type, size_t alignment=1)
 allocate memory for a buffer
CoreGraphics::Alloc Vulkan::AllocateMemory (const VkDevice dev, VkMemoryRequirements reqs, VkDeviceSize allocSize)
 allocate memory for sparse memory
void Vulkan::Flush (const VkDevice dev, const CoreGraphics::Alloc &alloc, IndexT offset, SizeT size)
 flush a mapped memory region
void Vulkan::Invalidate (const VkDevice dev, const CoreGraphics::Alloc &alloc, IndexT offset, SizeT size)
 invalidate a mapped memory region
VkResult Vulkan::GetMemoryType (uint32_t bits, VkMemoryPropertyFlags flags, uint32_t &index)
 get vulkan memory type based on resource requirements and wanted memory properties