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