Fix an issue where texture arrays would get the same bindings across stages on Vulkan

This commit is contained in:
Gabriel A 2024-03-25 18:29:36 -03:00
commit 5961486346

View file

@ -23,9 +23,6 @@ namespace Ryujinx.Graphics.Gpu.Shader
private int _staticTexturesCount; private int _staticTexturesCount;
private int _staticImagesCount; private int _staticImagesCount;
private int _dynamicTexturesCount;
private int _dynamicImagesCount;
/// <summary> /// <summary>
/// Creates a new GPU accessor. /// Creates a new GPU accessor.
/// </summary> /// </summary>
@ -37,9 +34,6 @@ namespace Ryujinx.Graphics.Gpu.Shader
_context = context; _context = context;
_resourceCounts = resourceCounts; _resourceCounts = resourceCounts;
_stageIndex = stageIndex; _stageIndex = stageIndex;
_dynamicTexturesCount = (int)GetDynamicBaseIndexDual(context.Capabilities.MaximumTexturesPerStage);
_dynamicImagesCount = (int)GetDynamicBaseIndexDual(context.Capabilities.MaximumImagesPerStage);
} }
/// <summary> /// <summary>
@ -92,7 +86,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
} }
else else
{ {
binding = _dynamicImagesCount++; binding = (int)GetDynamicBaseIndexDual(_context.Capabilities.MaximumImagesPerStage) + _resourceCounts.ImagesCount++;
} }
} }
else else
@ -140,7 +134,7 @@ namespace Ryujinx.Graphics.Gpu.Shader
} }
else else
{ {
binding = _dynamicTexturesCount++; binding = (int)GetDynamicBaseIndexDual(_context.Capabilities.MaximumTexturesPerStage) + _resourceCounts.TexturesCount++;
} }
} }
else else