Update offset and loops for new compute storage buffer count

This commit is contained in:
gdkchan 2020-02-06 15:47:18 -03:00
parent 8495236b99
commit 5c6e505677
2 changed files with 5 additions and 5 deletions

View file

@ -77,7 +77,7 @@ namespace Ryujinx.Graphics.Gpu.Engine
ulong sbDescAddress = BufferManager.GetComputeUniformBufferAddress(0);
int sbDescOffset = 0x310 + sb.Slot * 0x10;
int sbDescOffset = 0x210 + sb.Slot * 0x10;
sbDescAddress += (ulong)sbDescOffset;

View file

@ -393,7 +393,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
{
uint enableMask = _cpStorageBuffers.EnableMask;
for (int index = 0; (enableMask >> index) != 0; index++)
for (int index = 0; (enableMask >> index) != 0 && index < 32; index++)
{
if ((enableMask & (1u << index)) == 0)
{
@ -414,7 +414,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
enableMask = _cpUniformBuffers.EnableMask;
for (int index = 0; (enableMask >> index) != 0; index++)
for (int index = 0; (enableMask >> index) != 0 && index < 32; index++)
{
if ((enableMask & (1u << index)) == 0)
{
@ -467,7 +467,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
VertexBufferDescriptor[] vertexBuffers = new VertexBufferDescriptor[Constants.TotalVertexBuffers];
for (int index = 0; (vbEnableMask >> index) != 0; index++)
for (int index = 0; (vbEnableMask >> index) != 0 && index < 32; index++)
{
VertexBuffer vb = _vertexBuffers[index];
@ -485,7 +485,7 @@ namespace Ryujinx.Graphics.Gpu.Memory
}
else
{
for (int index = 0; (vbEnableMask >> index) != 0; index++)
for (int index = 0; (vbEnableMask >> index) != 0 && index < 32; index++)
{
VertexBuffer vb = _vertexBuffers[index];