SplitterContext.cs 708 B

12345678910111213141516171819202122232425
  1. using Ryujinx.Common;
  2. namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
  3. {
  4. class SplitterContext
  5. {
  6. public static long CalcWorkBufferSize(BehaviorInfo behaviorInfo, AudioRendererParameter parameters)
  7. {
  8. if (!behaviorInfo.IsSplitterSupported())
  9. {
  10. return 0;
  11. }
  12. long size = parameters.SplitterDestinationDataCount * 0xE0 +
  13. parameters.SplitterCount * 0x20;
  14. if (!behaviorInfo.IsSplitterBugFixed())
  15. {
  16. size += BitUtils.AlignUp(4 * parameters.SplitterDestinationDataCount, 16);
  17. }
  18. return size;
  19. }
  20. }
  21. }