DispatchComputeCommand.cs 736 B

12345678910111213141516171819202122
  1. namespace Ryujinx.Graphics.GAL.Multithreading.Commands
  2. {
  3. struct DispatchComputeCommand : IGALCommand, IGALCommand<DispatchComputeCommand>
  4. {
  5. public CommandType CommandType => CommandType.DispatchCompute;
  6. private int _groupsX;
  7. private int _groupsY;
  8. private int _groupsZ;
  9. public void Set(int groupsX, int groupsY, int groupsZ)
  10. {
  11. _groupsX = groupsX;
  12. _groupsY = groupsY;
  13. _groupsZ = groupsZ;
  14. }
  15. public static void Run(ref DispatchComputeCommand command, ThreadedRenderer threaded, IRenderer renderer)
  16. {
  17. renderer.Pipeline.DispatchCompute(command._groupsX, command._groupsY, command._groupsZ);
  18. }
  19. }
  20. }