| 12345678910111213141516171819202122232425 |
- using Ryujinx.Graphics.GAL.Multithreading.Model;
- using Ryujinx.Graphics.GAL.Multithreading.Resources;
- namespace Ryujinx.Graphics.GAL.Multithreading.Commands
- {
- struct SetProgramCommand : IGALCommand
- {
- public CommandType CommandType => CommandType.SetProgram;
- private TableRef<IProgram> _program;
- public void Set(TableRef<IProgram> program)
- {
- _program = program;
- }
- public static void Run(ref SetProgramCommand command, ThreadedRenderer threaded, IRenderer renderer)
- {
- ThreadedProgram program = command._program.GetAs<ThreadedProgram>(threaded);
- threaded.Programs.WaitForProgram(program);
- renderer.Pipeline.SetProgram(program.Base);
- }
- }
- }
|