From 449dd3e215e5e8b3c5832bedee089b9ce33dd0eb Mon Sep 17 00:00:00 2001 From: Varnill Date: Sun, 28 Sep 2025 23:33:50 +0300 Subject: [PATCH] fix: memory leak --- src/include/graphics/vulkan/GraphicsPipeline.h | 4 +++- src/include/graphics/vulkan/pipelines.h | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/include/graphics/vulkan/GraphicsPipeline.h b/src/include/graphics/vulkan/GraphicsPipeline.h index 1e9a6f54..5907266c 100644 --- a/src/include/graphics/vulkan/GraphicsPipeline.h +++ b/src/include/graphics/vulkan/GraphicsPipeline.h @@ -40,7 +40,9 @@ class GraphicsPipeline : public IPipeline { const VkDescriptorSet* descriptorSets, uint32_t setCount, uint32_t firstSet = 0); void pushConstants(VkCommandBuffer cmd, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* data); - + ~GraphicsPipeline() override { + GraphicsPipeline::destroy(); + } private: VkDevice _device = VK_NULL_HANDLE; VkPipeline _pipeline = VK_NULL_HANDLE; diff --git a/src/include/graphics/vulkan/pipelines.h b/src/include/graphics/vulkan/pipelines.h index a9229949..91be1a80 100644 --- a/src/include/graphics/vulkan/pipelines.h +++ b/src/include/graphics/vulkan/pipelines.h @@ -69,7 +69,6 @@ class Pipelines { VkDescriptorSetLayout drawImageDescriptorLayout, AllocatedImage drawImage); void destroy(); - private: VkDevice _device; VkDescriptorSetLayout _singleImageDescriptorLayout;