Merge pull request #12519 from lioncash/leak

PostProcessing: Don't potentially leak memory in BlitFromTexture()
This commit is contained in:
JosJuice 2024-01-27 22:29:45 +01:00 committed by GitHub
commit 990303a028
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -524,9 +524,9 @@ void PostProcessing::BlitFromTexture(const MathUtil::Rectangle<int>& dst,
needs_resampling ? present_rect.GetHeight() : static_cast<u32>(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(),
@ -580,8 +580,8 @@ void PostProcessing::BlitFromTexture(const MathUtil::Rectangle<int>& 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