From 3a8ae88a33255d5bbe22ba6d646fcf397cfe4e58 Mon Sep 17 00:00:00 2001 From: Roman Kuznetsov Date: Mon, 18 Feb 2019 22:30:13 +0300 Subject: [PATCH] [vulkan] Fixed memory leak --- drape/vulkan/vulkan_gpu_buffer_impl.cpp | 6 ++++++ drape/vulkan/vulkan_gpu_buffer_impl.hpp | 1 + 2 files changed, 7 insertions(+) diff --git a/drape/vulkan/vulkan_gpu_buffer_impl.cpp b/drape/vulkan/vulkan_gpu_buffer_impl.cpp index 8d14b0c4f3..a12feab946 100644 --- a/drape/vulkan/vulkan_gpu_buffer_impl.cpp +++ b/drape/vulkan/vulkan_gpu_buffer_impl.cpp @@ -20,6 +20,12 @@ VulkanGPUBuffer::VulkanGPUBuffer(ref_ptr context, void const Resize(context, data, capacity); } +VulkanGPUBuffer::~VulkanGPUBuffer() +{ + CHECK(m_objectManager != nullptr, ()); + m_objectManager->DestroyObject(m_geometryBuffer); +} + void * VulkanGPUBuffer::Map(ref_ptr context, uint32_t elementOffset, uint32_t elementCount) { diff --git a/drape/vulkan/vulkan_gpu_buffer_impl.hpp b/drape/vulkan/vulkan_gpu_buffer_impl.hpp index 4d99786fde..a230b96564 100644 --- a/drape/vulkan/vulkan_gpu_buffer_impl.hpp +++ b/drape/vulkan/vulkan_gpu_buffer_impl.hpp @@ -26,6 +26,7 @@ class VulkanGPUBuffer : public BufferBase public: VulkanGPUBuffer(ref_ptr context, void const * data, uint8_t elementSize, uint32_t capacity, uint64_t batcherHash); + ~VulkanGPUBuffer() override; void * Map(ref_ptr context, uint32_t elementOffset, uint32_t elementCount); void UpdateData(void * gpuPtr, void const * data,