From 0f635cff427131e9102f4b57e9ae01fe8ca27ead Mon Sep 17 00:00:00 2001 From: DUK1DUKE <45359211+MarvinOtt@users.noreply.github.com> Date: Wed, 19 Mar 2025 20:51:28 +0100 Subject: [PATCH] Fixes memory leak for BufferResource --- .../Platform/Graphics/BufferResource.DirectX.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/MonoGame.Framework/Platform/Graphics/BufferResource.DirectX.cs b/MonoGame.Framework/Platform/Graphics/BufferResource.DirectX.cs index b6f578ef200..6fa7b87cc95 100644 --- a/MonoGame.Framework/Platform/Graphics/BufferResource.DirectX.cs +++ b/MonoGame.Framework/Platform/Graphics/BufferResource.DirectX.cs @@ -7,7 +7,7 @@ namespace Microsoft.Xna.Framework.Graphics { - public partial class BufferResource + public partial class BufferResource : ShaderResource { private SharpDX.Direct3D11.Buffer _buffer; private SharpDX.Direct3D11.Buffer _cachedStagingBuffer; @@ -95,6 +95,9 @@ private void PlatformConstruct() private void PlatformGraphicsDeviceResetting() { SharpDX.Utilities.Dispose(ref _buffer); + SharpDX.Utilities.Dispose(ref _resourceView); + SharpDX.Utilities.Dispose(ref _unorderedAccessView); + SharpDX.Utilities.Dispose(ref _cachedStagingBuffer); } void GenerateIfRequired() @@ -296,6 +299,8 @@ protected override void Dispose(bool disposing) if (disposing) { SharpDX.Utilities.Dispose(ref _buffer); + SharpDX.Utilities.Dispose(ref _resourceView); + SharpDX.Utilities.Dispose(ref _unorderedAccessView); SharpDX.Utilities.Dispose(ref _cachedStagingBuffer); }