From 6fe107a0e388e949111044cda3078702b5cbbcda Mon Sep 17 00:00:00 2001 From: psucien Date: Wed, 19 Nov 2025 18:09:27 +0100 Subject: [PATCH] Fix for memory leak --- .../renderer_vulkan/vk_pipeline_serialization.cpp | 7 ++++++- src/video_core/renderer_vulkan/vk_pipeline_storage.cpp | 1 - 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_pipeline_serialization.cpp b/src/video_core/renderer_vulkan/vk_pipeline_serialization.cpp index 5be012f77..996e1ca0b 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_serialization.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_serialization.cpp @@ -517,7 +517,11 @@ u64 Shader::Gcn::FetchShaderData::Hash() const { for (const auto& attrib : attributes) { XXH64_update(state, &attrib, sizeof(attrib)); } - return XXH64_digest(state); + + const u64 hash = XXH64_digest(state); + XXH64_freeState(state); + + return hash; } u64 StageSpecialization::Hash() const { @@ -544,6 +548,7 @@ u64 StageSpecialization::Hash() const { } u64 hash = XXH64_digest(state); + XXH64_freeState(state); if (fetch_shader_data) { hash = HashCombine(hash, fetch_shader_data->Hash()); diff --git a/src/video_core/renderer_vulkan/vk_pipeline_storage.cpp b/src/video_core/renderer_vulkan/vk_pipeline_storage.cpp index 916658938..1faec1f99 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_storage.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_storage.cpp @@ -155,7 +155,6 @@ bool DataBase::Save(BlobType type, const std::string& name, std::vector&& d auto path = cache_dir / name; return WriteVector(type, std::move(path), std::move(data)); - return true; } void DataBase::Load(BlobType type, const std::string& name, std::vector& data) {