forked from Mirror/Ryujinx
Share texture pool cache between graphics and compute
This commit is contained in:
parent
2437ccca0e
commit
79de8fd490
2 changed files with 8 additions and 7 deletions
|
@ -33,13 +33,12 @@ namespace Ryujinx.Graphics.Gpu.Image
|
||||||
|
|
||||||
private bool _rebind;
|
private bool _rebind;
|
||||||
|
|
||||||
public TextureBindingsManager(GpuContext context, bool isCompute)
|
public TextureBindingsManager(GpuContext context, TexturePoolCache texturePoolCache, bool isCompute)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
|
_texturePoolCache = texturePoolCache;
|
||||||
_isCompute = isCompute;
|
_isCompute = isCompute;
|
||||||
|
|
||||||
_texturePoolCache = new TexturePoolCache(context);
|
|
||||||
|
|
||||||
int stages = isCompute ? 1 : Constants.TotalShaderStages;
|
int stages = isCompute ? 1 : Constants.TotalShaderStages;
|
||||||
|
|
||||||
_textureBindings = new TextureBindingInfo[stages][];
|
_textureBindings = new TextureBindingInfo[stages][];
|
||||||
|
|
|
@ -30,8 +30,10 @@ namespace Ryujinx.Graphics.Gpu.Image
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
|
|
||||||
_cpBindingsManager = new TextureBindingsManager(context, isCompute: true);
|
TexturePoolCache texturePoolCache = new TexturePoolCache(context);
|
||||||
_gpBindingsManager = new TextureBindingsManager(context, isCompute: false);
|
|
||||||
|
_cpBindingsManager = new TextureBindingsManager(context, texturePoolCache, isCompute: true);
|
||||||
|
_gpBindingsManager = new TextureBindingsManager(context, texturePoolCache, isCompute: false);
|
||||||
|
|
||||||
_rtColors = new Texture[Constants.TotalRenderTargets];
|
_rtColors = new Texture[Constants.TotalRenderTargets];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue