Fix an issue where texture arrays would get the same bindings across stages on Vulkan
This commit is contained in:
parent
4cea2e8c79
commit
5961486346
1 changed files with 2 additions and 8 deletions
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue