From a3f9f2c7aaaf9225736162282a8f3d0c47f1fc4f Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 23 Jan 2024 13:34:13 -0500 Subject: [PATCH 1/2] PostProcessing: Remove unnecessary get() calls in BlitFromTexture() We can just use operator-> instead. --- Source/Core/VideoCommon/PostProcessing.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Core/VideoCommon/PostProcessing.cpp b/Source/Core/VideoCommon/PostProcessing.cpp index 1458e3c59f..3f7682ef96 100644 --- a/Source/Core/VideoCommon/PostProcessing.cpp +++ b/Source/Core/VideoCommon/PostProcessing.cpp @@ -524,9 +524,9 @@ void PostProcessing::BlitFromTexture(const MathUtil::Rectangle& dst, needs_resampling ? present_rect.GetHeight() : static_cast(src_rect.GetHeight()); if (!m_intermediary_frame_buffer || !m_intermediary_color_texture || - m_intermediary_color_texture.get()->GetWidth() != target_width || - m_intermediary_color_texture.get()->GetHeight() != target_height || - m_intermediary_color_texture.get()->GetLayers() != target_layers) + m_intermediary_color_texture->GetWidth() != target_width || + m_intermediary_color_texture->GetHeight() != target_height || + m_intermediary_color_texture->GetLayers() != target_layers) { const TextureConfig intermediary_color_texture_config( target_width, target_height, 1, target_layers, src_tex->GetSamples(), From 5aeadb1ef8cd27fc5b5071aac20aa7480c0eb7c0 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 23 Jan 2024 13:29:26 -0500 Subject: [PATCH 2/2] PostProcessing: Don't potentially leak memory in BlitFromTexture() All release() does is relinquish the pointer, rather than free the memory associated with it. --- Source/Core/VideoCommon/PostProcessing.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Core/VideoCommon/PostProcessing.cpp b/Source/Core/VideoCommon/PostProcessing.cpp index 3f7682ef96..7b66269ec7 100644 --- a/Source/Core/VideoCommon/PostProcessing.cpp +++ b/Source/Core/VideoCommon/PostProcessing.cpp @@ -580,8 +580,8 @@ void PostProcessing::BlitFromTexture(const MathUtil::Rectangle& dst, default_uniform_staging_buffer = false; } - m_intermediary_frame_buffer.release(); - m_intermediary_color_texture.release(); + m_intermediary_frame_buffer.reset(); + m_intermediary_color_texture.reset(); } // TODO: ideally we'd do the user selected post process pass in the intermediary buffer in linear