~GpuMemoryDefaultAllocator() override = default;
- GpuMemoryBlockHandle Allocate( const vk::MemoryRequirements& requirements, vk::MemoryPropertyFlags memoryProperties ) override
+ GpuMemoryBlockRef Allocate( const vk::MemoryRequirements& requirements, vk::MemoryPropertyFlags memoryProperties ) override
{
auto memoryTypeIndex = GetMemoryIndex(mGraphics.GetMemoryProperties(), requirements.memoryTypeBits,
.setAllocationSize(requirements.size), mGraphics.GetAllocator()));
// add allocated memory to the heap of memories as a base handle
- auto handle = GpuMemoryBlockHandle( new GpuMemoryBlock( *this, MakeUnique<MemoryBlock>() ) );
+ auto handle = GpuMemoryBlockRef( new GpuMemoryBlock( *this, MakeUnique<MemoryBlock>() ) );
auto &block = *handle->GetData<MemoryBlock>();
block.requirements = requirements;
block.alignment = requirements.alignment;
block.memory = memory;
- mUniqueBlocks.emplace_back( MakeUnique<GpuMemoryBlockHandle>(handle) );
+ mUniqueBlocks.emplace_back( MakeUnique<GpuMemoryBlockRef>(handle) );
return handle;
}
* @param memoryProperties
* @return
*/
- virtual GpuMemoryBlockHandle Allocate( const Handle<Buffer>& buffer, vk::MemoryPropertyFlags memoryProperties ) override
+ virtual GpuMemoryBlockRef Allocate( const Handle<Buffer>& buffer, vk::MemoryPropertyFlags memoryProperties ) override
{
- return Allocate( mGraphics.GetDevice().getBufferMemoryRequirements( buffer->GetVkBuffer() ),
+ return Allocate( mGraphics.GetDevice().getBufferMemoryRequirements(buffer->GetVkHandle() ),
memoryProperties );
}
* @param memoryProperties
* @return
*/
- GpuMemoryBlockHandle Allocate( Image& image, vk::MemoryPropertyFlags memoryProperties ) override
+ GpuMemoryBlockRef Allocate( const ImageRef& image, vk::MemoryPropertyFlags memoryProperties ) override
{
- return Allocate( mGraphics.GetDevice().getImageMemoryRequirements( image.GetImage() ),
+ return Allocate( mGraphics.GetDevice().getImageMemoryRequirements(image->GetVkHandle() ),
memoryProperties );
}
GpuMemoryManager& mGpuManager;
Graphics& mGraphics;
- std::vector<std::unique_ptr<GpuMemoryBlockHandle>> mUniqueBlocks;
+ std::vector<std::unique_ptr<GpuMemoryBlockRef>> mUniqueBlocks;
};
struct GpuMemoryManager::Impl