//FTTVulkanChunkAllocator - [2020-04-13 11:57:47]
#ifndef _FTTVULKANCHUNKALLOCATOR_H_
#define _FTTVULKANCHUNKALLOCATOR_H_

#include "common.h"

/*
0020C026 FTTVulkanChunkAllocator::FTTVulkanChunkAllocator()
0020C08A FTTVulkanChunkAllocator::~FTTVulkanChunkAllocator()
0020C13C FTTVulkanChunkAllocator::BufferAlloc(uint64_t,CFTTVkBufferAllocation &,bool)
0020C36C FTTVulkanChunkAllocator::AddChunk()
0020C550 FTTVulkanChunkAllocator::BufferResize(CFTTVkBufferAllocation &,uint64_t)
0020C552 FTTVulkanChunkAllocator::BufferFree(CFTTVkBufferAllocation &)
0020C558 FTTVulkanChunkAllocator::FreeInternal(FTTVulkanMemoryNode *)
0020C5B8 FTTVulkanChunkAllocator::ImageAlloc(uint64_t,CFTTVkImageAllocation &,bool)
0020C740 FTTVulkanChunkAllocator::ImageFree(CFTTVkImageAllocation &)
0020C746 FTTVulkanChunkAllocator::AllocateMemoryNode()
0020C750 FTTVulkanChunkAllocator::DeallocateMemoryNode(FTTVulkanMemoryNode *)

*/

class FTTVulkanChunkAllocator {
public:
  FTTVulkanChunkAllocator();                                     //0020C026
  ~FTTVulkanChunkAllocator();                                    //0020C08A
  void BufferAlloc(uint64_t, CFTTVkBufferAllocation &, bool);  //0020C13C
  void AddChunk();                                               //0020C36C
  void BufferResize(CFTTVkBufferAllocation &, uint64_t);       //0020C550
  void BufferFree(CFTTVkBufferAllocation &);                     //0020C552
  void FreeInternal(FTTVulkanMemoryNode *);                      //0020C558
  void ImageAlloc(uint64_t, CFTTVkImageAllocation &, bool);    //0020C5B8
  void ImageFree(CFTTVkImageAllocation &);                       //0020C740
  void AllocateMemoryNode();                                     //0020C746
  void DeallocateMemoryNode(FTTVulkanMemoryNode *);              //0020C750
};

#endif  //_FTTVULKANCHUNKALLOCATOR_H_