MethodUniformBufferUpdate.cs 749 B

123456789101112131415161718192021222324
  1. using Ryujinx.Graphics.Gpu.Memory;
  2. using Ryujinx.Graphics.Gpu.State;
  3. namespace Ryujinx.Graphics.Gpu.Engine
  4. {
  5. partial class Methods
  6. {
  7. private void UniformBufferUpdate(GpuState state, int argument)
  8. {
  9. var uniformBuffer = state.Get<UniformBufferState>(MethodOffset.UniformBufferState);
  10. if (_context.MemoryManager.Translate(uniformBuffer.Address.Pack() + (uint)uniformBuffer.Offset) == MemoryManager.BadAddress)
  11. {
  12. return;
  13. }
  14. _context.MemoryAccessor.Write(uniformBuffer.Address.Pack() + (uint)uniformBuffer.Offset, argument);
  15. state.SetUniformBufferOffset(uniformBuffer.Offset + 4);
  16. _context.AdvanceSequence();
  17. }
  18. }
  19. }