ryujinx/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/CommandGenerator.cs
Ac_K f17b772c56 audren: Fix AudioRenderer implementation (#773)
* Fix AudioRenderer implementation

According to RE:
- `GetAudioRendererWorkBufferSize` is updated and improved to support `REV7`
- `RequestUpdateAudioRenderer` is updated to `REV7` too

Should improve results on recent game and close #718 and #707

* Fix NodeStates.GetWorkBufferSize

* Use BitUtils instead of IntUtils

* Nits
2019-09-20 01:49:05 +02:00

16 lines
748 B
C#

namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
{
static class CommandGenerator
{
public static long CalculateCommandBufferSize(AudioRendererParameter parameters)
{
return parameters.EffectCount * 0x840 +
parameters.SubMixCount * 0x5A38 +
parameters.SinkCount * 0x148 +
parameters.SplitterDestinationDataCount * 0x540 +
(parameters.SplitterCount * 0x68 + 0x2E0) * parameters.VoiceCount +
((parameters.VoiceCount + parameters.SubMixCount + parameters.EffectCount + parameters.SinkCount + 0x65) << 6) +
0x3F8;
}
}
}