Rasterfarm-SDK
Loading...
Searching...
No Matches
Engine::UniformMemory Class Reference

#include <memory.h>

Inheritance diagram for Engine::UniformMemory:
Engine::Memory

Public Member Functions

 UniformMemory (VkDevice vkLogicalDevice, uint bufferSize, ShaderBufferType bufferType)
 
void allocate (VkCommandBuffer commandBuffer)
 
virtual ~UniformMemory ()
 
virtual void allocate ()
 
void flushBuffer (VkCommandBuffer commandBuffer)
 
bool hasBuffer (VkCommandBuffer commandBuffer)
 
VkBuffer getBuffer (VkCommandBuffer commandBuffer)
 
void destroyBuffer (VkCommandBuffer commandBuffer)
 
uint getBufferSize ()
 
void * getData (VkCommandBuffer commandBuffer)
 
bool allocated (VkCommandBuffer commandBuffer)
 
- Public Member Functions inherited from Engine::Memory
 Memory (VkDevice vkLogicalDevice, MemoryType memoryType)
 
virtual ~Memory ()
 
MemoryType getMemoryType ()
 
const VkMemoryRequirements & getMemoryRequirements ()
 
bool isCoherent ()
 

Protected Types

typedef Pair< AllocationHandle, void * > Data
 

Protected Attributes

MemoryAllocatorpAllocator
 
uint flags
 
uint bufferSize
 
ShaderBufferType bufferType
 
HeapArray< Pair< VkBuffer, Data > > cache
 
UnorderedMap< VkCommandBuffer, Pair< VkBuffer, Data > > buffer
 
- Protected Attributes inherited from Engine::Memory
VkDevice logicalDevice
 
MemoryType memoryType
 
VkMemoryRequirements memoryRequirements
 

Member Typedef Documentation

◆ Data

typedef Pair< AllocationHandle, void * > Engine::UniformMemory::Data
protected

Constructor & Destructor Documentation

◆ UniformMemory()

Engine::UniformMemory::UniformMemory ( VkDevice vkLogicalDevice,
uint bufferSize,
ShaderBufferType bufferType )
Parameters
Thelogical-device from which memory will-be allocated.
Sizein bytes of device-memory to allocate.
Thebuffer-type to create.

◆ ~UniformMemory()

virtual Engine::UniformMemory::~UniformMemory ( )
virtual

Member Function Documentation

◆ allocate() [1/2]

virtual void Engine::UniformMemory::allocate ( )
virtual

Implements Engine::Memory.

◆ allocate() [2/2]

void Engine::UniformMemory::allocate ( VkCommandBuffer commandBuffer)

◆ allocated()

bool Engine::UniformMemory::allocated ( VkCommandBuffer commandBuffer)
inline

◆ destroyBuffer()

void Engine::UniformMemory::destroyBuffer ( VkCommandBuffer commandBuffer)

◆ flushBuffer()

void Engine::UniformMemory::flushBuffer ( VkCommandBuffer commandBuffer)

◆ getBuffer()

VkBuffer Engine::UniformMemory::getBuffer ( VkCommandBuffer commandBuffer)

◆ getBufferSize()

uint Engine::UniformMemory::getBufferSize ( )
inline

◆ getData()

void * Engine::UniformMemory::getData ( VkCommandBuffer commandBuffer)

◆ hasBuffer()

bool Engine::UniformMemory::hasBuffer ( VkCommandBuffer commandBuffer)

Member Data Documentation

◆ buffer

UnorderedMap< VkCommandBuffer, Pair< VkBuffer, Data > > Engine::UniformMemory::buffer
protected

◆ bufferSize

uint Engine::UniformMemory::bufferSize
protected

◆ bufferType

ShaderBufferType Engine::UniformMemory::bufferType
protected

◆ cache

HeapArray< Pair< VkBuffer, Data > > Engine::UniformMemory::cache
protected

◆ flags

uint Engine::UniformMemory::flags
protected

◆ pAllocator

MemoryAllocator* Engine::UniformMemory::pAllocator
protected

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