diff options
-rw-r--r-- | Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs | 11 | ||||
-rw-r--r-- | Ryujinx.Graphics.Gpu/Image/TextureManager.cs | 5 |
2 files changed, 14 insertions, 2 deletions
diff --git a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs index 79effedf..1989131e 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs @@ -1,13 +1,14 @@ using Ryujinx.Graphics.GAL; using Ryujinx.Graphics.Gpu.State; using Ryujinx.Graphics.Shader; +using System; namespace Ryujinx.Graphics.Gpu.Image { /// <summary> /// Texture bindings manager. /// </summary> - class TextureBindingsManager + class TextureBindingsManager : IDisposable { private const int HandleHigh = 16; private const int HandleMask = (1 << HandleHigh) - 1; @@ -505,5 +506,13 @@ namespace Ryujinx.Graphics.Gpu.Image { _rebind = true; } + + /// <summary> + /// Disposes all textures and samplers in the cache. + /// </summary> + public void Dispose() + { + _samplerPool?.Dispose(); + } } }
\ No newline at end of file diff --git a/Ryujinx.Graphics.Gpu/Image/TextureManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureManager.cs index 94939ae4..989dca7a 100644 --- a/Ryujinx.Graphics.Gpu/Image/TextureManager.cs +++ b/Ryujinx.Graphics.Gpu/Image/TextureManager.cs @@ -1286,7 +1286,7 @@ namespace Ryujinx.Graphics.Gpu.Image } /// <summary> - /// Disposes all textures in the cache. + /// Disposes all textures and samplers in the cache. /// It's an error to use the texture manager after disposal. /// </summary> public void Dispose() @@ -1297,6 +1297,9 @@ namespace Ryujinx.Graphics.Gpu.Image { texture.Dispose(); } + + _cpBindingsManager.Dispose(); + _gpBindingsManager.Dispose(); } } } |