diff options
author | Roman Kuznetsov <r.kuznetsow@gmail.com> | 2019-02-18 22:30:13 +0300 |
---|---|---|
committer | Daria Volvenkova <d.volvenkova@corp.mail.ru> | 2019-03-01 10:45:24 +0300 |
commit | 3a8ae88a33255d5bbe22ba6d646fcf397cfe4e58 (patch) | |
tree | 4ba1149ad43c59f92c04f580c77e7b45feb6ae3e /drape | |
parent | 1693424aab2aefb571b0e083852d36184a11500e (diff) |
[vulkan] Fixed memory leak
Diffstat (limited to 'drape')
-rw-r--r-- | drape/vulkan/vulkan_gpu_buffer_impl.cpp | 6 | ||||
-rw-r--r-- | drape/vulkan/vulkan_gpu_buffer_impl.hpp | 1 |
2 files changed, 7 insertions, 0 deletions
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<VulkanBaseContext> context, void const Resize(context, data, capacity); } +VulkanGPUBuffer::~VulkanGPUBuffer() +{ + CHECK(m_objectManager != nullptr, ()); + m_objectManager->DestroyObject(m_geometryBuffer); +} + void * VulkanGPUBuffer::Map(ref_ptr<VulkanBaseContext> 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<VulkanBaseContext> context, void const * data, uint8_t elementSize, uint32_t capacity, uint64_t batcherHash); + ~VulkanGPUBuffer() override; void * Map(ref_ptr<VulkanBaseContext> context, uint32_t elementOffset, uint32_t elementCount); void UpdateData(void * gpuPtr, void const * data, |