aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgdk <gab.dark.100@gmail.com>2019-11-22 14:17:06 -0300
committerThog <thog@protonmail.com>2020-01-09 02:13:00 +0100
commit79de8fd4904ec19318baceb999a7d1a84f686794 (patch)
tree43ddaec0ae37aeadc7c33f6eaac856f07cfe44b9
parent2437ccca0e82b8b2a99d8632acf28ca0cc14c523 (diff)
Share texture pool cache between graphics and compute
-rw-r--r--Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs9
-rw-r--r--Ryujinx.Graphics.Gpu/Image/TextureManager.cs6
2 files changed, 8 insertions, 7 deletions
diff --git a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs
index 2d0e828e..74d7a76a 100644
--- a/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs
+++ b/Ryujinx.Graphics.Gpu/Image/TextureBindingsManager.cs
@@ -33,12 +33,11 @@ namespace Ryujinx.Graphics.Gpu.Image
private bool _rebind;
- public TextureBindingsManager(GpuContext context, bool isCompute)
+ public TextureBindingsManager(GpuContext context, TexturePoolCache texturePoolCache, bool isCompute)
{
- _context = context;
- _isCompute = isCompute;
-
- _texturePoolCache = new TexturePoolCache(context);
+ _context = context;
+ _texturePoolCache = texturePoolCache;
+ _isCompute = isCompute;
int stages = isCompute ? 1 : Constants.TotalShaderStages;
diff --git a/Ryujinx.Graphics.Gpu/Image/TextureManager.cs b/Ryujinx.Graphics.Gpu/Image/TextureManager.cs
index d4c161bd..045c2ed9 100644
--- a/Ryujinx.Graphics.Gpu/Image/TextureManager.cs
+++ b/Ryujinx.Graphics.Gpu/Image/TextureManager.cs
@@ -30,8 +30,10 @@ namespace Ryujinx.Graphics.Gpu.Image
{
_context = context;
- _cpBindingsManager = new TextureBindingsManager(context, isCompute: true);
- _gpBindingsManager = new TextureBindingsManager(context, isCompute: false);
+ TexturePoolCache texturePoolCache = new TexturePoolCache(context);
+
+ _cpBindingsManager = new TextureBindingsManager(context, texturePoolCache, isCompute: true);
+ _gpBindingsManager = new TextureBindingsManager(context, texturePoolCache, isCompute: false);
_rtColors = new Texture[Constants.TotalRenderTargets];