diff options
author | gdkchan <gab.dark.100@gmail.com> | 2021-06-23 20:51:41 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-24 01:51:41 +0200 |
commit | a10b2c5ff26886e9ffc6f19e3f0fe9505a503b2f (patch) | |
tree | 006d013c300fb56c94c5563c2c1409a189f794b2 /Ryujinx.Graphics.Gpu/Image/TexturePoolCache.cs | |
parent | 12a7a2ead812d46deb9d978b6758731157be1cbc (diff) |
Initial support for GPU channels (#2372)
* Ground work for separate GPU channels
* Rename TextureManager to TextureCache
* Decouple texture bindings management from the texture cache
* Rename BufferManager to BufferCache
* Decouple buffer bindings management from the buffer cache
* More comments and proper disposal
* PR feedback
* Force host state update on channel switch
* Typo
* PR feedback
* Missing using
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Image/TexturePoolCache.cs')
-rw-r--r-- | Ryujinx.Graphics.Gpu/Image/TexturePoolCache.cs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/Ryujinx.Graphics.Gpu/Image/TexturePoolCache.cs b/Ryujinx.Graphics.Gpu/Image/TexturePoolCache.cs index 268cec38..c9eebf8b 100644 --- a/Ryujinx.Graphics.Gpu/Image/TexturePoolCache.cs +++ b/Ryujinx.Graphics.Gpu/Image/TexturePoolCache.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; namespace Ryujinx.Graphics.Gpu.Image @@ -7,7 +8,7 @@ namespace Ryujinx.Graphics.Gpu.Image /// This can keep multiple texture pools, and return the current one as needed. /// It is useful for applications that uses multiple texture pools. /// </summary> - class TexturePoolCache + class TexturePoolCache : IDisposable { private const int MaxCapacity = 4; @@ -72,5 +73,19 @@ namespace Ryujinx.Graphics.Gpu.Image return pool; } + + /// <summary> + /// Disposes the texture pool cache. + /// It's an error to use the texture pool cache after disposal. + /// </summary> + public void Dispose() + { + foreach (TexturePool pool in _pools) + { + pool.Dispose(); + } + + _pools.Clear(); + } } }
\ No newline at end of file |