ProgramGetBinaryCommand.cs 862 B

12345678910111213141516171819202122232425
  1. using Ryujinx.Graphics.GAL.Multithreading.Model;
  2. using Ryujinx.Graphics.GAL.Multithreading.Resources;
  3. namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Program
  4. {
  5. struct ProgramGetBinaryCommand : IGALCommand
  6. {
  7. public CommandType CommandType => CommandType.ProgramGetBinary;
  8. private TableRef<ThreadedProgram> _program;
  9. private TableRef<ResultBox<byte[]>> _result;
  10. public void Set(TableRef<ThreadedProgram> program, TableRef<ResultBox<byte[]>> result)
  11. {
  12. _program = program;
  13. _result = result;
  14. }
  15. public static void Run(ref ProgramGetBinaryCommand command, ThreadedRenderer threaded, IRenderer renderer)
  16. {
  17. byte[] result = command._program.Get(threaded).Base.GetBinary();
  18. command._result.Get(threaded).Result = result;
  19. }
  20. }
  21. }