ryujinx/Ryujinx.Graphics.Gpu/Engine/MethodUniformBufferUpdate.cs

24 lines
749 B
C#
Raw Normal View History

using Ryujinx.Graphics.Gpu.Memory;
2019-10-13 02:02:07 -04:00
using Ryujinx.Graphics.Gpu.State;
namespace Ryujinx.Graphics.Gpu.Engine
{
partial class Methods
{
2019-11-21 21:46:14 -05:00
private void UniformBufferUpdate(GpuState state, int argument)
2019-10-13 02:02:07 -04:00
{
2019-11-21 21:46:14 -05:00
var uniformBuffer = state.Get<UniformBufferState>(MethodOffset.UniformBufferState);
2019-10-13 02:02:07 -04:00
if (_context.MemoryManager.Translate(uniformBuffer.Address.Pack() + (uint)uniformBuffer.Offset) == MemoryManager.BadAddress)
{
return;
}
2019-10-13 02:02:07 -04:00
_context.MemoryAccessor.Write(uniformBuffer.Address.Pack() + (uint)uniformBuffer.Offset, argument);
2019-11-21 21:46:14 -05:00
state.SetUniformBufferOffset(uniformBuffer.Offset + 4);
2019-10-13 02:02:07 -04:00
_context.AdvanceSequence();
}
}
}